Hierarchic decision procedures for verification

Information-handling systems are becoming ever more complex. They may be pure hardware or software systems, or complex systems of hardware and software that act in a real-world environment. Verification is a method to ensure that systems behave in the expected way, which is a necessity for safety-critical applications like automatic railway control. The size of such systems makes manual verification impossible. Therefore, we need automatic or computer-aided verification procedures. Automated reasoning is already widely used in the analysis and verification of systems. For a restricted class of systems, the resulting verification problems are inherently finite and can be solved efficiently. For complex systems, such finiteness cannot be expected. To express and prove properties of these systems, we need a formal language and reasoners that can deal with universal quantification, arithmetic expressions and unbounded data structures at the same time. Thus, in recent years there has been new interest in the handling of firstorder formulas modulo a given background theory. The problem is known to be undecidable in general, and research focuses mostly on methods that solve many problem instances quickly, but sacrifice completeness. We take a different approach and focus on instances of this problem that we can show to be decidable. In this way we can solve the resulting problems efficiently and guarantee termination. This work is based on research by Sofronie-Stokkermans on local theory extensions and on work by Ganzinger and Korovin on instantiation-based firstorder theorem proving. We extend the existing work on local theory extensions, giving new examples of axioms which satisfy a locality condition and using ideas from instantiation-based first-order theorem proving to make local reasoning more efficient. Furthermore, we show that local theory extensions allow us to decide certain verification problems for parameterized systems and develop increasingly complex system models of an automatic train controller on which we demonstrate how to use local reasoning to verify safety properties of such systems. Informationsverarbeitende Systeme werden standig komplexer. Dies konnen reine Hardware- oder Softwaresysteme sein, oder komplexe Systeme von Hardware und Software, die mit ihrer physikalischen Umgebung interagieren. Mittels Verifikation kann sichergestellt werden, dass ein System sich in der erwarteten Weise verhalt. Bei sicherheitskritischen Systemen, z.B. automatischen Zugsteuerungssystemen, ist dies unumganglich. Die Grose solcher Systeme macht es unmoglich, ihr Verhalten von Hand zu verifizieren. Deshalb benotigen wir automatische oder computergestutzte Verifikationsmethoden. Bei der Analyse und Verifikation von Systemen ist automatisches Beweisen bereits weit verbreitet. Fur eine eingeschrankte Klasse von Systemen sind die auftretenden Verifikationsprobleme von Natur aus endlich and konnen effizient gelost werden. Fur komplexe Systeme kann eine solche Endlichkeit nicht angenommen werden. Um Eigenschaften solcher Systeme ausdrucken und beweisen zu konnen, brauchen wir eine formale Sprache und Beweismethoden, die mit universeller Quantifizierung, arithmetischen Ausdrucken und unbeschrankten Datentypen gleichzeitig umgehen konnen. Deshalb gab es in den letzten Jahren ein neues Interesse an Methoden, die universell quantifizierte Probleme in solchen Hintergrundtheorien losen konnen. Es ist bekannt, dass solche Probleme im Allgemeinen unentscheidbar sind, und die Forschung konzentriert sich auf Methoden, die unter Verzicht auf Vollstandigkeit moglichst viele Probleme schnell losen konnen. Wir verfolgen einen anderen Ansatz und konzentrieren uns auf Problemklassen, deren Entscheidbarkeit wir zeigen konnen. Dadurch konnen wir diese Probleme effizient losen und gleichzeitig das Terminieren der Prozedur garantieren. Diese Arbeit basiert auf der Forschungsarbeit von Sofronie-Stokkermans an lokalen Theorieerweiterungen, sowie der Arbeit von Ganzinger und Korovin an instanziierungs-basierten Methoden zum Theorembeweisen in Pradikatenlogik erster Ordnung. Wir fuhren die Arbeit an lokalen Theorieerweiterungen fort, indem wir neue Beispiele von Axiomen geben, die eine Lokalitatseigenschaft erfullen, und benutzen Ideen aus instanziierungs-basierten Methoden zum Theorembeweisen in Pradikatenlogik, um lokales Beweisen effizienter zu machen. Weiterhin zeigen wir, dass lokale Theorieerweiterungen es uns ermoglichen, bestimmte Verifikationsprobleme fur parametrisierte Systeme zu entscheiden und entwickeln eine Reihe komplexer werdender Modelle eines automatischen Zugsteuerungssystems an denen wir demonstrieren, wie man mittels lokalen Beweisens Sicherheitseigenschaften solcher Systeme verifizieren kann.

[1]  Cesare Tinelli,et al.  Solving quantified verification conditions using satisfiability modulo theories , 2007, Annals of Mathematics and Artificial Intelligence.

[2]  Larry Wos,et al.  What Is Automated Reasoning? , 1987, J. Autom. Reason..

[3]  Harald Ganzinger,et al.  Automated complexity analysis based on ordered resolution , 2001, JACM.

[4]  Parosh Aziz Abdulla,et al.  Approximated Context-Sensitive Analysis for Parameterized Verification , 2009, FMOODS/FORTE.

[5]  Stephan Schulz,et al.  E - a brainiac theorem prover , 2002, AI Commun..

[6]  E. Szpilrajn Sur l'extension de l'ordre partiel , 1930 .

[7]  David Walker,et al.  Types and full abstraction for polyadic pi-calculus , 2005, Inf. Comput..

[8]  Hans Jürgen Ohlbach Set Description Languages and Reasoning about Numerical Features of Sets , 1999, Description Logics.

[9]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[10]  Carsten Ihlemann,et al.  On Local Reasoning in Verification , 2008, TACAS.

[11]  Harald Ganzinger Relating semantic and proof-theoretic concepts for polynomial time decidability of uniform word problems , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[12]  Zohar Manna,et al.  The calculus of computation - decision procedures with applications to verification , 2007 .

[13]  Robert Givan,et al.  New Results on Local Inference Relations , 1992, KR.

[14]  Dirk van Dalen,et al.  Logic and structure , 1980 .

[15]  Bernd Finkbeiner,et al.  SMT-based synthesis of distributed systems , 2007, AFM '07.

[16]  Viorica Sofronie-Stokkermans,et al.  Hierarchical and Modular Reasoning in Complex Theories: The Case of Local Theory Extensions , 2007, FroCoS.

[17]  Harald Ganzinger,et al.  New directions in instantiation-based theorem proving , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[18]  Harald Ganzinger,et al.  Modular Proof Systems for Partial Functions with Weak Equality , 2004, IJCAR.

[19]  Harald Ganzinger,et al.  Theory Instantiation , 2006, LPAR.

[20]  Mark E. Stickel,et al.  Automated deduction by theory resolution , 1985, Journal of Automated Reasoning.

[21]  Amir Pnueli,et al.  Parameterized Verification with Automatically Computed Inductive Assertions , 2001, CAV.

[22]  Thomas Sturm,et al.  REDLOG: computer algebra meets computer logic , 1997, SIGS.

[23]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[24]  Volker Weispfenning,et al.  Mixed real-integer linear quantifier elimination , 1999, ISSAC '99.

[25]  Derek C. Oppen,et al.  Reasoning about recursively defined data structures , 1978, POPL.

[26]  Roland Meyer,et al.  Model Checking Data-Dependent Real-Time Properties of the European Train Control System , 2006, 2006 Formal Methods in Computer Aided Design.

[27]  Silvio Ghilardi,et al.  Towards SMT Model Checking of Array-Based Systems , 2008, IJCAR.

[28]  Helmut Veith,et al.  Environment Abstraction for Parameterized Verification , 2006, VMCAI.

[29]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[30]  Robert Givan,et al.  Polynomial-time computation via local inference relations , 2000, TOCL.

[31]  Viktor Kuncak,et al.  Deciding Boolean Algebra with Presburger Arithmetic , 2006, Journal of Automated Reasoning.

[32]  Parosh Aziz Abdulla,et al.  Verifying Networks of Timed Processes (Extended Abstract) , 1998, TACAS.

[33]  Jochen Hoenicke,et al.  Model-Checking of Specifications Integrating Processes, Data and Time , 2005, FM.

[34]  Carsten Ihlemann,et al.  Automated Reasoning in Some Local Extensions of Ordered Structures , 2007, 37th International Symposium on Multiple-Valued Logic (ISMVL'07).

[35]  Christoph Weidenbach,et al.  System Description: SpassVersion 3.0 , 2007, CADE.

[36]  Viorica Sofronie-Stokkermans,et al.  Locality Results for Certain Extensions of Theories with Bridging Functions , 2009, CADE.

[37]  Geoff Sutcliffe The 4th IJCAR Automated Theorem Proving System Competition - CASC-J4 , 2009, AI Commun..

[38]  Shuvendu K. Lahiri,et al.  Indexed Predicate Discovery for Unbounded System Verification , 2004, CAV.

[39]  Viktor Kuncak,et al.  Relational analysis of algebraic datatypes , 2005, ESEC/FSE-13.

[40]  George C. Necula,et al.  Data Structure Specifications via Local Equality Axioms , 2005, CAV.

[41]  Andrei Voronkov,et al.  The design and implementation of VAMPIRE , 2002, AI Commun..

[42]  A. Tarski A Decision Method for Elementary Algebra and Geometry , 2023 .

[43]  H. J. Ohlbach,et al.  How to Augment a Formal System with a Boolean Algebra Component , 1998 .

[44]  Jochen Hoenicke,et al.  Combination of processes, data, and time , 2006 .

[45]  Johannes Faber,et al.  Verifying Real-Time Aspects of the European Train Control System ∗ , 2005 .

[46]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[47]  Viktor Kuncak,et al.  An overview of the Jahob analysis system: project goals and current status , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[48]  L. D. Moura,et al.  The YICES SMT Solver , 2006 .

[49]  Henny B. Sipma,et al.  What's Decidable About Arrays? , 2006, VMCAI.

[50]  Viorica Sofronie-Stokkermans,et al.  Interpolation in Local Theory Extensions , 2006, Log. Methods Comput. Sci..

[51]  Swen Jacobs Incremental Instance Generation in Local Reasoning , 2009, CAV.

[52]  Parosh Aziz Abdulla,et al.  A Survey of Regular Model Checking , 2004, CONCUR.

[53]  Harald Ganzinger,et al.  Integrating Equational Reasoning into Instantiation-Based Theorem Proving , 2004, CSL.

[54]  Viorica Sofronie-Stokkermans,et al.  Hierarchic Reasoning in Local Theory Extensions , 2005, CADE.

[55]  Harald Ganzinger,et al.  Modular proof systems for partial functions with Evans equality , 2006, Inf. Comput..

[56]  Viktor Kuncak,et al.  Towards Efficient Satisfiability Checking for Boolean Algebra with Presburger Arithmetic , 2007, CADE.

[57]  Viorica Sofronie-Stokkermans,et al.  Applications of Hierarchical Reasoning in the Verification of Complex Systems , 2007, Electron. Notes Theor. Comput. Sci..

[58]  Silvio Ghilardi,et al.  Deciding Extensions of the Theory of Arrays by Integrating Decision Procedures and Instantiation Strategies , 2006, JELIA.

[59]  Greg Nelson,et al.  Fast Decision Procedures Based on Congruence Closure , 1980, JACM.

[60]  Henny B. Sipma,et al.  Decision procedures for term algebras with integer constraints , 2006, Inf. Comput..

[61]  Johannes Faber,et al.  Verifying CSP-OZ-DC Specifications with Complex Data Types and Timing Parameters , 2007, IFM.

[62]  David Detlefs,et al.  Simplify: a theorem prover for program checking , 2005, JACM.

[63]  Jochen Hoenicke,et al.  CSP-OZ-DC: A Combination of Specification Techniques for Processes, Data and Time , 2002, Nord. J. Comput..