ACM Home Page
Please provide us with feedback. Feedback
Faster constraint solving with subtypes
Full text PdfPdf (354 KB)
Source International Symposium on Software Testing and Analysis archive
Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis table of contents
Boston, Massachusetts, USA
SESSION: Program analysis III table of contents
Pages: 232 - 242  
Year of Publication: 2004
ISBN:1-58113-820-2
Also published in ...
Authors
Jonathan Edwards  MIT, Cambridge, MA
Daniel Jackson  MIT, Cambridge, MA
Emina Torlak  MIT, Cambridge, MA
Vincent Yeung  MIT, Cambridge, MA
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 0,   Downloads (12 Months): 24,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1007512.1007544
What is a DOI?

ABSTRACT

Constraints in predicate or relational logic can be translated into boolean logic and solved with a SAT solver. For faster solving, it is common to exploit the typing of predicates or relations, in order to reduce the number of boolean variables needed to encode the constraint. Here we show how to extend this idea to constraints expressed in a language with subtyping. Our technique, called atomization, refactors the type hierarchy into a flat collection of disjoint atomic types. The constraints are then decomposed into equivalent constraints involving smaller relations or predicates over these new types, which can then be solved in the normal fashion. Experiments with an implementation of this technique within the Alloy Analyzer show improved performance on practical software checking problems.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
T. Andrews, S. Qadeer, S. K. Rajamani, J. Rehof, and Y. Xie. Zing: A Model Checker for Concurrent Software. Microsoft Research Technical Report MSR-TR-2004-10. January, 2004.
 
2
 
3
 
4
 
5
A. Cimatti, E. Clarke, F. Giunchiglia, and M. Roveri. NuSMV: a new symbolic model checker. International Journal on Software Tools for Technology Transfer, 2000.
 
6
Jonathan Edwards, Daniel Jackson, and Emina Torlak. A Type System for Object Models. Submitted for publication. http://sdg.lcs.mit.edu/pubs/TR/typesforobjectmodels.pdf
7
 
8
Michael Ernst, Todd Millstein and Daniel Weld. Automatic SAT compilation of planning problems. Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), 1997.
 
9
 
10
Paul Halmos. Problems for Mathematicians, Young and Old. The Mathematical Association of America, 1991.
 
11
Gerard J. Holzmann. The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley Professional, 2004.
12
13
14
 
15
Rajeev Joshi, Greg Nelson, and Keith Randall. Denali: a goal-directed superoptimizer. http://citeseer.nj.nec.com/joshi01denali.html
 
16
 
17
 
18
19
 
20
Michael Leuschel and Michael Butler. ProB: A Model Checker for B. Proceedings Formal Methods Europe, 2003.
 
21
22
23
24
 
25
Piza, The Prolog Z Animator. http://www.noodles.demon.co.uk/PiZA/PiZAHome.html
 
26
Ilya Shlyakter. Generating effective symmetry-breaking predicates for search problems. Electronic Notes in Discrete Mathematics, Vol. 9 (2001).
 
27
Mandana Vaziri and Daniel Jackson. Checking Properties of Heap-Manipulating Procedures using a Constraint Solver. Ninth International Conference on Tools and Algorithms for the Construction and Analysis of Systems, Warsaw, Poland, April, 2003.
 
28
Tim Wahls, Gary T. Leavens, and Albert L. Baker. Executing formal specifications with constraint programming. Technical Report 97-12a, Department of Computer Science, Iowa State University, August, 1998.
 
29
D. S. Weld. Recent advances in AI planning. AI Magazine, 20(2):93--123, 1999.

Collaborative Colleagues:
Jonathan Edwards: colleagues
Daniel Jackson: colleagues
Emina Torlak: colleagues
Vincent Yeung: colleagues