Theoretical Computer Science
Understanding Z: a specification language and its formal semantics
Understanding Z: a specification language and its formal semantics
Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
A logical approach to discrete math
A logical approach to discrete math
Undefined Expressions and Logic in Z and B
Formal Methods in System Design
Introduction to Algorithms
Predicate Logic for Software Engineering
IEEE Transactions on Software Engineering
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
Formal Modeling and Analysis of a Flash Filesystem in Alloy
ABZ '08 Proceedings of the 1st international conference on Abstract State Machines, B and Z
Reasoning About Partial Functions in the Formal Development of Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
A constraint solver for software engineering: finding models and cores of large relational specifications
Kodkod: a relational model finder
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Rodin: an open toolset for modelling and reasoning in Event-B
International Journal on Software Tools for Technology Transfer (STTT) - Special Section on VSTTE 2008
Dafny: an automatic program verifier for functional correctness
LPAR'10 Proceedings of the 16th international conference on Logic for programming, artificial intelligence, and reasoning
Implementing QVT-R bidirectional model transformations using alloy
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Hi-index | 0.00 |
In a bounded analysis, arithmetic operators become partial, and a different semantics becomes necessary. One approach, mimicking programming languages, is for overflow to result in wrap-around. Although easy to implement, wrap-around produces unexpected counterexamples that do not correspond to cases that would arise in the unbounded setting. This paper describes a new approach, implemented in the latest version of the Alloy Analyzer, in which instances that would involve overflow are suppressed, and consequently, spurious counterexamples are eliminated. The key idea is to interpret quantifiers so that bound variables range only over values that do not cause overflow.