Online minimization of transition systems (extended abstract)
STOC '92 Proceedings of the twenty-fourth annual ACM symposium on Theory of computing
Quickly detecting relevant program invariants
Proceedings of the 22nd international conference on Software engineering
Using predicate abstraction to reduce object-oriented programs for model checking
FMSP '00 Proceedings of the third workshop on Formal methods in software practice
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Generating finite state machines from abstract state machines
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Automated Software Engineering
Abstraction-Based Model Checking Using Modal Transition Systems
CONCUR '01 Proceedings of the 12th International Conference on Concurrency Theory
Incompleteness, Counterexamples, and Refinements in Abstract Model-Checking
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Syntactic Program Transformations for Automatic Abstraction
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Boolean and Cartesian Abstraction for Model Checking C Programs
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Precise and efficient static array bound checking for large embedded C programs
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Modular Verification of Software Components in C
IEEE Transactions on Software Engineering
Three-Valued Abstractions of Games: Uncertainty, but with Precision
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
The Existence of Finite Abstractions for Branching Time Model Checking
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
Rostra: A Framework for Detecting Redundant Object-Oriented Unit Tests
Proceedings of the 19th IEEE international conference on Automated software engineering
Proof-guided underapproximation-widening for multi-process systems
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CMC: a pragmatic approach to model checking real code
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
Software Model Checking: The VeriSoft Approach
Formal Methods in System Design
Test input generation for java containers using state matching
Proceedings of the 2006 international symposium on Software testing and analysis
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
On-line anomaly detection of deployed software: a statistical machine learning approach
Proceedings of the 3rd international workshop on Software quality assurance
Formal Software Analysis Emerging Trends in Software Model Checking
FOSE '07 2007 Future of Software Engineering
Refinement preserving approximations for the design and verification of heterogeneous systems
Formal Methods in System Design
Approximating Behaviors in Embedded System Design
Concurrency, Graphs and Models
Model Checking Abstract Components within Concrete Software Environments
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
3-Valued abstraction: More precision at less cost
Information and Computation
Bug hunting with false negatives
IFM'07 Proceedings of the 6th international conference on Integrated formal methods
Dual analysis for proving safety and finding bugs
Proceedings of the 2010 ACM Symposium on Applied Computing
Combining static analysis and test generation for C program debugging
TAP'10 Proceedings of the 4th international conference on Tests and proofs
YASM: a software model-checker for verification and refutation
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Abstract analysis of symbolic executions
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Online testing with reinforcement learning
FATES'06/RV'06 Proceedings of the First combined international conference on Formal Approaches to Software Testing and Runtime Verification
Software model checking: searching for computations in the abstract or the concrete
IFM'05 Proceedings of the 5th international conference on Integrated Formal Methods
Symbolic execution with abstract subsumption checking
SPIN'06 Proceedings of the 13th international conference on Model Checking Software
Abstract matching for software model checking
SPIN'06 Proceedings of the 13th international conference on Model Checking Software
Program slicing enhances a verification technique combining static and dynamic analysis
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Under-approximations of computations in real numbers based on generalized affine arithmetic
SAS'07 Proceedings of the 14th international conference on Static Analysis
Behind the scenes in SANTE: a combination of static and dynamic analyses
Automated Software Engineering
Hi-index | 0.00 |
We propose an abstraction-based model checking method which relies on refinement of an under-approximation of the feasible behaviors of the system under analysis. The method preserves errors to safety properties, since all analyzed behaviors are feasible by definition. The method does not require an abstract transition relation to be generated, but instead executes the concrete transitions while storing abstract versions of the concrete states, as specified by a set of abstraction predicates. For each explored transition the method checks, with the help of a theorem prover, whether there is any loss of precision introduced by abstraction. The results of these checks are used to decide termination or to refine the abstraction by generating new abstraction predicates. If the (possibly infinite) concrete system under analysis has a finite bisimulation quotient, then the method is guaranteed to eventually explore an equivalent finite bisimilar structure. We illustrate the application of the approach for checking concurrent programs. We also show how a lightweight variant can be used for efficient software testing.