Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Proceedings of the Fourth Annual Symposium on Logic in computer science
Verifying temporal properties of systems
Verifying temporal properties of systems
A practical algorithm for exact array dependence analysis
Communications of the ACM
Finite transition systems: semantics of communicating systems
Finite transition systems: semantics of communicating systems
Model checking and abstraction
ACM Transactions on Programming Languages and Systems (TOPLAS)
The algorithmic analysis of hybrid systems
Theoretical Computer Science - Special issue on hybrid systems
The Omega Library interface guide
The Omega Library interface guide
Verification of arithmetic circuits with binary moment diagrams
DAC '95 Proceedings of the 32nd annual ACM/IEEE Design Automation Conference
Model checking software systems: a case study
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Compositional verification by model checking for counter-examples
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Elements of style: analyzing a software design feature with a counterexample detector
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
A logic-model semantics for SCR software requirements
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
IEEE Spectrum
Automated consistency checking of requirements specifications
ACM Transactions on Software Engineering and Methodology (TOSEM)
Model checking large software specifications
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Abstract interpretation of reactive systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Documentation for safety critical software
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Verifying systems with integer constraints and Boolean predicates: a composite approach
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic discovery of linear restraints among variables of a program
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Symbolic Model Checking
State-Based Model Checking of Event-Driven System Requirements
IEEE Transactions on Software Engineering
Automatic Symbolic Verification of Embedded Systems
IEEE Transactions on Software Engineering
Model Checking Large Software Specifications
IEEE Transactions on Software Engineering
Mona: Monadic Second-Order Logic in Practice
TACAS '95 Proceedings of the First International Workshop on Tools and Algorithms for Construction and Analysis of Systems
Mona: Decidable Arithmetic in Practice
FTRTFT '96 Proceedings of the 4th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
Reachability Verification for Hybrid Automata
HSCC '98 Proceedings of the First International Workshop on Hybrid Systems: Computation and Control
The Power of QDDs (Extended Abstract)
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Symbolic Model Checking with Rich ssertional Languages
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Delay Analysis in Synchronous Programs
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
Hardware Verification using Monadic Second-Order Logic
Proceedings of the 7th International Conference on Computer Aided Verification
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
Automatic Abstraction Techniques for Propositional µ-calculus Model Checking
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Symbolic Model Checking of Infinite State Systems Using Presburger Arithmetic
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Using Compositional Preorders in the Verification of Sliding Window Protocal
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Mona & Fido: The Logic-Automaton Connection in Practice
CSL '97 Selected Papers from the11th International Workshop on Computer Science Logic
Symbolic Protocol Verification with Queue BDDs
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
Efficient Generation of Counterexamples and Witnesses in Symbolic Model Checking
Efficient Generation of Counterexamples and Witnesses in Symbolic Model Checking
Word Level Symbolic Model Checking: A New Approach for Verifying Arithmetic Circuits
Word Level Symbolic Model Checking: A New Approach for Verifying Arithmetic Circuits
Applications of Multi-Terminal Binary Decision Diagrams
Applications of Multi-Terminal Binary Decision Diagrams
Specification, verification, and synthesis of concurrency control components
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Lightweight Reasoning about Program Correctness
Information Systems Frontiers
A Library for Composite Symbolic Representations
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Implementing a Multi-valued Symbolic Model Checker
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Verification of Vortex Workflows
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Efficient Multiple-Valued Model-Checking Using Lattice Representations
CONCUR '01 Proceedings of the 12th International Conference on Concurrency Theory
Heuristics for Efficient Manipulation of Composite Constraints
FroCoS '02 Proceedings of the 4th International Workshop on Frontiers of Combining Systems
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
Constraint-Based Verification of Client-Server Protocols
CP '01 Proceedings of the 7th International Conference on Principles and Practice of Constraint Programming
Model-Checking over Multi-valued Logics
FME '01 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods for Increasing Software Productivity
Lightweight reasoning about program correctness
CASCON '01 Proceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research
Proceedings of the 16th IEEE international conference on Automated software engineering
Bogor: an extensible and highly-modular software model checking framework
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Data structures for symbolic multi-valued model-checking
Formal Methods in System Design
Modular verification of web services using efficient symbolic encoding and summarization
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Model checking sequential software programs via mixed symbolic analysis
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Combining predicate and numeric abstraction for software model checking
Proceedings of the 2008 International Conference on Formal Methods in Computer-Aided Design
Light-Weight SMT-based Model Checking
Electronic Notes in Theoretical Computer Science (ENTCS)
Action Language verifier: an infinite-state model checker for reactive software specifications
Formal Methods in System Design
MEMOCODE'09 Proceedings of the 7th IEEE/ACM international conference on Formal Methods and Models for Codesign
Combining control and data abstraction in the verification of hybrid systems
MEMOCODE'09 Proceedings of the 7th IEEE/ACM international conference on Formal Methods and Models for Codesign
Out of order quantifier elimination for Standard Quantified Linear Programs
Journal of Symbolic Computation
Construction of efficient BDDs for bounded arithmetic constraints
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
Some Experience on the Software Engineering of Abstract Interpretation Tools
Electronic Notes in Theoretical Computer Science (ENTCS)
Combining control and data abstraction in the verification of hybrid systems
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems - Special section on the ACM IEEE international conference on formal methods and models for codesign (MEMOCODE) 2009
Efficient state space exploration: interleaving stateless and state-based model checking
Proceedings of the International Conference on Computer-Aided Design
Note: On the complexity of quantified linear systems
Theoretical Computer Science
Hi-index | 0.00 |
There has been a surge of progress in automated verification methods based on state exploration. In areas like hardware design, these technologies are rapidly augmenting key phases of testing and validation. To date, one of the most successful of these methods has been symbolic model-checking, in which large finite-state machines are encoded into compact data structures such as Binary Decision Diagrams (BDDs), and are then checked for safety and liveness properties. However, these techniques have not realized the same success on software systems. One limitation is their inability to deal with infinite-state programs, even those with a single unbounded integer. A second problem is that of finding efficient representations for various variable types. We recently proposed a model-checker for integer-based systems that uses arithmetic constraints as the underlying state representation. While this approach easily verified some subtle, infinite-state concurrency problems, it proved inefficient in its treatment of boolean and (unordered) enumerated types—which are not efficiently representable using arithmetic constraints. In this article we present a new technique that combines the strengths of both BDD and arithmetic constraint representations. Our composite model merges multiple type-specific symbolic representations in a single model-checker. A system's transitions and fixpoint computations are encoded using both BDD (for boolean and enumerated types) and arithmetic constraints (for integers) representations, where the choice depends on the variable types. Our composite model-checking strategy can be extended to other symbolic representations provided that they support operations such as intersection, union, complement, equivalence checking, and relational image computation. We also present conservative approximation techniques for composite representations to address the undecidability of model-checking on infinite-state systems. We demonstrate the effectiveness of our approach by analyzing two example software specifications which include a mixture of booleans, integers, and enumerated types. One of them is a requirements specification for the control software of a nuclear reactor's cooling system, and the other one is a protocol specification.