Scalable satisfiability checking and test data generation from modeling diagrams

We explore the automatic generation of test data that respect constraints expressed in the Object-Role Modeling (ORM) language. ORM is a popular conceptual modeling language, primarily targeting database applications, with significant uses in practice. The general problem of even checking whether an ORM diagram is satisfiable is quite hard: restricted forms are easily NP-hard and the problem is undecidable for some expressive formulations of ORM. Brute-force mapping to input for constraint and SAT solvers does not scale: state-of-the-art solvers fail to find data to satisfy uniqueness and mandatory constraints in realistic time even for small examples. We instead define a restricted subset of ORM that allows efficient reasoning yet contains most constraints overwhelmingly used in practice. We show that the problem of deciding whether these constraints are consistent (i.e., whether we can generate appropriate test data) is solvable in polynomial time, and we produce a highly efficient (interactive speed) checker. Additionally, we analyze over 160 ORM diagrams that capture data models from industrial practice and demonstrate that our subset of ORM is expressive enough to handle their vast majority.

[1]  Andrea Neufeld Dipl. Inform.,et al.  Generating consistent test data: Restricting the search space by a generator formula , 2005, The VLDB Journal.

[2]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[3]  Mana Taghdiri Inferring Specifications to Detect Errors in Code , 2004, ASE.

[4]  Arthur H. M. ter Hofstede,et al.  Semantics and verification of object-role models , 1991, Inf. Syst..

[5]  Stijn Heymans,et al.  Unsatisfiability Reasoning in ORM Conceptual Schemes , 2006, EDBT Workshops.

[6]  Phyllis G. Frankl,et al.  Testing database transactions with AGENDA , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[7]  Maurizio Lenzerini,et al.  On The Satisfiability of Dependency Constraints in Entity-Relationship Schemata , 1987, VLDB.

[8]  Wenfei Fan,et al.  On XML integrity constraints in the presence of DTDs , 2001, JACM.

[9]  Alexander Egyed,et al.  Instant consistency checking for the UML , 2006, ICSE.

[10]  Suzanne M. Embury,et al.  An intensional approach to the specification of test cases for database applications , 2006, ICSE '06.

[11]  Diego Calvanese,et al.  On the interaction between ISA and cardinality constraints , 1994, Proceedings of 1994 IEEE 10th International Conference on Data Engineering.

[12]  Ken Satoh,et al.  Consistency Checking Algorithms for Restricted UML Class Diagrams , 2006, FoIKS.

[13]  Manu Sridharan,et al.  Debugging overconstrained declarative models using unsatisfiable cores , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[14]  Wolfgang Emmerich,et al.  Consistency management with repair actions , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[15]  Mira Balaban,et al.  Efficient Reasoning About Finite Satisfiability of UML Class Diagrams with Constrained Generalization Sets , 2007, ECMDA-FA.

[16]  Terry Halpin,et al.  Object-Role Modeling (ORM/NIAM) , 2006, Handbook on Architectures of Information Systems.

[17]  Terry A. Halpin A Fact-Oriented Approach to Schema Transformation , 1991, MFDBS.

[18]  John Grant,et al.  Inferences for Numerical Dependencies , 1985, Theor. Comput. Sci..

[19]  Jing Sun,et al.  An Automated Formal Approach to Managing Dynamic Reconfiguration , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[20]  Panagiotis Manolios Automating Component-Based System Assembly , 2008 .

[21]  C. Maria Keet Prospects for and Issues with Mapping the Object-Role Modeling language into DLRifd , 2007, Description Logics.

[22]  Terry A. Halpin,et al.  Information modeling and relational databases (2. ed.) , 2008 .

[23]  Alexander Egyed,et al.  Fixing Inconsistencies in UML Design Models , 2007, 29th International Conference on Software Engineering (ICSE'07).

[24]  Diego Calvanese,et al.  Reasoning on UML class diagrams , 2005, Artif. Intell..

[25]  G. M. Nijssen,et al.  Conceptual schema and relational database design - a fact oriented approach , 1989 .

[26]  Yannis Smaragdakis,et al.  Scalable automatic test data generation from modeling diagrams , 2007, ASE.

[27]  Henderik Alex Proper,et al.  Database Schema Transformation and Optimization , 1995, OOER.

[28]  Sarfraz Khurshid,et al.  Exploring the design of an intentional naming scheme with an automatic constraint analyzer , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[29]  Igor L. Markov,et al.  PBS: A Backtrack-Search Pseudo-Boolean Solver and Optimizer , 2000 .