| Program analysis for compiler validation |
| Full text |
Pdf
(388 KB)
|
| Source
|
Workshop on Program Analysis for Software Tools and Engineering
archive
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
table of contents
Atlanta, Georgia
SESSION: Models of code behavior
table of contents
Pages 1-7
Year of Publication: 2008
ISBN:978-1-60558-382-2
|
|
Authors
|
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 14, Downloads (12 Months): 79, Citation Count: 0
|
|
|
ABSTRACT
Translation Validation is an approach of ensuring compilation correctness in which each compiler run is followed by a validation pass that proves that the target code produced by the compiler is a correct translation (implementation) of the source code. It has been previously shown that the problem of translation validation can be reduced to checking if a single system - the corss-product of the source and target, satisfies a specific property. In this paper, we show how to adapt the existing program analysis techniques in the setting of translation validation. In addition, we present a novel invariant generation algorithm which strengthens our analysis when the input programs contain dynamically allocated data structures. Finally, we report on the prototype tool that applies the developed methodology to verification of the LLVM compiler. The tool handles many of the classical intraprocedural compiler optimizations such as constant folding, reassociation, common subexpression elimination, code motion, dead code elimination, and others.
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
|
CVC3: An Automatic Theorem Prover for Satisfiability Modulo Theories (SMT).
|
| |
2
|
The LLVM Compiler Infrastructure Project. http://llvm.org.
|
 |
3
|
|
 |
4
|
|
| |
5
|
|
| |
6
|
Sumit Gulwani and Ashish Tiwari. Assertion checking over combined abstraction of linear arithmetic and uninterpreted functions. In The 15th European Symposium on Programming, pages 279--293. Springer, March 2006.
|
| |
7
|
|
| |
8
|
|
 |
9
|
|
| |
10
|
|
| |
11
|
Amir Pnueli. Verification of procedural programs. In We Will Show Them! Essays in Honour of Dov Gabbay, Volume Two, pages 543--590. College Publications, 2005.
|
 |
12
|
|
| |
13
|
|
| |
14
|
Loren Taylor Simpson. Value-Driven Redundancy Elimination. PhD thesis, Rice University, 1996.
|
| |
15
|
|
| |
16
|
Lenore Zuck, Amir Pnueli, Yi Fang, and Benjamin Goldberg. VOC: A methodology for the translation validation of optimizing compilers. Journal of Universal Computer Science, 9(3):223--247, 2003.
|
| |
17
|
Lenore Zuck , Amir Pnueli , Benjamin Goldberg , Clark Barrett , Yi Fang , Ying Hu, Translation and Run-Time Validation of Loop Transformations, Formal Methods in System Design, v.27 n.3, p.335-360, November 2005
[doi> 10.1007/s10703-005-3402-z]
|
|