Smart Bound Selection for the Verification of UML/OCL Class Diagrams

Correctness of UML class diagrams annotated with OCL constraints can be checked using bounded verification techniques, e.g., SAT or constraint programming (CP) solvers. Bounded verification detects faults efficiently but, on the other hand, the absence of faults does not guarantee a correct behavior outside the bounded domain. Hence, choosing suitable bounds is a non-trivial process as there is a trade-off between the verification time (faster for smaller domains) and the confidence in the result (better for larger domains). Unfortunately, bounded verification tools provide little support in the bound selection process. In this paper, we present a technique that can be used to (i) automatically infer verification bounds whenever possible, (ii) tighten a set of bounds proposed by the user and (iii) guide the user in the bound selection process. This approach may increase the usability of UML/OCL bounded verification tools and improve the efficiency of the verification process.

[1]  Marcelo F. Frias,et al.  TACO: Efficient SAT-Based Bounded Verification Using Symmetry Breaking and Tight Bounds , 2013, IEEE Transactions on Software Engineering.

[2]  Robert Wille,et al.  Towards automatic determination of problem bounds for object instantiation in static model verification , 2011, MoDeVVa.

[3]  Mira Balaban,et al.  Simplification and Correctness of UML Class Diagrams - Focusing on Multiplicity and Aggregation/Composition Constraints , 2013, MoDELS.

[4]  Fang Yu,et al.  Automated size analysis for OCL , 2007, ESEC-FSE '07.

[5]  Bernhard Rumpe,et al.  CD2Alloy: class diagrams analysis using alloy revisited , 2011, MODELS'11.

[6]  Nina Narodytska,et al.  The Complexity of Integer Bound Propagation , 2011, J. Artif. Intell. Res..

[7]  Toni Mancini,et al.  Finite Model Reasoning on UML Class Diagrams Via Constraint Programming , 2007, AI*IA.

[8]  Emina Torlak,et al.  Applications and extensions of Alloy: past, present and future , 2013, Mathematical Structures in Computer Science.

[9]  Jordi Cabot,et al.  Towards Domain Refinement for UML/OCL Bounded Verification , 2015, SEFM.

[10]  Uffe Kock Wiil,et al.  Verification-driven slicing of UML/OCL models , 2010, ASE.

[11]  Jordi Cabot,et al.  Verification of UML/OCL Class Diagrams using Constraint Programming , 1899, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.

[12]  Sarfraz Khurshid,et al.  Ranger: Parallel analysis of alloy models by range partitioning , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[13]  Jordi Cabot,et al.  Formal verification of static software models in MDE: A systematic review , 2014, Inf. Softw. Technol..

[14]  Martin Gogolla,et al.  Proving and Visualizing OCL Invariant Independence by Automatically Generated Test Cases , 2010, TAP@TOOLS.

[15]  Marian Petre,et al.  UML in practice , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[16]  Martin Gogolla,et al.  Consistency, Independence and Consequences in UML and OCL Models , 2009, TAP@TOOLS.

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

[18]  Indrakshi Ray,et al.  On challenges of model transformation from UML to Alloy , 2008, Software & Systems Modeling.

[19]  Diego Calvanese,et al.  OCL-Lite: Finite reasoning on UML/OCL conceptual schemas , 2012, Data Knowl. Eng..

[20]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[21]  Van HentenryckPascal,et al.  A generic arc-consistency algorithm and its specializations , 1992 .

[22]  Mats Per Erik Heimdahl,et al.  Model checking software requirement specifications using domain reduction abstraction , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[23]  Nikolaj Bjørner,et al.  Path Feasibility Analysis for String-Manipulating Programs , 2009, TACAS.

[24]  Ernest Teniente,et al.  Verification and Validation of UML Conceptual Schemas with OCL Constraints , 2012, TSEM.

[25]  Yves Le Traon,et al.  Barriers to systematic model transformation testing , 2010, Commun. ACM.

[26]  Sam Malek,et al.  Titanium: efficient analysis of evolving alloy specifications , 2016, SIGSOFT FSE.

[27]  Peter J. Stuckey,et al.  Finite Domain Bounds Consistency Revisited , 2004, Australian Conference on Artificial Intelligence.

[28]  Martin Gogolla,et al.  Verifying UML/OCL models using Boolean satisfiability , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[29]  Martin Gogolla,et al.  From UML and OCL to relational logic and back , 2012, MODELS'12.

[30]  Gernot Salzer,et al.  Reducing multiplicities in class diagrams , 2011, MODELS'11.

[31]  Alcino Cunha,et al.  A Feature-Based Classification of Model Repair Approaches , 2015, IEEE Transactions on Software Engineering.

[32]  Martin Gogolla,et al.  Expressing UML Class Diagrams Properties with OCL , 2002, Object Modeling with the OCL.

[33]  Emina Torlak,et al.  Kodkod: A Relational Model Finder , 2007, TACAS.

[34]  Manuel Clavel,et al.  Checking Unsatisfiability for OCL Constraints , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[35]  Achim D. Brucker,et al.  The HOL-OCL Book , 2006 .

[36]  Hans Tompits,et al.  On the Small-Scope Hypothesis for Testing Answer-Set Programs , 2012, KR.

[37]  Achim D. Brucker,et al.  HOL-OCL: A Formal Proof Environment for UML/OCL , 2008, FASE.

[38]  Joël Ouaknine,et al.  Abstraction and Counterexample-Guided Refinement in Model Checking of Hybrid Systems , 2003, Int. J. Found. Comput. Sci..

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

[40]  Darko Marinov,et al.  Automatic testing of software with structurally complex inputs , 2005 .

[41]  Jordi Cabot,et al.  EMFtoCSP: A tool for the lightweight verification of EMF models , 2012, 2012 First International Workshop on Formal Methods in Software Engineering: Rigorous and Agile Approaches (FormSERA).

[42]  Mark Rouncefield,et al.  The State of Practice in Model-Driven Engineering , 2014, IEEE Software.

[43]  Alexandr Andoni,et al.  Evaluating the “ Small Scope Hypothesis ” , 2002 .

[44]  Krzysztof R. Apt,et al.  Constraint logic programming using Eclipse , 2007 .

[45]  Marcelo F. Frias,et al.  ParAlloy: Towards a Framework for Efficient Parallel Analysis of Alloy Models , 2010, ASM.

[46]  Toni Mancini,et al.  Finite Satisfiability of UML Class Diagrams by Constraint Programming , 2004, Description Logics.

[47]  Pascal Van Hentenryck,et al.  A Generic Arc-Consistency Algorithm and its Specializations , 1992, Artif. Intell..

[48]  Robert Wille,et al.  Leveraging the Analysis for Invariant Independence in Formal System Models , 2015, 2015 Euromicro Conference on Digital System Design.

[49]  Krzysztof R. Apt,et al.  Principles of constraint programming , 2003 .

[50]  Lionel C. Briand,et al.  Generating Test Data from OCL Constraints with Search Techniques , 2013, IEEE Transactions on Software Engineering.

[51]  Mira Balaban,et al.  Finite satisfiability of UML class diagrams with constrained class hierarchy , 2013, TSEM.

[52]  Robert Wille,et al.  Determining relevant model elements for the verification of UML/OCL specifications , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[53]  Kathi Fisler,et al.  Toward a More Complete Alloy , 2012, ABZ.