Evolving algebras 1993: Lipari guide
Specification and validation methods
Simplification by Cooperating Decision Procedures
ACM Transactions on Programming Languages and Systems (TOPLAS)
Symbolic Model Checking without BDDs
TACAS '99 Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems
Background, Reserve, and Gandy Machines
Proceedings of the 14th Annual Conference of the EACSL on Computer Science Logic
A rewriting approach to satisfiability procedures
Information and Computation - RTA 2001
A Decision Procedure for an Extensional Theory of Arrays
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
A schema language for coordinating construction and composition of partial behavior descriptions
Proceedings of the 2006 international workshop on Scenarios and state machines: models, algorithms, and tools
Theoretical Computer Science - Formal methods for components and objects
Can abstract state machines be useful in language theory?
Theoretical Computer Science
Applications of Hierarchical Reasoning in the Verification of Complex Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Adapting Futures: Scalability for Real-World Computing
RTSS '07 Proceedings of the 28th IEEE International Real-Time Systems Symposium
Model-Based Software Testing and Analysis with C#
Model-Based Software Testing and Analysis with C#
Model-Based Quality Assurance of Windows Protocol Documentation
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
FORTE '07 Proceedings of the 27th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Efficient E-Matching for SMT Solvers
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Protocol Modeling with Model Program Composition
FORTE '08 Proceedings of the 28th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
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
What else is decidable about integer arrays?
FOSSACS'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Foundations of software science and computational structures
Model-based testing of object-oriented reactive systems with spec explorer
Formal methods and testing
What's decidable about arrays?
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Easy parameterized verification of biphase mark and 8n1 protocols
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Bounded model checking of software using SMT solvers instead of SAT solvers
SPIN'06 Proceedings of the 13th international conference on Model Checking Software
Protocol Modeling with Model Program Composition
FORTE '08 Proceedings of the 28th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Using Satisfiability Modulo Theories to Analyze Abstract State Machines (Abstract)
ABZ '08 Proceedings of the 1st international conference on Abstract State Machines, B and Z
On Bounded Reachability of Programs with Set Comprehensions
LPAR '08 Proceedings of the 15th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning
Incremental Instance Generation in Local Reasoning
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
ICTAC '09 Proceedings of the 6th International Colloquium on Theoretical Aspects of Computing
Service Oriented Computing and Applications
Symbolic bounded conformance checking of model programs
PSI'09 Proceedings of the 7th international Andrei Ershov Memorial conference on Perspectives of Systems Informatics
Hi-index | 0.00 |
Model programs represent transition systems that are used to specify expected behavior of systems at a high level of abstraction. The main application area is application-level network protocols or protocol-like aspects of software systems. Model programs typically use abstract data types such as sets and maps, and comprehensions to express complex state updates. Such models are mainly used in model-based testing as inputs for test case generation and as oracles during conformance testing. Correctness assumptions about the model itself are usually expressed through state invariants. An important problem is to validate the model prior to its use in the above-mentioned contexts. We introduce a technique of using Satisfiability Modulo Theories or SMT to perform bounded reachability analysis of a fragment of model programs. We use the Z3 solver for our implementation and benchmarks, and we use AsmL as the modeling language. The translation from a model program into a verification condition of Z3 is incremental and involves selective quantifier instantiation of quantifiers that result from the comprehension expressions.