DocumentCode :
1579858
Title :
Symbolic Program Analysis Using Term Rewriting and Generalization
Author :
Sinha, Nishant
Author_Institution :
NEC Res. Labs., Princeton, NJ
fYear :
2008
Firstpage :
1
Lastpage :
9
Abstract :
Symbolic execution by James C. King (1976) is a popular program verification technique, where the program inputs are initialized to unknown symbolic values, and then propagated along program paths with the help of decision procedures. This technique has two main bottlenecks: (a) the number of program execution paths to be explored may be exponential, and, (b) the state representation (map from variables to terms) may blow-up. We propose a new program verification technique that addresses the problems by (a) performing a work list based analysis that handles join points, and (b) simplifying the intermediate state representation by using term rewriting. In addition, our technique tries to compact expressions generated during analysis of program loops by using a term generalization technique based on anti-unification. We have implemented the proposed method in the F-SOFT verification framework using the Maude term rewriting engine. Preliminary experiments show that the proposed method is effective in improving verification times on real-life benchmarks.
Keywords :
program diagnostics; program verification; rewriting systems; F-SOFT verification; program verification technique; symbolic execution; symbolic program analysis; term generalization; term rewriting; Algorithm design and analysis; Benchmark testing; Engines; Explosions; Java; Merging; National electric code; Performance analysis; Surface-mount technology; System testing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Formal Methods in Computer-Aided Design, 2008. FMCAD '08
Conference_Location :
Portland, OR
Print_ISBN :
978-1-4244-2735-2
Electronic_ISBN :
978-1-4244-2736-9
Type :
conf
DOI :
10.1109/FMCAD.2008.ECP.23
Filename :
4689182
Link To Document :
بازگشت