skip to main content
10.1145/2351676.2351706acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
Article

Unbounded data model verification using SMT solvers

Published: 03 September 2012 Publication History

Abstract

The growing influence of web applications in every aspect of society makes their dependability an immense concern. A fundamental building block of web applications that use the Model-View-Controller (MVC) pattern is the data model, which specifies the object classes and the relations among them. We present an approach for unbounded, automated verification of data models that 1) extracts a formal data model from an Object Relational Mapping, 2) converts verification queries about the data model to queries about the satisfiability of formulas in the theory of uninterpreted functions, and 3) uses a Satisfiability Modulo Theories (SMT) solver to check the satisfiability of the resulting formulas. We implemented this approach and applied it to five open-source Rails applications. Our results demonstrate that the proposed approach is feasible, and is more efficient than SAT-based bounded verification.

References

[1]
S. Berezin, S. V. A. Campos, and E. M. Clarke. Compositional reasoning in model checking. In Proc. COMPOS, pages 81–102, 1997.
[2]
M. Book and V. Gruhn. Modeling web-based dialog flows for automatic dialog control. In Proc. ASE, pages 100–109, 2004.
[3]
B. Bordbar and K. Anastasakis. MDA and analysis of web applications. In Proc. Work. Trends in Enterprise Appl. Arch., pages 44–55, 2005.
[4]
R. E. Bryant, S. M. German, and M. N. Velev. Exploiting positive equality in a logic of equality with uninterpreted functions. In Proc. CAV, pages 470–482, 1999.
[5]
J. C. Corbett, M. B. Dwyer, J. Hatcliff, and Robby. Bandera: a source-level interface for model checking java programs. In Proc. ICSE, pages 439–448, 2000.
[6]
L. Cordeiro, B. Fischer, and J. Marques-Silva. SMT-based bounded model checking for embedded ANSI-C software. In Proc. ASE, pages 137–148, 2009.
[7]
A. Cunha and H. Pacheco. Mapping between Alloy specifications and database implementations. In Proc. SEFM, pages 285–294, 2009.
[8]
L. M. de Moura and N. Bjørner. Efficient e-matching for SMT solvers. In Proc. CADE, pages 183–198, 2007.
[9]
A. A. E. Ghazi and M. Taghdiri. Relational reasoning via SMT solving. In Proc. FM, pages 133–148, 2011.
[10]
S. Hallé, T. Ettema, C. Bunch, and T. Bultan. Eliminating navigation errors in web applications via model checking and runtime enforcement of navigation state machines. In Proc. ASE, pages 235–244, 2010.
[11]
T. Halpin and T. Morgan. Information Modeling and Relational Databases . Morgan Kaufmann, 2008.
[12]
M. Han and C. Hofmeister. Relating navigation and request routing models in web applications. In Proc. MoDELS, pages 346–359, 2007.
[13]
D. Jackson. Alloy: A lightweight object modelling notation. ACM Trans. Softw. Eng. Meth., 11(2):256–290, 2002.
[14]
G. E. Krasner and S. T. Pope. A cookbook for using the model-view controller user interface paradigm in smalltalk-80. Jour. Object-Orient. Program., 1(3):26–49, 1988.
[15]
M. J. McGill, L. K. Dillon, and R. E. K. Stirewalt. Scalable analysis of conceptual data models. In Proc. ISSTA, pages 56–66, 2011.
[16]
J. Nijjar and T. Bultan. Bounded verification of Ruby on Rails data models. In Proc. ISSTA, pages 67–77, 2011.
[17]
Y. Smaragdakis, C. Csallner, and R. Subramanian. Scalable satisfiability checking and test data generation from modeling diagrams. Autom. Softw. Eng., 16(1):73–99, 2009.
[18]
SMT-LIB. http://www.smtlib.org/.
[19]
L. Wang, G. Dobbie, J. Sun, and L. Groves. Validating ORA-SS data models using Alloy. In Proc. ASWEC, pages 231–242, 2006.
[20]
Z3. http://research.microsoft.com/projects/z3/.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASE '12: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
September 2012
409 pages
ISBN:9781450312042
DOI:10.1145/2351676
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

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 September 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. MVC frameworks
  2. SMT solvers
  3. Unbounded verification

Qualifiers

  • Article

Conference

ASE'12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 82 of 337 submissions, 24%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Sep 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

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