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
-
Experience Report: Using Tools and Domain Expertise to Remediate Architectural Violations in the LogicBlox Software Base
Shan Shan Huang, , Publications, 0
LogicBlox team members Kurt Stirewalt, Spencer Rugaber, David Zook, and collaborator Hwa-You Hsu wrote about their experience modeling software...
-
Taming the Wildcards: Combining Definition- and Use-Site Variance
Shan Shan Huang, , Publications, 0
While the focus of our language work at LogicBlox is on LogiQL, a declarative query language, we do, together...
-
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....
-
Win-move is Coordination Free… Sometimes
Shan Shan Huang, , Publications, 0
Coordination barriers are a major source of inefficiency in distributed query evaluation. Identifying queries that can be evaluated in...
-
More Efficient Datalog Queries: Subsumptive Tabling Beats Magic Sets
Shan Shan Huang, , Publications, 0
Congratulations to LogicBlox team member Tuncay Tekle and academic collaborator Yanhong (Annie) Liu on the acceptance of their paper...
-
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....
-
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...