Abstract Conceptual data models describe information systems without the burden of implementation details, and are increasingly used to generate code. They could also be analyzed for consistency and to generate test data except that the expressive constraints supported by popular modeling notations make such analysis intractable. In an earlier empirical study of conceptual models created at LogicBlox Inc., Smaragdakis, Csallner, and Subramanian found that a restricted subset of ORM, called ORM-, includes the vast majority of constraints used in practice and, moreover, allows scalable analysis. After that study, however, LogicBlox Inc. obtained a new ORM modeling tool, which supports discovery and specification of more complex constraints than the previous tool. We report findings of a follow-up study of models constructed using the more powerful tool. Our study finds that LogicBlox developers increasingly rely on a small number of features not in the ORM- subset. We extend ORM- with support for two of them: objectification and a restricted class of external uniqueness constraints. The extensions significantly improve our ability to analyze the ORM models created by developers using the new tool. We also show that a recent change to ORM has rendered the original ORM- algorithms unsound, in general; but that an efficient test suffices to show that these algorithms are in fact sound for the ORM-constraints appearing in any of the models currently in use at LogicBlox.
Scalable Analysis of Conceptual Data Models
-
Scalable Test Data Generation from Multi-dimensional Models
Shan Shan Huang, , Publications, 0
Congratulations to Emina Torlak, researcher at University of California, Berkeley and former LogicBlox team member, on the acceptance of...
-
Querying Data Provenance
Shan Shan Huang, , Publications, 0
Data provenance has important applications in databases, from optimization, to verifying trustworthiness of answers, to helping programmers with debugging....
-
Exception Analysis and Points-to Analysis: Better Together
Shan Shan Huang, , Publications, 0
In this ISSTA 2009 publication, LogicBlox team member Martin Bravenboer and academic collaborator Yannis Smaragdakis write about how Doop,...
-
Automated Test Input Generation for Software That Consumes ORM Models
Shan Shan Huang, , Publications, 0
Abstract Software tools that analyze and generate code from ORM conceptual schemas are highly susceptible to feature interaction bugs....
-
Rewriting Guarded Negation Queries
Shan Shan Huang, , Publications, 0
Query optimizations are notoriously difficult for queries involving negation. Together with academic collaborator Professor Michael Benedikt of University of...
-
Pick Your Contexts Well: Understanding Object-Sensitivity
Shan Shan Huang, , Publications, 0
Using Datalog for program analysis has garnered a lot of interest in the academic community in recent years. In...
-
SecureBlox: Customizable Secure Distributed Data Processing
Shan Shan Huang, , Publications, 0
The application of Datalog to the area of security, both in analysis and in the specification of rules, has...
-
Structural Aspects of Data Modeling Languages
Shan Shan Huang, , Publications, 0
One of the reasons why we believe in LogiQL as a programming language is its ability to support data...