Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1081706.1081740acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Relational analysis of algebraic datatypes

Published: 01 September 2005 Publication History

Abstract

We present a technique that enables the use of finite model finding to check the satisfiability of certain formulas whose intended models are infinite. Such formulas arise when using the language of sets and relations to reason about structured values such as algebraic datatypes. The key idea of our technique is to identify a natural syntactic class of formulas in relational logic for which reasoning about infinite structures can be reduced to reasoning about finite structures. As a result, when a formula belongs to this class, we can use existing finite model finding tools to check whether the formula holds in the desired infinite model.

References

[1]
The Alloy project. http://alloy.mit.edu/.]]
[2]
E. Astesiano, M. Bidoit, H. Kirchner, B. Krieg-Brückner, P. D. Mosses, D. Sannella, and A. Tarlecki. Casl: The Common Algebraic Specification Language. Theoretical Computer Science, 286(2):153--196, 2002.]]
[3]
R. Bird. Introduction to Functional Programming using Haskell. Prentice-Hall, Inc., 2nd edition, 1998.]]
[4]
A. Bouhoula, J.-P. Jouannaud, and J. Meseguer. Specification and proof in membership equational logic. Theoretical Computer Science, 236(1-2):35--132, 2000.]]
[5]
C. Boyapati, S. Khurshid, and D. Marinov. Korat: Automated testing based on Java predicates. In Proc. International Symposium on Software Testing and Analysis, pages 123--133, July 2002.]]
[6]
A. Cimatti, E. Clarke, F. Giunchiglia, and M. Roveri. NuSMV: a new Symbolic Model Verifier. In N. Halbwachs and D. Peled, editors, Proceedings Eleventh Conference on Computer-Aided Verification (CAV'99), number 1633 in LNCS, pages 495--499, Trento, Italy, July 1999. Springer.]]
[7]
K. Claessen and N. Sörensson. New techniques that improve MACE-style model finding. In Model Computation, 2003.]]
[8]
K. J. Compton and C. W. Henson. A uniform method for proving lower bounds on the computational complexity of logical theories. Annals of Pure and Applied Logic, 48(1):1--79, July 1990.]]
[9]
J. Ferrante and C. W. Rackoff. The Computational Complexity of Logical Theories, volume 718 of Lecture Notes in Mathematics. Springer-Verlag, 1979.]]
[10]
M. Gogolla, J. Bohling, and M. Richters. Validating UML and OCL models in USE by automatic snapshot generation. Journal on Software and System Modeling, 2005. to appear.]]
[11]
J. V. Guttag. Abstract data types, then and now. In Software Pioneers: Contributions to Software Engineering, pages 442--452. Springer, 2002.]]
[12]
J. V. Guttag, E. Horowitz, and D. R. Musser. Abstract data types and software validation. Communications of the ACM, 21(12):1048--1064, 1978.]]
[13]
V. Haarslev and R. Möller. RACER system description. In International Joint Conference on Automated Reasoning, 2001.]]
[14]
W. Hodges. Model Theory, volume 42 of Encyclopedia of Mathematics and its Applications. Cambridge University Press, 1993.]]
[15]
I. Horrocks. Using an expressive description logic: FaCT or fiction? In International Conference on Principles of Knowledge Representation and Reasoning, pages 636--647, 1998.]]
[16]
N. Immerman, A. M. Rabinovich, T. W. Reps, S. Sagiv, and G. Yorsh. The boundary between decidability and undecidability for transitive-closure logics. In Computer Science Logic (CSL), pages 160--174, 2004.]]
[17]
D. Jackson. Automating first-order relational logic. In Proc. ACM SIGSOFT Conf. Foundations of Software Engineering, 2000.]]
[18]
D. Jackson. Object models as heap invariants. In A. McIver and C. Morgan, editors, Collected Papers of IFIP Working Group 2.3 on Programming Methodology. Springer-Verlag, 2001.]]
[19]
D. Jackson, I. Shlyakhter, and M. Sridharan. A micromodularity mechanism. In Proc. ACM SIGSOFT Conf. Foundations of Software Engineering / European Software Engineering Conference (FSE/ESEC '01), 2001.]]
[20]
J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and L.J. Hwang. Symbolic Model Checking: 1020 States and Beyond. In Proceedings of the Fifth Annual IEEE Symposium on Logic in Computer Science, pages 1--33, Washington, D.C., 1990. IEEE Computer Society Press.]]
[21]
N. Klarlund, A. Møller, and M. I. Schwartzbach. MONA implementation secrets. In Proc. 5th International Conference on Implementation and Application of Automata. LNCS, 2000.]]
[22]
V. Kuncak and D. Jackson. On relational analysis of algebraic datatypes. Technical Report 985, MIT, April 2005.]]
[23]
V. Kuncak and M. Rinard. On the theory of structural subtyping. Technical Report 879, Laboratory for Computer Science, Massachusetts Institute of Technology, 2003.]]
[24]
V. Kuncak and M. Rinard. Structural subtyping of non-recursive types is decidable. In Eighteenth Annual IEEE Symposium on Logic in Computer Science, 2003.]]
[25]
X. Leroy. The Objective Caml system, release 3.08, July 2004.]]
[26]
M. Leuschel and M. J. Butler. ProB: A model checker for B. In Formal Methods Europe, pages 855--874, 2003.]]
[27]
T. Lev-Ami and M. Sagiv. TVLA: A system for implementing static analyses. In Proc. 7th International Static Analysis Symposium, 2000.]]
[28]
M. J. Maher. Complete axiomatizations of the algebras of the finite, rational, and infinite trees. IEEE Symposium on Logic in Computer Science, 1988.]]
[29]
A. I. Malćev. The Metamathematics of Algebraic Systems, volume 66 of Studies in Logic and The Foundations of Mathematics. North Holland, 1971.]]
[30]
D. Marinov. Automatic Testing of Software with Structurally Complex Inputs. PhD thesis, MIT, 2005.]]
[31]
J. McCarthy. Recursive functions of symbolic expressions and their computation by machine, part 1. Comm. A.C.M., 3:184--195, 1960.]]
[32]
W. McCune. MACE 2.0 Reference Manual and Guide. ArXiv Computer Science e-prints, June 2001.]]
[33]
E. Mendelson. Introduction to Mathematical Logic. Chapman & Hall, London, 4th edition, 1997.]]
[34]
R. Milner, M. Tofte, R. Harper, and D. MacQueen. The Definition of Standard ML (Revised). The MIT Press, Cambridge, Mass., 1997.]]
[35]
A. Mćller and M. I. Schwartzbach. The Pointer Assertion Logic Engine. In Programming Language Design and Implementation, 2001.]]
[36]
D. C. Oppen. Reasoning about recursively defined data structures. Journal of the ACM, 27(3), 1980.]]
[37]
M. Rabin. Decidability of second-order theories and automata on infinite trees. Trans. Amer. Math. Soc., 141:1--35, 1969.]]
[38]
J. Rumbaugh, I. Jacobson, and G. Booch. The Unified Modelling Language Reference Manual. Addison-Wesley, Reading, Mass., 1999.]]
[39]
J. R. Rumbaugh, M. R. Blaha, W. Lorensen, F. Eddy, and W. Premerlani. Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs, New Jersey 07632, USA, 1991.]]
[40]
T. Sturm and V. Weispfenning. Quantifier elimination in term algebras: The case of finite languages. In V. G. Ganzha, E. W. Mayr, and E. V. Vorozhtsov, editors, Computer Algebra in Scientific Computing (CASC), TUM Muenchen, 2002.]]
[41]
R. Treinen. Feature trees over arbitrary structures. In P. Blackburn and M. de~Rijke, editors, Specifying Syntactic Structures, chapter 7, pages 185--211. CSLI Publications and FoLLI, 1997.]]
[42]
K. N. Venkataraman. Decidability of the purely existential fragment of the theory of term algebras. Journal of the ACM (JACM), 34(2):492--510, 1987.]]
[43]
T. Zhang, H. B. Sipma, and Z. Manna. Decision procedures for recursive data structures with integer constraints. In International Joint Conference on Automated Reasoning, volume 3097 of LNCS, pages 157--167, 2004.]]
[44]
T. Zhang, H. B. Sipma, and Z. Manna. Term algebras with length function and bounded quantifier alternation. In Theorem Proving in Higher-Order Logics, volume 3223 of LNCS, pages 321--336, 2004.]]

Cited By

View all
  • (2017)Alloy*: a general-purpose higher-order relational constraint solverFormal Methods in System Design10.1007/s10703-016-0267-2Online publication date: 27-Jan-2017
  • (2016)Model Finding for Recursive Functions in SMTProceedings of the 8th International Joint Conference on Automated Reasoning - Volume 970610.1007/978-3-319-40229-1_10(133-151)Online publication date: 27-Jun-2016
  • (2013)Relational analysis of (co)inductive predicates, (co)algebraic datatypes, and (co)recursive functionsSoftware Quality Journal10.1007/s11219-011-9148-521:1(101-126)Online publication date: 1-Mar-2013
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC/FSE-13: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
September 2005
402 pages
ISBN:1595930140
DOI:10.1145/1081706
  • cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 30, Issue 5
    September 2005
    462 pages
    ISSN:0163-5948
    DOI:10.1145/1095430
    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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. algebraic datatypes
  2. constraint solving
  3. model checking
  4. model finding
  5. transitive closure logic

Qualifiers

  • Article

Conference

ESEC/FSE05
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2017)Alloy*: a general-purpose higher-order relational constraint solverFormal Methods in System Design10.1007/s10703-016-0267-2Online publication date: 27-Jan-2017
  • (2016)Model Finding for Recursive Functions in SMTProceedings of the 8th International Joint Conference on Automated Reasoning - Volume 970610.1007/978-3-319-40229-1_10(133-151)Online publication date: 27-Jun-2016
  • (2013)Relational analysis of (co)inductive predicates, (co)algebraic datatypes, and (co)recursive functionsSoftware Quality Journal10.1007/s11219-011-9148-521:1(101-126)Online publication date: 1-Mar-2013
  • (2011)Automatic proof and disproof in Isabelle/HOLProceedings of the 8th international conference on Frontiers of combining systems10.5555/2050784.2050787(12-27)Online publication date: 5-Oct-2011
  • (2011)Nitpicking c++ concurrencyProceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming10.1145/2003476.2003493(113-124)Online publication date: 20-Jul-2011
  • (2011)TestEraProceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2011.6100137(608-611)Online publication date: 6-Nov-2011
  • (2011)Monotonicity Inference for Higher-Order FormulasJournal of Automated Reasoning10.1007/s10817-011-9234-147:4(369-398)Online publication date: 1-Dec-2011
  • (2011)Automatic Proof and Disproof in Isabelle/HOLFrontiers of Combining Systems10.1007/978-3-642-24364-6_2(12-27)Online publication date: 2011
  • (2010)Relational analysis of (Co)inductive predicates, (Co)algebraic datatypes, and (Co)recursive functionsProceedings of the 4th international conference on Tests and proofs10.5555/1894403.1894419(117-134)Online publication date: 1-Jul-2010
  • (2010)Automated Flaw Detection in Algebraic SpecificationsJournal of Automated Reasoning10.1007/s10817-010-9166-145:4(359-395)Online publication date: 1-Dec-2010
  • Show More Cited By

View Options

Login options

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