Abstract
In view of J. B. Goodenough's and S. L. Gerhart's theory compiler πtS shows up to be a very well selected test datum to do translator implementation verification for πT supported by testing.
A posteriori verification of generated machine code as demanded by BSI in each program case relevant for safety critical applications should and can be made redundant. It suffices to do such a posteriori verification for initial compilers only.
For translator implementation verification we have used and refunctioned a real life system, host processor H0M plus S0 → H0-translator π tH0 , as a proof assistant. We print and iuxtapose intermediate translators which represent formal proof trees understandable by usual programmers. No special formal logics are necessary as existing theorem provers require.
We create complete enough and readable proof documentations not only for translation verification but also for translator implementation verification. Our technique allows to put the finger on the wound of any compiler failure in translation specification as well as in translator implementation. Even for full compiler correctness only a reduced set of low level code must be double checked. Our proceeding is in accordance with A. Robinson's [Rob96] statements on formal and informal proof: Informatics should try to mechanise proof techniques of mathematicians. Their informal proofs are guided by good ideas. That is more effectful than pursuing swollen formal proof protocols in predicate logics.
Preview
Unable to display preview. Download preview PDF.
References
F.L. Bauer, editor. Software Engineering: An Advanced Course. LNCS, 30. Springer-Verlag, 1975.
J. Bowen, C.A.R. Hoare, H. Langmaack, E.-R. Olderog, and A.P. Ravn. A ProCoS II Project Final Report: ESPRIT Basic Reserach Project 7071. EATCS-Bulletin, 59:76–99, 1996.
BSI-Bundesamt für Sicherheit in der Informationstechnik. BSI-Zertifizierung. BSI 7119, Bonn, 1994.
L.M. Chirica and D.F. Martin. Toward Compiler Implementation Correctness Proofs. ACM Transactions on Programming Languages and Systems, 8(2): 185–214, April 1986.
K. Engelhardt. Model-Oriented Data Refinement. PhD thesis, Univ.Kiel, 1997.
W. Goerigk, A. Dold, T. Gaul, G. Goos, A. Heberle, F.W. von Henke, U. Hoffmann, H. Langmaack, H. Pfeifer, H. Ruess, and W. Zimmermann. Compiler Correctness and Implementation Verification: The Verifix Approach. In CC '96 Int. Conf. on Compiler Construction (poster session), LinkØping, Sweden, 1996.
J.B. Goodenough and S.L. Gerhart. Toward a Theory of Test Data Selection. IEEE Transactions on Software Engineering, 1(2):156–173, June 1975.
C.B. Jones. Systematic Software Development Using VDM, 2nd ed. Prentice Hall, New York, London, 1990.
H. Langmaack. Softwareengineering zur Zertifizierung von Systemen: Spezifikations-, Implementierungs-, übersetzerkorrektheit. it+ti-Informationstechnik und Technische Informatik, 39 (3), 41–47, 1997.
H. Langmaack. Theoretische Informatik ist Grundlage für das sichere Beherrschen realistischer Software und Systeme. In K. Brunnstein and H. Oberquelle, editors, 25 Jahre Informatik an der Universität Hamburg, Informatik: Stand, Trends, Visionen, Ber. FBI-HH-B-195/97, pages 47–62. Univ. Hamburg, 1997.
R. Milner. Communication and Concurrency. Prentice Hall, 1989.
M. Müller-Olm. Modular Compiler Verification. Dissertation, Univ.Kiel, 1996. Will be published as vol. 1283 of LNCS, Springer-Verlag, 1997.
J.S. Moore. Piton: A verified assembly level language. Technical Report 22, Comp. Logic Inc, Austin, Texas, 1988.
J.S. Moore. Piton, A Mechanically Verified Assembly-Level Language. Kluwer Academic Publishers, 1996.
S. Owre, J. M. Rushby, and N. Shankar. PVS: A Prototype Verification System. In Deepak Kapur, editor, Proceedings 11th International Conference on Automated Deduction CADE, volume 607 of Lecture Notes in Artificial Intelligence, pages 748–752, Saratoga, NY, October 1992. Springer-Verlag.
G.D. Plotkin. A Structural Approach to Operationale Semantics. DAIMI-FN19, Aarhus University, 1981.
E. Pofahl. Methods Used for Inspecting Safety Relevant Software. In W. J. Cullyer, W. A. Halang. B.J. Krämer (eds.): High Integrity Programmable Electronic Systems, Dagstuhl-Sem.-Rep. 107, p 13, 1995.
W. Polak. Compiler specification and verification. Number 124 in LNCS. 1981.
A. Robinson. Formal and Informal Proof. Lecture, Colloquium, DFG-Schwerpunktprogramm “Deduktion”, Dagstuhl, January 1996.
D. S. Scott. Domains for Denotational Semantics. In M. Nielsen and E. M. Schmidt, editors, Int. Coll. on Automata, Languages and Programs, number 140 in LNCS, pages 577–613, 1982.
G.L. Steele. Common Lisp: The Language. Digital Press, Bedford, MA, 1984.
M. Tofte. Compiler Generators. EATCS Monographs on Theoretical Computer Science, Springer-Verlag, 1997.
A. van Wijngaarden (ed.). Report on the Algorithmic Language ALGOL68. Numerische Mathematik, 14:79–218, 1969.
N. Wirth. Compilerbau. Teubner, 1977.
W.D. Young. A Verified Code Generator for a Subset of Gypsy. Technical Report 33, Comp. Logic. Inc., Austin, Texas, 1988.
ZSI-Zentralstelle für Sicherheit in der Informationstechnik. IT-Sicherheitskriterien. Bundesanzeiger Verlagsgesellschaft, Köln, 1989.
ZSI-Zentralstelle für Sicherheit in der Informationstechnik. IT-Evaluationshandbuch. Bundesanzeiger Verlagsgesellschaft, Köln, 1990.
Author information
Authors and Affiliations
Editor information
Additional information
Dedicated to Prof. Dr. Dr. h. c. Wilfried Brauer, Technical University Munich, on occasion of his 60th birthday on the 8th of August, 1997.
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Langmaack, H. (1997). Contribution to Goodenough's and Gerhart's theory of software testing and verification: Relation between strong compiler test and compiler implementation verification. In: Freksa, C., Jantzen, M., Valk, R. (eds) Foundations of Computer Science. Lecture Notes in Computer Science, vol 1337. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0052101
Download citation
DOI: https://doi.org/10.1007/BFb0052101
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63746-2
Online ISBN: 978-3-540-69640-7
eBook Packages: Springer Book Archive