Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Dynamite: A tool for the verification of alloy models based on PVS

Published: 04 April 2014 Publication History

Abstract

Automatic analysis of Alloy models is supported by the Alloy Analyzer, a tool that translates an Alloy model to a propositional formula that is then analyzed using off-the-shelf SAT solvers. The translation requires user-provided bounds on the sizes of data domains. The analysis is limited by the bounds and is therefore partial. Thus, the Alloy Analyzer may not be appropriate for the analysis of critical applications where more conclusive results are necessary.
Dynamite is an extension of PVS that embeds a complete calculus for Alloy. It also includes extensions to PVS that allow one to improve the proof effort by, for instance, automatically analyzing new hypotheses with the aid of the Alloy Analyzer. Since PVS sequents may get cluttered with unnecessary formulas, we use the Alloy unsat-core extraction feature in order to refine proof sequents. An internalization of Alloy's syntax as an Alloy specification allows us to use the Alloy Analyzer for producing witnesses for proving existentially quantified formulas.
Dynamite complements the partial automatic analysis offered by the Alloy Analyzer with semi-automatic verification through theorem proving. It also improves the theorem proving experience by using the Alloy Analyzer for early error detection, sequent refinement, and witness generation.

Supplementary Material

a20-moscato-apndx.pdf (moscato.zip)
Supplemental movie, appendix, image and software files for, Dynamite: A tool for the verification of alloy models based on PVS

References

[1]
Alexandr Andoni, Dumitru Daniliuc, Sarfraz Khurshid, and Darko Marinov. 2004. Evaluating the “Small Scope Hypothesis”. Unpublished. http://mulsaw.lcs.mit.edu/papers/SSH.ps. (Last accessed 11/2012).
[2]
Konstantine Arkoudas. 2001. Type-ω DPLs. MIT AI Memo 2001-27. Massachusetts Institute of Technology, Cambridge, MA.
[3]
Konstantine Arkoudas, Sarfraz Khurshid, Darko Marinov, and Martin Rinard. 2004. Integrating model checking and theorem proving for relational reasoning. In Proceedings of the 7th Conference on Relational Methods in Computer Science (RelMiCS) - 2nd International Workshop on Applications of Kleene Algebra. R. Berghammer and B. Möller, Eds., Lecture Notes in Computer Science, vol. 3051, Springer-Verlag, 204--213.
[4]
Bernhard Beckert, Reiner Hähnle, and Peter H. Schmitt (Eds.). 2007. Verification of Object-Oriented Software: The KeY Approach. Springer-Verlag.
[5]
Yves Bertot and Pierre Castéran. 2004. Interactive Theorem Proving and Program Development—Coq'Art: The Calculus of Inductive Constructions. EATCS Texts in Theoretical Computer Science.
[6]
Jasmin Blanchette and Tobias Nipkow. 2010. Nitpick: A counterexample generator for higher-order logic based on a relational model finder. In Proceedings of the 1st International Conference on Interactive Theorem Proving (ITP 2010). Lecture Notes in Computer Science, vol. 6172, Springer, 131--146.
[7]
Edmund M. Clarke, Orna Grumberg, and Doron A. Peled. 1999. Model Checking. MIT Press.
[8]
Leonardo de Moura and Nikolaj Bjorner. 2008. Z3: An efficient SMT solver. In Proceedings of the International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). Lecture Notes in Computer Science, vol. 4963, Springer, Berlin, 337--340.
[9]
Aboubakr A. El Ghazi and Mana Taghdiri. 2011. Relational reasoning via SMT solving. In Proceedings of the International Symposium on Formal Methods (FM). Lecture Notes in Computer Science, vol. 6664, Springer, Berlin, 133--148.
[10]
Marcelo F. Frias. 2002. Fork Algebras in algebra, Logic and Computer science. In Advances in Logic, vol. 2. World Scientific Publishing Co.
[11]
Marcelo F. Frias, Armando M. Haeberer, and Paulo A. S. Veloso. 1997. A finite axiomatization for fork algebras. Logic J. IGPL, 5, 3, 311--319.
[12]
Marcelo F. Frias, Carlos G. López Pombo, and Nazareno Aguirre. 2004. An equational calculus for alloy. In Proceedings of the International Conference on Formal Engineering Methods (ICFEM'04). Lecture Notes in Computer Science, vol. 3308, Springer, Berlin, 162--175.
[13]
Marcelo F. Frias, Carlos G. López Pombo, and Mariano M. Moscato. 2007. Alloy Analyzer+PVS in the analysis and verification of Alloy specifications. In Proceedings of the 13th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'07). Lecture Notes in Computer Science, vol. 4424, Springer-Verlag, 587--601.
[14]
Gerhard Gentzen. 1935. Untersuchungen über das logische Schließen. Mathematische Zeitschrift, 39:176--210, 405--431. (English translation in Manfred E. Szabo (Ed.), The Collected Papers of Gerhard Gentzen, Studies in Logic and the Foundations of Mathematics, vol. 55, 1969. Elsevier, 68--131.
[15]
Michael J. C. Gordon. 1989. Mechanizing programming logics in higher order logic. In Graham Birtwistle and P. A. Subrahmanyam (Eds.), Current Trends in Hardware Verification and Automated Theorem Proving, Springer, New York, NY, 387--439.
[16]
Gerard J. Holzmann. 2003. The SPIN Model Checker: Primer and Reference Manual (1st. ed.). Addison-Wesley Professional.
[17]
Daniel Jackson, Ilya Shlyakhter, and Manu Sridharan. 2001. A micromodularity mechanism. In Proceedings of the 8th European Software Engineering Conference Held Together with the 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM New York, NY, 62--73.
[18]
Daniel Jackson. 2012. Software Abstractions: Logic, Language, and Analysis. (Revised version). The MIT Press.
[19]
Todd Kaufmann, Chris McConnell, Ivan Vazquez, Marco Antoniotti, Rick Campbell, and Paolo Amoroso. 2000. ILISP User Manual, http://library.isr.ist.utl.pt/docs/ilisp/ilisp_toc.html (Last accessed 11/2012).
[20]
Roger D. Maddux. 1991. Pair-dense relation algebras. Trans. AMS, 328, 1, 83--131.
[21]
Mariano M. Moscato, Carlos G. López Pombo, and Marcelo F. Frias. 2010. Dynamite 2.0: New features based on UnSAT-Core extraction to improve verification of software requirements. In Proceedings of the International Conference on Theoretical Aspects of Computing (ICTAC 2010). Lecture Notes in Computer Science, vol. 6255, Springer-Verlag, Berlin, 275--289.
[22]
Tobias Nipkow, Marcus Wenzel, and Lawrence C. Paulson. 2002. Isabelle/HOL -- A Proof Assistant for Higher-Order Logic. Lecture Notes in Computer Science, vol. 2283, Springer-Verlag, Berlin.
[23]
Sam Owre. 2008. A brief overview of the PVS user interface. In Proceedings of the 8th International Workshop on User Interfaces for Theorem Provers (UITP'08).
[24]
Sam Owre, Natarajan Shankar, Joseph M. Rushby, and Dave W. J. Stringer-Calvert. 2001. PVS Prover Guide, Version 2.4. Computer Science Laboratory, SRI International, Menlo Park, CA.
[25]
Sam Owre, Joseph M. Rushby, and Natarajan Shankar. 1992. PVS: A prototype verification system. In Proceedings of the 11th International Conference on Automated Deduction. Lecture Notes in Artificial Intelligence, vol. 607, Springer, 748--752.
[26]
Tahina Ramananandro. 2008. Mondex, an electronic purse: Specification and refinement checks with the Alloy model-finding method. Formal Aspects of Comput., 20, 1, 21--39.
[27]
Emina Torlak, Felix Chang, and Daniel Jackson. 2008. Finding minimal unsatisfiable cores of declarative specifications. In Proceedings of the 15th International Symposium on Formal Methods. Lecture Notes in Computer Science, vol. 5014, Springer, Berlin, 326--341.
[28]
Mattias Ulbrich, Ulrich Geilmann, Aboubakr A. El Ghazi, and Mana Taghdiri. 2012. A proof assistant for alloy specifications. In Proceedings of the International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). Lecture Notes in Computer Science, vol. 7214, Springer, Berlin, 422--436.
[29]
Pamela Zave. 2006. Compositional binding in network domains. In Proceedings of the 14th International Symposium on Formal Methods. Lecture Notes in Computer Science, vol. 4085, Springer-Verlag, 332--347.

Cited By

View all
  • (2024)ThoR: An Alloy5-Like DSL for Interactive Theorem Proving in CoqRigorous State-Based Methods10.1007/978-3-031-63790-2_19(248-254)Online publication date: 25-Jun-2024
  • (2023)A Study of the Electrum and DynAlloy Dynamic Behavior NotationsIEEE Transactions on Software Engineering10.1109/TSE.2023.332062549:11(4946-4963)Online publication date: 1-Nov-2023
  • (2019)A Formal Analysis of the NVIDIA PTX Memory Consistency ModelProceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3297858.3304043(257-270)Online publication date: 4-Apr-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Software Engineering and Methodology
ACM Transactions on Software Engineering and Methodology  Volume 23, Issue 2
March 2014
319 pages
ISSN:1049-331X
EISSN:1557-7392
DOI:10.1145/2600788
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 April 2014
Received: 01 August 2012
Accepted: 01 November 2011
Published in TOSEM Volume 23, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Alloy
  2. PVS
  3. alloy calculus
  4. unsat-cores

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)1
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)ThoR: An Alloy5-Like DSL for Interactive Theorem Proving in CoqRigorous State-Based Methods10.1007/978-3-031-63790-2_19(248-254)Online publication date: 25-Jun-2024
  • (2023)A Study of the Electrum and DynAlloy Dynamic Behavior NotationsIEEE Transactions on Software Engineering10.1109/TSE.2023.332062549:11(4946-4963)Online publication date: 1-Nov-2023
  • (2019)A Formal Analysis of the NVIDIA PTX Memory Consistency ModelProceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3297858.3304043(257-270)Online publication date: 4-Apr-2019
  • (2019)A First Step in the Translation of Alloy to CoqFormal Methods and Software Engineering10.1007/978-3-030-32409-4_28(455-469)Online publication date: 5-Nov-2019
  • (2018)Automated model repair for AlloyProceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering10.1145/3238147.3238162(577-588)Online publication date: 3-Sep-2018
  • (2018)Formalizing Hoare Logic in PVSEngineering Trustworthy Software Systems10.1007/978-3-030-02928-9_3(89-114)Online publication date: 13-Nov-2018

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media