Systematic software development using VDM
Systematic software development using VDM
Object-oriented systems analysis: modeling the world in data
Object-oriented systems analysis: modeling the world in data
Reachability analysis of Petri nets using symmetries
Systems Analysis Modelling Simulation
The Z notation: a reference manual
The Z notation: a reference manual
Object-oriented modeling and design
Object-oriented modeling and design
Symbolic Boolean manipulation with ordered binary-decision diagrams
ACM Computing Surveys (CSUR)
Model checking and abstraction
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Software development: two approaches to animation of Z specifications using Prolog
Software Engineering Journal
Relations and graphs: discrete mathematics for computer scientists
Relations and graphs: discrete mathematics for computer scientists
Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS
IEEE Transactions on Software Engineering
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector
IEEE Transactions on Software Engineering - Special issue: best papers of the 1996 international symposium on software testing and analysis ISSTA'96
Better verification through symmetry
Formal Methods in System Design - Special issue on symmetry in automatic verification
Exploiting symmetry in temporal logic model checking
Formal Methods in System Design - Special issue on symmetry in automatic verification
Formal Methods in System Design - Special issue on symmetry in automatic verification
Faster checking of software specifications by eliminating isomorphs
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Checking relational specifications with binary decision diagrams
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)
The way of Z: practical programming with formal methods
The way of Z: practical programming with formal methods
The entity-relationship model—toward a unified view of data
ACM Transactions on Database Systems (TODS) - Special issue: papers from the international conference on very large data bases: September 22–24, 1975, Framingham, MA
Efficient Search as a Means of Executing Specifications
TACAs '96 Proceedings of the Second International Workshop on Tools and Algorithms for Construction and Analysis of Systems
Z--, an Executable Subset of Z
Proceedings of the Z User Workshop
Abstract Model Checking of Infinite Specifications
FME '94 Proceedings of the Second International Symposium of Formal Methods Europe on Industrial Benefit of Formal Methods
An Executable Subset of Meta-IV with Loose Specification
VDM '91 Proceedings of the 4th International Symposium of VDM Europe on Formal Software Development-Volume I: Conference Contributions - Volume I
Property Preserving Simulations
CAV '92 Proceedings of the Fourth International Workshop on Computer Aided Verification
Exploiting Symmetry In Temporal Logic Model Checking
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
Better Verification Through Symmetry
CHDL '93 Proceedings of the 11th IFIP WG10.2 International Conference sponsored by IFIP WG10.2 and in cooperation with IEEE COMPSOC on Computer Hardware Description Languages and their Applications
Theoretical Study of Symmetries in Propositional Calculus and Applications
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
FINDER: Finite Domain Enumerator - System Description
CADE-12 Proceedings of the 12th International Conference on Automated Deduction
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
Computer-aided investigations of relation algebras
Computer-aided investigations of relation algebras
An intermediate design language and its analysis
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Automating first-order relational logic
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Verifying security protocols with Brutus
ACM Transactions on Software Engineering and Methodology (TOSEM)
Alloy: a lightweight object modelling notation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Faster constraint solving with subtypes
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Verification and change-impact analysis of access-control policies
Proceedings of the 27th international conference on Software engineering
Symmetry in temporal logic model checking
ACM Computing Surveys (CSUR)
Generating effective symmetry-breaking predicates for search problems
Discrete Applied Mathematics
Kodkod: a relational model finder
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Efficient approximate verification of B and Z models via symmetry markers
Annals of Mathematics and Artificial Intelligence
A powerful technique to eliminate isomorphism in finite model search
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
A program verification system based on oz
MOZ'04 Proceedings of the Second international conference on Multiparadigm Programming in Mozart/Oz
Monotonicity analysis can speed up verification
RelMiCS'06/AKA'06 Proceedings of the 9th international conference on Relational Methods in Computer Science, and 4th international conference on Applications of Kleene Algebra
Hi-index | 0.00 |
Software specifications often involve data structures with huge numbers of value, and consequently they cannot be checked using standard state exploration or model-checking techniques. Data structures can be expressed with binary relations, and operations over such structures can be expressed as formulae involving relational variables. Checking properties such as preservation of an invariant thus reduces to determining the validity of a formula or, equivalently, finding a model (of the formula's negation). A new method for finding relational models is presented. It exploits the permutation invariance of models—if two interpretations are isomorphic, then neither is a model, or both are—by partitioning the space into equivalence classes of symmetrical interpretations. Representatives of these classes are constructed incrementally by using the symmetry of the partial interpretation to limit the enumeration of new relation values. The notion of symmetry depends on the type structure of the formula; by picking the weakest typing, larger equivalence classes (and thus fewer representatives) are obtained. A more refined notion of symmetry that exploits the meaning of the relational operators is also described. The method typically leads to exponential reductions; in combination with other, simpler, reductions it makes automatic analysis of relational specifications possible for the first time.