z-logo
open-access-imgOpen Access
Inductive verification of data model invariants for web applications
Author(s) -
Ivan Bocić,
Tevfik Bultan
Publication year - 2014
Publication title -
proceedings of the 44th international conference on software engineering
Language(s) - English
Resource type - Conference proceedings
DOI - 10.1145/2568225.2568281
Subject(s) - computer science , correctness , model checking , programming language , cloud computing , formal verification , data verification , key (lock) , dependability , automated theorem proving , database , theoretical computer science , software engineering , operating system
Modern software applications store their data in remote cloud servers. Users interact with these applications using web browsers or thin clients running on mobile devices. A key issue in dependability of these applications is the correctness of the actions that update the data store, which are triggered by user requests. In this paper, we present techniques for au- tomatically checking if the actions of an application preserve the data model invariants. Our approach first automatically extracts a data model specification, which we call an abstract data store, from a given application using instrumented exe- cution. The abstract data store identifies the sets of objects and relations (associations) used by the application, and the actions that update the data store by deleting or creating objects or by changing the relations among the objects. We show that checking invariants of an abstract data store corre- sponds to inductive invariant verification, and can be done using a mapping to First Order Logic (FOL) and using a FOL theorem prover. We implemented this approach for the Rails framework and applied it to three open source applications. We found four previously unknown bugs and reported them to the developers, who confirmed and imme- diately fixed two of them.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom