Preventing Arithmetic Overflows in Alloy
Name
Jackson_Preventing arithmetic.pdf
Size
471.58 KB
Format
Adobe PDF
Checksum (MD5)
fe5d9842457212254f4fce324ef8c59a
Author(s) •
Milicevic, Aleksandar
Jackson, Daniel
Date Issued
June 2012
Journal
Abstract State Machines, Alloy, B, VDM, and Z
Publisher
Springer-Verlag
Citation
Milicevic, Aleksandar, and Daniel Jackson. “Preventing Arithmetic Overflows in Alloy.” Lecture Notes in Computer Science (2012): 108–121.
Version
Author's final manuscript
Abstract
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.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1007/978-3-642-30885-7_8