Model checking and abstraction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Property preserving abstractions for the verification of concurrent systems
Formal Methods in System Design - Special issue on computer-aided verification (based on CAV'92 workshop)
Abstract interpretation of reactive systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
The Java programming language (2nd ed.)
The Java programming language (2nd ed.)
A deadlock detection tool for concurrent Java programs
Software—Practice & Experience
Proceedings of the 22nd international conference on Software engineering
22nd International Conference on Software Engineering
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Verification of time partitioning in the DEOS scheduler kernel
Proceedings of the 22nd international conference on Software engineering
Bandera: a source-level interface for model checking Java programs
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
Tool-supported program abstraction for finite-state verification
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Symbolic Model Checking
Concurrent Programming in Java. Second Edition: Design Principles and Patterns
Concurrent Programming in Java. Second Edition: Design Principles and Patterns
Abstract Interpretation of Declarative Languages
Abstract Interpretation of Declarative Languages
Modularization and Abstraction: The Keys to Practical Formal Verification
MFCS '98 Proceedings of the 23rd International Symposium on Mathematical Foundations of Computer Science
On Proving Safety Properties by Integrating Static Analysis, Theorem Proving and Abstraction
TACAS '99 Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems
A Formal Study of Slicing for Multi-threaded Programs with JVM Concurrency Primitives
SAS '99 Proceedings of the 6th International Symposium on Static Analysis
Computing Abstractions of Infinite State Systems Compositionally and Automatically
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
Counterexample-Guided Abstraction Refinement
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Model Checking Guided Abstraction and Analysis
SAS '00 Proceedings of the 7th International Symposium on Static Analysis
Model Checking Using Adaptive State and Data Abstraction
CAV '94 Proceedings of the 6th International Conference on Computer Aided Verification
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Tool-supported program abstraction for finite-state verification
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Model checking Java programs using structural heuristics
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Refinement of LTL Formulas for Abstract Model Checking
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
Foundations of the Bandera abstraction tools
The essence of computation
Efficient Verification of Sequential and Concurrent C Programs
Formal Methods in System Design
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
Verifying Time Partitioning in the DEOS Scheduling Kernel
Formal Methods in System Design
Translating Java for Multiple Model Checkers: The Bandera Back-End
Formal Methods in System Design
Object duplication for improving reliability
ASP-DAC '06 Proceedings of the 2006 Asia and South Pacific Design Automation Conference
An Automated Approach for the Interpretation of Counter-Examples
Electronic Notes in Theoretical Computer Science (ENTCS)
Towards verification and testing of Java programs
Proceedings of the 2008 ACM symposium on Applied computing
On The Evolution Of Reliability Methods For Critical Software
Journal of Integrated Design & Process Science - Applications of formal methods
Profile-guided program simplification for effective testing and analysis
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Falsifying Safety Properties Through Games on Over-approximating Models
Electronic Notes in Theoretical Computer Science (ENTCS)
Consistent Partial Model Checking
Electronic Notes in Theoretical Computer Science (ENTCS)
Bug hunting with false negatives
IFM'07 Proceedings of the 6th international conference on Integrated formal methods
Formal modeling and verification of high-availability protocol for network security appliances
ATVA'07 Proceedings of the 5th international conference on Automated technology for verification and analysis
Abstract analysis of symbolic executions
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Abstraction refinement via inductive learning
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
State/Event software verification for branching-time specifications
IFM'05 Proceedings of the 5th international conference on Integrated Formal Methods
Why waste a perfectly good abstraction?
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Automated systematic testing of open distributed programs
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Explicit-State software model checking based on CEGAR and interpolation
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Hi-index | 0.00 |
Despite recent advances in model checking and in adapting model checking techniques to software, the state explosion problem remains a major hurdle in applying model checking to software. Recent work in automated program abstraction has shown promise as a means of scaling model checking to larger systems. Most common abstraction techniques compute an upper approximation of the original program. Thus, when a specification is found true for the abstracted program, it is known to be true for the original program. Finding a specification to be false, however, is inconclusive since the specification may be violated on a behavior in the abstracted program which is not present in the original program. We have extended an explicit-state model checker, Java PathFinder (JPF), to analyze counter-examples in the presence of abstractions. We enhanced JPF to search for "feasible" (i.e. nondeterminismfree) counter-examples "on-the-fly", during model checking. Alternatively, an abstract counter-example can be used to guide the simulation of the concrete computation and thereby check feasibility of the counterexample. We demonstrate the effectiveness of these techniques on counterexamples from checks of several multi-threaded Java programs.