Translation Validation of System Abstractions

Abstraction is intensively used in the verification of large, complex or infinite-state systems. With abstractions getting more complex it is often difficult to see whether they are valid. However, for using abstraction in model checking it has to be ensured that properties are preserved. In this paper, we use a translation validation approach to verify property preservation of system abstractions. We formulate a correctness criterion based on simulation between concrete and abstract system for a property to be verified. For each distinct run of the abstraction procedure the correctness is verified in the theorem prover Isabelle/HOL. This technique is applied in the verification of adaptive embedded systems.

[1]  Tobias Nipkow,et al.  Certifying Machine Code Safety: Shallow Versus Deep Embedding , 2004, TPHOLs.

[2]  Olaf Müller,et al.  I/O Automata and Beyond: Temporal Logic and Abstraction in Isabelle , 1998, TPHOLs.

[3]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[4]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[5]  Jan Olaf Blech,et al.  Certifying Compilers based on Formal Translation Contracts , 2006 .

[6]  Joseph Sifakis,et al.  Property preserving abstractions for the verification of concurrent systems , 1995, Formal Methods Syst. Des..

[7]  Robin Milner,et al.  An Algebraic Definition of Simulation Between Programs , 1971, IJCAI.

[8]  Arnd Poetzsch-Heffter,et al.  Towards Proof Generating Compilers , 2022 .

[9]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[10]  Tobias Nipkow,et al.  Combining Model Checking and Deduction for I/O-Automata , 1995, TACAS.

[11]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[12]  Arnd Poetzsch-Heffter,et al.  Using Abstraction in Modular Verification of Synchronous Adaptive Systems , 2006, Trustworthy Software.

[13]  Amir Pnueli,et al.  Translation Validation , 1998, TACAS.

[14]  David Aspinall,et al.  Formalising Java's Data Race Free Guarantee , 2007, TPHOLs.

[15]  Martin Rinard,et al.  Credible Compilation with Pointers , 1999 .

[16]  Stephan Merz,et al.  Model Checking , 2000 .

[17]  Sabine Glesner,et al.  Formal verification of dead code elimination in Isabelle/HOL , 2005, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05).

[18]  Orna Grumberg,et al.  Abstract interpretation of reactive systems , 1997, TOPL.

[19]  Tobias Schüle,et al.  From Model-Based Design to Formal Verification of Adaptive Embedded Systems , 2007, ICFEM.

[20]  Tobias Nipkow,et al.  Isabelle/HOL , 2002, Lecture Notes in Computer Science.

[21]  Amir Pnueli,et al.  VOC: A Methodology for the Translation Validation of OptimizingCompilers , 2003, J. Univers. Comput. Sci..

[22]  Jan Olaf Blech,et al.  A Certifying Code Generation Phase , 2007, COCV@ETAPS.

[23]  Joseph Sifakis,et al.  Property Preserving Simulations , 1992, CAV.

[24]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[25]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .