Abstract
We present a method for analyzing assembly programs based on source program analysis and invariant translation. It is generic in the choice of an abstract domain for representing stores. This method is adapted to the design of certification tools for assembly programs generated by compiling programs written in an imperative language, without writing a specific compiler or modifying an existing one since invariant translation only uses standard debugging information. A prototype was developed for a procedural subset of the C language.
This work was supported by the RTD project IST-1999-20527 “DAEDALUS” of the European FP5 program.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. Alt, C. Ferdinand, F. Martin, and R. Wilhelm. Cache Behavior Prediction by Abstract Interpretation. In Static Analysis Symposium, LNCS, 1996.
Y. Bertot. A certified compiler for an imperative language. Technical Report RR-3488, INRIA, 1998.
B. Blanchet, P. Cousot, R. Cousot, J. Feret, L. Mauborgne, A. Miné, D. Monniaux, and X. Rival. Design and implementation of a special-purpose static program analyzer for safety-critical real-time embedded software, invited chapter. In T. Mogensen, D. Schmidt, and I. Sudborough, editors, The Essence of Computation: Complexity, Analysis, Transformation, LNCS. Springer-Verlag, 2002. To appear.
P. Cousot. Semantic foundations of program analysis. In S. Muchnick and N. Jones, editors, Program Flow Analysis: Theory and Applications, chapter 10. Prentice-Hall, Inc., Englewood Clifis, New Jersey, 1981.
P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Conference Record of the 4th Symposium on Principles of Programming Languages, 1977.
P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Conference Record of the 6th Symposium on Principles of Programming Languages. ACM Press, New York, NY, 1979.
P. Cousot and R. Cousot. Systematic design of program transformation frameworks by abstract interpretation. In Conference Record of the 29th Symposium on Principles of Programming Languages. ACM Press, New York, NY, 2002.
C. Ferdinand, F. Martin, and R. Wilhelm. Applying Compiler Techniques to Cache Behavior Prediction. In Workshop on Languages, Compilers and Tools for Real-Time Systems (LCT-RTS), 1997.
J. Feret. Dependency analysis of mobile systems. In European Symposium on Programming (ESOP’02), 2002.
M. Karr. Affine relationships among variables of a program. Acta Informatica, pages 133–151, 1976.
A. Miné. The octagon abstract domain. In AST 2001 in WCRE 2001, IEEE, 2001.
G. Morrisett, D. Tarditi, P. Cheng, C. Stone, R. Harper, and P. Lee. The TIL/ML Compiler: Performance and Safety Through Types. In Workshop on Compiler Support for Systems Software, 1996.
G. C. Necula. Proof-Carrying Code. In Proceedings of the 24th ACM SIGPLANSIGACT Symposium on Principles of Programming Langauges (POPL’ 97), 1997.
G. C. Necula. Translation validation for an optimizing compiler. ACM SIGPLAN Notices, 35(5):83–94, 2000.
A. Tarski. A lattice-theoretical fixpoint theorem and its applications. Pacific Journal of Mathematics, 1955.
H. Theiling and C. Ferdinand. Combining Abstract Interpretation and ILP for Microarchitecture Modelling and Program Path Analysis. In Proceedings of the 19th IEEE Real-Time Systems Symposium, 1998.
H. Theiling, C. Ferdinand, and R. Wilhelm. Fast and Precise WCET Prediction by Seperate Cache and Path Analyses. Real-Time Systems, 2000.
L. Zuck, A. Pnuelli, Y. Fang, and B. Goldberg. VOC: A translation validator for optimizing compilers. In J. Knoop and W. Zimmermann, editors, Electronic Notes in Theoretical Computer Science, volume 65. Elsevier Science Publishers, 2002.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rival, X. (2003). Abstract Interpretation-Based Certification of Assembly Code. In: Zuck, L.D., Attie, P.C., Cortesi, A., Mukhopadhyay, S. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2003. Lecture Notes in Computer Science, vol 2575. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36384-X_7
Download citation
DOI: https://doi.org/10.1007/3-540-36384-X_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00348-9
Online ISBN: 978-3-540-36384-2
eBook Packages: Springer Book Archive