Communications of the ACM
Automatic predicate abstraction of C programs
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Automatically validating temporal safety properties of interfaces
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Discipline of Programming
CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Counterexample-Guided Abstraction Refinement
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Syntactic Program Transformations for Automatic Abstraction
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
KISS: keep it simple and sequential
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
DART: directed automated random testing
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Model checking, testing and verification working together
Formal Aspects of Computing
CUTE: a concolic unit testing engine for C
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Termination proofs for systems code
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Testing, abstraction, theorem proving: better together!
Proceedings of the 2006 international symposium on Software testing and analysis
SYNERGY: a new algorithm for property checking
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Compositional dynamic test generation
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Boogie: a modular reusable verifier for object-oriented programs
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
Software model checking: searching for computations in the abstract or the concrete
IFM'05 Proceedings of the 5th international conference on Integrated Formal Methods
VSTTE '08 Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments
ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
The Yogi Project: Software Property Checking via Static Analysis and Testing
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Snugglebug: a powerful approach to weakest preconditions
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Symbolic Analysis via Semantic Reinterpretation
Proceedings of the 16th International SPIN Workshop on Model Checking Software
Verification, Testing and Statistics
TAP '09 Proceedings of the 3rd International Conference on Tests and Proofs
Automated deduction for verification
ACM Computing Surveys (CSUR)
ACM Computing Surveys (CSUR)
Detecting precise behavioral models
Proceedings of the doctoral symposium for ESEC/FSE on Doctoral symposium
Verification, Testing and Statistics
ICTAC '09 Proceedings of the 6th International Colloquium on Theoretical Aspects of Computing
Verification, Testing and Statistics
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Compositional may-must program analysis: unleashing the power of alternation
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Test generation through programming in UDITA
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
An empirical study of optimizations in YOGI
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Structural coverage of feasible code
Proceedings of the 5th Workshop on Automation of Software Test
SAS'10 Proceedings of the 17th international conference on Static analysis
Future of developer testing: building quality in code
Proceedings of the FSE/SDP workshop on Future of software engineering research
SLAM2: static driver verification with under 4% false alarms
Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
Automatic structural testing with abstraction refinement and coarsening
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Shape refinement through explicit heap analysis
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
There's plenty of room at the bottom: analyzing and verifying machine code
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Directed proof generation for machine code
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Trace-Based symbolic analysis for atomicity violations
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
On the integration of software testing and formal analysis
Empirical Software Engineering and Verification
Alternating control flow reconstruction
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Program slicing enhances a verification technique combining static and dynamic analysis
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Parallelizing top-down interprocedural analyses
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Numeric bounds analysis with conflict-driven learning
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
From under-approximations to over-approximations and back
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Towards an open framework for c verification tools benchmarking
PSI'11 Proceedings of the 8th international conference on Perspectives of System Informatics
Unbounded symbolic execution for program verification
RV'11 Proceedings of the Second international conference on Runtime verification
Software model checking via IC3
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
A lesson on structural testing with pathcrawler-online.com
TAP'12 Proceedings of the 6th international conference on Tests and Proofs
Using linux device drivers for static verification tools benchmarking
Programming and Computing Software
Satisfiability solvers are static analysers
SAS'12 Proceedings of the 19th international conference on Static Analysis
TSL: A System for Generating Abstract Interpreters and its Application to Machine-Code Analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Counterexample-Guided precondition inference
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Thresher: precise refutations for heap reachability
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Partition-based regression verification
Proceedings of the 2013 International Conference on Software Engineering
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Behind the scenes in SANTE: a combination of static and dynamic analyses
Automated Software Engineering
Hi-index | 0.00 |
We present an algorithm DASH to check if a program P satisfies a safety property phi. The unique feature of the algorithm is that it uses only test generation operations, and it refines and maintains a sound program abstraction as a consequence of failed test generation operations. Thus, each iteration of the algorithm is inexpensive, and can be implemented without any global may-alias information. In particular, we introduce a new refinement operator WP_alpha that uses only the alias information obtained by executing a test to refine abstractions in a sound manner. We present a full exposition of the Dash algorithm, its theoretical properties, and its implementation.