Systematic software development using VDM
Systematic software development using VDM
Understanding Z: a specification language and its formal semantics
Understanding Z: a specification language and its formal semantics
Larch: languages and tools for formal specification
Larch: languages and tools for formal specification
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Subtypes for Specifications: Predicate Subtyping in PVS
IEEE Transactions on Software Engineering
On Using Conditional Definitions in Formal Theories
ZB '02 Proceedings of the 2nd International Conference of B and Z Users on Formal Specification and Development in Z and B
B '98 Proceedings of the Second International B Conference on Recent Advances in the Development and Use of the B Method
CADE-12 Proceedings of the 12th International Conference on Automated Deduction
Preliminary design of JML: a behavioral interface specification language for java
ACM SIGSOFT Software Engineering Notes
A Sound Assertion Semantics for the Dependable Systems Evolution Verifying Compiler
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Are the Logical Foundations of Verifying Compiler Prototypes Matching user Expectations?
Formal Aspects of Computing
Checking Well-Formedness of Pure-Method Specifications
FM '08 Proceedings of the 15th international symposium on Formal Methods
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
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
ESC/Java2: uniting ESC/Java and JML
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
A Practical Approach to Partiality --- A Proof Based Approach
ICFEM '08 Proceedings of the 10th International Conference on Formal Methods and Software Engineering
Term rewriting in logics of partial functions
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
Classical Logic with Partial Functions
Journal of Automated Reasoning
Classical logic with partial functions
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
A semantic analysis of logics that cope with partial terms
ABZ'12 Proceedings of the Third international conference on Abstract State Machines, Alloy, B, VDM, and Z
Hi-index | 0.00 |
Formal specifications often contain partial functions that may lead to ill-defined terms. A common technique to eliminate ill-defined terms is to require well-definedness conditions to be proven. The main advantage of this technique is that it allows us to reason in a two-valued logic even if the underlying specification language has a three-valued semantics. Current approaches generate well-definedness conditions that grow exponentially with respect to the input formula. As a result, many tools prove shorter, but stronger approximations of these well-definedness conditions instead.We present a procedure which generates well-definedness conditions that grow linearly with respect to the input formula. The procedure has been implemented in the Spec# verification tool. We also present empirical results that demonstrate the improvements made.