|
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
|
Peter Harry Eidorff , Fritz Henglein , Christian Mossin , Henning Niss , Morten Heine Sørensen , Mads Tofte, AnnoDomini: from type theory to Year 2000 conversion tool, Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.1-14, January 20-22, 1999, San Antonio, Texas, United States
[doi> 10.1145/292540.292543]
|
| |
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
|
Greg Morrisett , David Walker , Karl Crary , Neal Glew, From system F to typed assembly language, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.85-97, January 19-21, 1998, San Diego, California, United States
[doi> 10.1145/268946.268954]
|
 |
23
|
Matthew W. Moskewicz , Conor F. Madigan , Ying Zhao , Lintao Zhang , Sharad Malik, Chaff: engineering an efficient SAT solver, Proceedings of the 38th conference on Design automation, p.530-535, June 2001, Las Vegas, Nevada, United States
[doi> 10.1145/378239.379017]
|
 |
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.
|
|