|
ABSTRACT
Design and verification of systems at the Register-Transfer (RT) or behavioral level require the ability to reason at higher levels of abstraction. Difference logic consists of an arbitrary Boolean combination of propositional variables and difference predicates and therefore provides an appropriate abstraction. In this paper, we present several new optimization techniques for efficiently deciding difference logic formulas. We use the lazy approach by combining a DPLL Boolean SAT procedure with a dedicated graph-based theory solver, which adds transitivity constraints among difference predicates on a "need-to" basis. Our new optimization techniques include flexible theory constraint propagation, selective theory deduction, and dynamic predicate learning. We have implemented these techniques in our lazy solver. We demonstrate the effectiveness of the proposed techniques on public benchmarks through a set of controlled experiments.
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
|
A. Armando, C. Castellini, E. Giunchiglia, and M. Maratea. A SAT-based decision procedure for the boolean combination of difference constraints In Theory and Applications of Satisfiability Testing (SAT'04), pages 166--173, Vancouver, CA, May 2004.
|
 |
2
|
Thomas Ball , Rupak Majumdar , Todd Millstein , Sriram K. Rajamani, Automatic predicate abstraction of C programs, Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation, p.203-213, June 2001, Snowbird, Utah, United States
|
| |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
S. Cotton. Satisfiability checking with difference constraints. Msc thesis, IMPRS Computer Science, Saarbrucken, 2005.
|
 |
7
|
|
| |
8
|
|
| |
9
|
M. K. Ganai, M. Talupur, and A. Gupta. SDSAT: Tight integration of small domain encoding and lazy approaches in a separation logic solver. In Tools and Algorithms for the Construction and Analysis of Systems (TACAS'06), pages 135--150. Springer, 2006. LNCS 3920.
|
| |
10
|
H. Ganzinger, G. Hagen, R. Nieuwenhuis, A. Oliveras, and C. Tinelli. DPLL(T): Fast decision procedures. In Computer-Aided Verification (CAV'04), pages 175--188. Springer, July 2004. LNCS 3114.
|
 |
11
|
Thomas A. Henzinger , Ranjit Jhala , Rupak Majumdar , Grégoire Sutre, Lazy abstraction, Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.58-70, January 16-18, 2002, Portland, Oregon
|
| |
12
|
T. A. Henzinger, X. Nicollin, J. Sifakis, and S. Yovine. Symbolic model checking for real-time systems. In IEEE International Symposium on Logic in Computer Science, pages 394--406, 1992.
|
| |
13
|
H. Jain, F. Ivančić, A. Gupta, and M. Ganai. Localization and register sharing for predicate abstraction. In Tools and Algorithms for the Construction and Abnalysis of Systems (TACAS'05), pages 394--409. Springer, 2005. LNCS 3440.
|
| |
14
|
S. Lahiri and S. Seshia. The UCLID decision procedure. In Computer Aided Verification (CAV'04), pages 475--478. Springer, 2004. LNCS 3114.
|
| |
15
|
|
| |
16
|
M. Bozzano, R. Bruttomesso, A. Cimatti, T. Junttila, P. v. Rossum, S. Schulz, and R. Sebastiani. An incremental and layered procedure for the satisfiability of linear arithmetic logic. In Tools and Algorithms for the Construction and Analysis of Systems (TACAS'05), pages 317--333. Springer, 2005. LNCS 3440.
|
 |
17
|
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]
|
| |
18
|
R. Nieuwenhuis and A. Oliveras. DPLL(T) with exhaustive theory propagation and its application to difference logic. In Computer Aided Verification (CAV'05), pages 321--334. Springer, 2005. LNCS 3576.
|
 |
19
|
G. Parthasarathy , M. K. Iyer , K. T. Cheng , F. Brewer, Structural search for RTL with predicate learning, Proceedings of the 42nd annual conference on Design automation, June 13-17, 2005, San Diego, California, USA
[doi> 10.1145/1065579.1065698]
|
| |
20
|
|
| |
21
|
G. Ramalingam, J. Song, L. Joscovicz, and R. Miller. Solving difference constraints incrementally. Algorithmica, 23(3):261--275, 1999.
|
 |
22
|
|
| |
23
|
|
| |
24
|
|
| |
25
|
M. Talupur, N. Sinha, O. Strichman, and A. Pnueli. Range allocation for separation logic. In Computer-Aided Verification (CAV'04), pages 148--161. Springer, July 2004. LNCS 3114.
|
| |
26
|
C. Wang, F. Ivančić, M. Ganai, and A. Gupta. Deciding separation logic formulae by SAT and incremental negative cycle elimination. In Logic for Programming Artificial Intelligence and Reasoning (LPAR'05), pages 322--336. Springer, 2005. LNCS 3835.
|
|