Dynamite 2.0: New Features Based on UnSAT-Core Extraction to Improve Verification of Software Requirements

According to the Verified Software Initiative manifesto, "Lightweight techniques and tools have been remarkably successful in finding bugs and problems in software. However, their success must not stop the pursuit of this projects long-term scientific ideals". The Dynamite Proving System (DPS) blends the good qualities of the lightweight formal method Alloy with the certainty provided by the theorem prover PVS. Using the Alloy Analyzer during the proving process improves the PVS theorem proving experience by reducing the number of errors introduced along creative proof steps. Therefore, rather than becoming an obstacle to the goals of the Initiative, inside DPS Alloy becomes an aid. In this article we introduce new features of DPS based on the novel use of unsat cores to guide the proving process by pruning unnecessary information. We illustrate these new features using a non-trivial case-study coming from the networking domain.

[1]  Pamela Zave Compositional Binding in Network Domains , 2006, FM.

[2]  Emina Torlak,et al.  Kodkod: A Relational Model Finder , 2007, TACAS.

[3]  Abz,et al.  Abstract State Machines, B and Z, First International Conference, ABZ 2008, London, UK, September 16-18, 2008. Proceedings , 2008, ABZ.

[4]  Kaisa Sere,et al.  FM 2008: Formal Methods, 15th International Symposium on Formal Methods, Turku, Finland, May 26-30, 2008, Proceedings , 2008, FM.

[5]  Marcelo F. Frias,et al.  Alloy Analyzer+PVS in the Analysis and Verification of Alloy Specifications , 2007, TACAS.

[6]  Tjark Weber,et al.  Integrating a SAT Solver with an LCF-style Theorem Prover , 2005, PDPAR@CAV.

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

[8]  Daniel Jackson,et al.  Formal Modeling and Analysis of a Flash Filesystem in Alloy , 2008, ABZ.

[9]  Daniel Jackson,et al.  Alcoa: the Alloy constraint analyzer , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[10]  Tobias Nipkow,et al.  Nitpick: A Counterexample Generator for Higher-Order Logic Based on a Relational Model Finder , 2010, ITP.

[11]  Tobias Nipkow,et al.  Sledgehammer: Judgement Day , 2010, IJCAR.

[12]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[13]  Tobias Nipkow,et al.  FM 2006: Formal Methods, 14th International Symposium on Formal Methods, Hamilton, Canada, August 21-27, 2006, Proceedings , 2006, FM.

[14]  Petr Pudlak Semantic Selection of Premisses for Automated Theorem Proving , 2007, ESARLT.

[15]  Toby Walsh,et al.  Automated Deduction—CADE-11 , 1992, Lecture Notes in Computer Science.

[16]  Felix Sheng-Ho Chang,et al.  Finding Minimal Unsatisfiable Cores of Declarative Specifications , 2008, FM.

[17]  Geoff Sutcliffe,et al.  SRASS - A Semantic Relevance Axiom Selection System , 2007, CADE.

[18]  Josef Urban,et al.  MaLARea: a Metasystem for Automated Reasoning in Large Theories , 2007, ESARLT.

[19]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[20]  Sarfraz Khurshid,et al.  Integrating Model Checking and Theorem Proving for Relational Reasoning , 2003, RelMiCS.

[21]  C. A. R. Hoare,et al.  The verified software initiative: A manifesto , 2009, CSUR.

[22]  Tahina Ramananandro,et al.  Mondex, an electronic purse: specification and refinement checks with the Alloy model-finding method , 2007, Formal Aspects of Computing.

[23]  Andriy Dunets,et al.  Automated Flaw Detection in Algebraic Specifications , 2010, Journal of Automated Reasoning.

[24]  Tjark Weber,et al.  SAT-based finite model generation for higher-order logic , 2008 .