TY - GEN
T1 - Efficient decision procedures for heaps using strand
AU - Madhusudan, P.
AU - Qiu, Xiaokang
PY - 2011
Y1 - 2011
N2 - The Strand [10] logic allows expressing structural properties of heaps combined with the data stored in the nodes of the heap. A semantic fragment of Strand as well as a syntactically defined subfragment of it are known to be decidable [10]. The known decision procedure works by combining a decision procedure for MSO on trees (implemented by the tool Mona) and a decision procedure for the quantifier-free fragment of the data-theory (say, integers, and implemented using a solver like Z3). The known algorithm for deciding the syntactically defined decidable fragment (which is the same as the one for the semantically defined decidable fragment) involves solving large MSO formulas over trees, whose solution is the main bottleneck in obtaining efficient algorithms. In this paper, we focus on the syntactically defined decidable fragment of Strand, and obtain a new and more efficient algorithm. Using a set of experiments obtained from verification conditions of heap-manipulating programs, we show the practical benefits of the new algorithm.
AB - The Strand [10] logic allows expressing structural properties of heaps combined with the data stored in the nodes of the heap. A semantic fragment of Strand as well as a syntactically defined subfragment of it are known to be decidable [10]. The known decision procedure works by combining a decision procedure for MSO on trees (implemented by the tool Mona) and a decision procedure for the quantifier-free fragment of the data-theory (say, integers, and implemented using a solver like Z3). The known algorithm for deciding the syntactically defined decidable fragment (which is the same as the one for the semantically defined decidable fragment) involves solving large MSO formulas over trees, whose solution is the main bottleneck in obtaining efficient algorithms. In this paper, we focus on the syntactically defined decidable fragment of Strand, and obtain a new and more efficient algorithm. Using a set of experiments obtained from verification conditions of heap-manipulating programs, we show the practical benefits of the new algorithm.
UR - http://www.scopus.com/inward/record.url?scp=80053118907&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=80053118907&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-23702-7_8
DO - 10.1007/978-3-642-23702-7_8
M3 - Conference contribution
AN - SCOPUS:80053118907
SN - 9783642237010
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 43
EP - 59
BT - Static Analysis - 18th International Symposium, SAS 2011, Proceedings
T2 - 18th International Static Analysis Symposium, SAS 2011
Y2 - 14 September 2010 through 16 September 2010
ER -