Abstract
In several key safety-critical embedded applications, it has become mandatory to verify the process of translation by compilers since usually compilers are only certified rather than verified. In this paper, we shall describe a methodology and a system for the validation of translation of a safe-subset of Ada to assembly language programs. The work described here is an application of Translation Validation technique to safety-critical programs that are developed using standard software engineering practices using safe subsets of Ada such as SPARK Ada [3]. Our method consists of converting the high level language (HLL) program and its object code to a common semantic representation such as Fair Transition System (FTS) [6], and then establishing that the object code is a refinement of the HLL program. The proof of refinement is performed using STeP (Stanford Temporal Prover) theorem prover. The proposed approach also has the additional advantage that the embedded system remains unaffected by compiler revisions/updates. We conclude with a discussion of our practical experience, effectiveness and further possibilities.
Corresponding Author
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Pneuli A., Siegel M., Singerman E.: Translation validation Proc. 4th TACAS, LNCS 1384, pp. 151–166. Springer-Verlag, 1998.
Pnueli A., Siegel M., and Shtrichman O.: Translation Validation for Synchronous Languages, Proc. 25th ICALP, LNCS, 1443, pp. 235–246, Springer-Verlag, 1998
Barnes John.:High Integrity Ada: The SPARK Approach, Addison-Wesley, 1997
Motor Industry Safety and Reliability Association(MISRA) of U.K., Guidelines for the use of the C language in vehicle based software MIRA, 1998
Manna Z. et. al.:STeP: The Stanford Temporal Prover, version 1.2 Educational Release, Users Manual, CS Dept., Standford Univ., 1996
Manna Z., Pneuli A.: Temporal Verification of Reactive Systems Springer Verlag, 1995
Abadi M., Lamport L. The existance of refinement mappings, Theoretical Computer Science, 82, pp., Elsevier, 1991
Benvinste A., P. Le Guernic, Jacquemot C.: Synchronous Programming with event and relations: the SIGNAL language and its semantics. SCP, 16, pp. 1991.
Dijkstra E.W: A Discipline of Programming, Prentice Hall, 1967
G.C. Necula, Compiling With Proofs, Ph.D. Thesis, CMU, 1998
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bhattacharjee, A.K., Sen, G., Dhodapkar, S.D., Karunakar, K., Rajan, B., Shyamasundar, R.K. (2000). A System for Object Code Validation. In: Joseph, M. (eds) Formal Techniques in Real-Time and Fault-Tolerant Systems. FTRTFT 2000. Lecture Notes in Computer Science, vol 1926. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45352-0_14
Download citation
DOI: https://doi.org/10.1007/3-540-45352-0_14
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41055-3
Online ISBN: 978-3-540-45352-9
eBook Packages: Springer Book Archive