Constraint normalization and parameterized caching for quantitative program analysis
Constraint normalization and parameterized caching for quantitative program analysis
复制标题
用于定量程序分析的约束归一化和参数化缓存
DOI:
--
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
T. Bultan
中科院分区:
文献类型:
--
作者:
Tegan Brennan;Nestan Tsiskaridze;Nicolás Rosner;Abdulbaki Aydin;T. Bultan
Symbolic program analysis techniques rely on satisfiability-checking constraint solvers, while quantitative program analysis techniques rely on model-counting constraint solvers. Hence, the efficiency of satisfiability checking and model counting is crucial for efficiency of modern program analysis techniques. In this paper, we present a constraint caching framework to expedite potentially expensive satisfiability and model-counting queries. Integral to this framework is our new constraint normalization procedure under which the cardinality of the solution set of a constraint, but not necessarily the solution set itself, is preserved. We extend these constraint normalization techniques to string constraints in order to support analysis of string-manipulating code. A group-theoretic framework which generalizes earlier results on constraint normalization is used to express our normalization techniques. We also present a parameterized caching approach where, in addition to storing the result of a model-counting query, we also store a model-counter object in the constraint store that allows us to efficiently recount the number of satisfying models for different maximum bounds. We implement our caching framework in our tool Cashew, which is built as an extension of the Green caching framework, and integrate it with the symbolic execution tool Symbolic PathFinder (SPF) and the model-counting constraint solver ABC. Our experiments show that constraint caching can significantly improve the performance of symbolic and quantitative program analyses. For instance, Cashew can normalize the 10,104 unique constraints in the SMC/Kaluza benchmark down to 394 normal forms, achieve a 10x speedup on the SMC/Kaluza-Big dataset, and an average 3x speedup in our SPF-based side-channel analysis experiments.
影响因子:
1.2
作者:
Clark, David;Hunt, Sebastian;Malacaria, Pasquale
通讯作者:
Malacaria, Pasquale
DOI:
10.1145/1920261.1920300
发表时间:
2010-12
期刊:
--
影响因子:
--
作者:
J. Heusser;P. Malacaria
通讯作者:
J. Heusser;P. Malacaria
DOI:
10.1145/2382756.2382791
发表时间:
2012
期刊:
ACM SIGSOFT Software Engineering Notes
影响因子:
--
作者:
Phan Q
通讯作者:
Phan Q