ACM Home Page
Please provide us with feedback. Feedback
Proof-transforming compilation of programs with abrupt termination
Full text PdfPdf (1.13 MB)
Source
Foundations of Software Engineering archive
Proceedings of the 2007 conference on Specification and verification of component-based systems: 6th Joint Meeting of the European Conference on Software Engineering and the ACM SIGSOFT Symposium on the Foundations of Software Engineering table of contents
Dubrovnik, Croatia
Pages: 39 - 46  
Year of Publication: 2007
ISBN:978-1-59593-721-6
Authors
Peter Müller  Microsoft Research
Martin Nordio  ETH Zurich, Switzerland
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 14,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1292316.1292321
What is a DOI?

ABSTRACT

The execution of untrusted bytecode programs can produce undesired behavior. A proof on the bytecode programs can be generated to ensure safe execution. Automatic techniques to generate proofs, such as certifying compilation, can only be used for a restricted set of properties such as type safety. Interactive verification of bytecode is difficult due to its unstructured control flow. Our approach is verify programs on the source level and then translate the proof to the byte-code level. This translation is non-trivial for programs with abrupt termination. We present proof transforming compilation from Java to Java Bytecode. This paper formalizes the proof transformation and present a soundness result.


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
F. Y. Bannwart and P. Müller. A Logic for Bytecode. In F. Spoto, editor, Bytecode Semantics, Verification, Analysis and Transformation (BYTECODE), volume 141 of ENTCS, pages 255--273. Elsevier, 2005.
 
2
G. Barthe, B. Grégoire, C. Kunz, and T. Rezk. Certificate Translation for Optimizing Compilers. In 13th International Static Analysis Symposium (SAS), LNCS, Seoul, Korea, August 2006. Springer-Verlag.
 
3
G. Barthe, T. Rezk, and A. Saabas. Proof obligations preserving compilation. In Third International Workshop on Formal Aspects in Security and Trust, Newcastle, UK, pages 112--126, 2005.
4
 
5
 
6
P. Müller. Modular Specification and Verification of Object-Oriented Programs, volume 2262 of LNCS. Springer-Verlag, 2002.
 
7
P. Müller and M. Nordio. Proof-Transforming Compilation of Programs with Abrupt Termination. Technical Report 565, ETH Zurich, 2007.
 
8
9
 
10
M. Pavlova. Java Bytecode verification and its applications. PhD thesis, University of Nice Sophia-Antipolis, 2007.
 
11
A. Poetzsch-Heffter and M. J. Gawkowski. Towards Proof Generating Compilers. ENTCS, 132(1):37--51, 2005.
 
12
 
13
A. Poetzsch-Heffter and N. Rauch. Soundness and Relative Completeness of a Programming Logic for a Sequential Java Subset. Technical report, Technische Universität Kaiserlautern, 2004.


Collaborative Colleagues:
Peter Müller: colleagues
Martin Nordio: colleagues