Data Model Property Inference, Verification, and Repair for Web Applications
-
Published:2015-09-02
Issue:4
Volume:24
Page:1-27
-
ISSN:1049-331X
-
Container-title:ACM Transactions on Software Engineering and Methodology
-
language:en
-
Short-container-title:ACM Trans. Softw. Eng. Methodol.
Author:
Nijjar Jaideep1,
Bocić Ivan1,
Bultan Tevfik1
Affiliation:
1. University of California, Santa Barbara
Abstract
Most software systems nowadays are Web-based applications that are deployed over compute clouds using a three-tier architecture, where the persistent data for the application is stored in a backend datastore and is accessed and modified by the server-side code based on the user interactions at the client-side. The data model forms the foundation of these three tiers, and identifies the sets of objects (object classes) and the relations among them (associations among object classes) stored by the application. In this article, we present a set of property patterns to specify properties of a data model, as well as several heuristics for automatically inferring them. We show that the specified or inferred data model properties can be automatically verified using bounded and unbounded verification techniques. For the properties that fail, we present techniques that generate fixes to the data model that establish the failing properties. We implemented this approach for Web applications built using the Ruby on Rails framework and applied it to ten open source applications. Our experimental results demonstrate that our approach is effective in automatically identifying and fixing errors in data models of real-world web applications.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Automatically Detecting Integrity Violations in Database-Centric Applications;2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC);2017-05