Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

SMT-based enumeration of object graphs from UML class diagrams

Published: 16 July 2012 Publication History

Abstract

This paper presents an encoding of the UML class diagram with OCL invariants in an SMT solver for enumerating all the object graphs from the class diagram. Enumeration of all the object graphs was necessary for our verification of operating systems by model checking, i.e., exhaustively enumerate all the structural variations of the environments to be checked against an operating system. We present our encoding in the SMT solver Yices with the technique of optimization and isomorphism elimination.

References

[1]
Kyriakos Anastasakis, Behzad Bordbar, Geri Georg, and Indrakshi Ray. UML2Alloy: A Challenging Model Transformation. In Gregor Engels, Bill Opdyke, Douglas C. Schmidt, and Frank Weil, editors, MoDELS, volume 4735 of Lecture Notes in Computer Science, pages 436--450. Springer, 2007.
[2]
Chandrasekhar Boyapati, Sarfraz Khurshid, and Darko Marinov. Korat: automated testing based on Java predicates. In ISSTA, pages 123--133, 2002.
[3]
Jordi Cabot, Robert Clarisó, and Daniel Riera. Verification of UML/OCL Class Diagrams using Constraint Programming. In Proceedings of the 2008 IEEE International Conference on Software Testing Verification and Validation Workshop, pages 73--80, Washington, DC, USA, 2008. IEEE Computer Society.
[4]
Jordi Cabot, Robert Clarisó, and Daniel Riera. Verifying UML/OCL Operation Contracts. In Proceedings of the 7th International Conference on Integrated Formal Methods, IFM '09, pages 40--55, Berlin, Heidelberg, 2009. Springer-Verlag.
[5]
Manuel Clavel, Marina Egea, and Miguel Angel García de Dios. Checking Unsatisfiability for OCL Constraints. ECEASST, 24, 2009.
[6]
Milos Gligoric, Tihomir Gvero, Steven Lauterburg, Darko Marinov, and Sarfraz Khurshid. Optimizing Generation of Object Graphs in Java PathFinder. In ICST, pages 51--60. IEEE Computer Society, 2009.
[7]
G.J.Holzmann. The Spin Model Checker - Primer and Reference Manual. Addison-Wesley, 2004.
[8]
Juan P. Galeotti, Nicolás Rosner, Carlos López Pombo, and Marcelo F. Frias. Analysis of invariants for efficient bounded verification. In Paolo Tonella and Alessandro Orso, editors, ISSTA, pages 25--36. ACM, 2010.
[9]
HoonSang Jin, HyoJung Han, and Fabio Somenzi. Efficient Conflict Analysis for Finding All Satisfying Assignments of a Boolean Circuit. In Nicolas Halbwachs and Lenore D. Zuck, editors, TACAS, volume 3440 of Lecture Notes in Computer Science, pages 287--300. Springer, 2005.
[10]
Monalisha Khandai, Arup Abhinna Acharya, and Durga Prasad Mohapatra. A Survey on Test Case Generation from UML Model. International Journal of Computer Science and Information Technologies, 2(3):1164--1171, 2011.
[11]
Shuvendu K. Lahiri, Robert Nieuwenhuis, and Albert Oliveras. SMT Techniques for Fast Predicate Abstraction. In Thomas Ball and Robert B. Jones, editors, CAV, volume 4144 of Lecture Notes in Computer Science, pages 424--437. Springer, 2006.
[12]
Tiago Massoni, Rohit Gheyi, and Paulo Borba. A UML Class Diagram Analyzer. In In 3rd International Workshop on Critical Systems Development with UML, affiliated with 7th UML Conference, pages 143--153, 2004.
[13]
Darko Marinov and Sarfraz Khurshid. TestEra: A Novel Framework for Automated Testing of Java Programs. In ASE, pages 22--. IEEE Computer Society, 2001.
[14]
Shahar Maoz, Jan Oliver Ringert, and Bernhard Rumpe. CD2Alloy: Class Diagrams Analysis Using Alloy Revisited. In Jon Whittle, Tony Clark, and Thomas Kühne, editors, MoDELS, volume 6981 of Lecture Notes in Computer Science, pages 592-607. Springer, 2011.
[15]
OMG. Unified Modeling Language. http://www.uml.org/, 1989.
[16]
OSEK/VDX. OSEK/VDX Operating System Specification 2.2.3. http://portal.osek-vdx.org/, 2005.
[17]
Mathias Soeken, Robert Wille, and Rolf Drechsler. Encoding OCL Data Types for SAT-Based Verification of UML/OCL Models. In Martin Gogolla and Burkhart Wolff, editors, TAP, volume 6706 of Lecture Notes in Computer Science, pages 152--170. Springer, 2011.
[18]
Mathias Soeken, Robert Wille, and Rolf Drechsler. Verifying dynamic aspects of UML models. In DATE, pages 1077--1082. IEEE, 2011.
[19]
J. Warmer and A. Kleppe. The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, 1999.
[20]
Kenro Yatake and Toshiaki Aoki. Automatic Generation of Model Checking Scripts Based on Environment Modeling. In Jaco van de Pol and Michael Weber, editors, SPIN, volume 6349 of Lecture Notes in Computer Science, pages 58--75. Springer, 2010.
[21]
Yices: An SMT Solver. http://yices.csl.sri.com/.

Cited By

View all
  • (2017)Combined Model Checking and Testing Create Confidence—A Case on Commercial Automotive Operating SystemCyber-Physical System Design from an Architecture Analysis Viewpoint10.1007/978-981-10-4436-6_5(109-132)Online publication date: 12-May-2017
  • (2016)Functional Flow Diagram(FFD): Semantics for evolving software2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI)10.1109/ICACCI.2016.7732377(2193-2199)Online publication date: Sep-2016
  • (2016)Continuing a Benchmark for UML and OCL Design and Analysis ToolsSoftware Technologies: Applications and Foundations10.1007/978-3-319-50230-4_22(289-302)Online publication date: 1-Dec-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 37, Issue 4
July 2012
182 pages
ISSN:0163-5948
DOI:10.1145/2237796
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 July 2012
Published in SIGSOFT Volume 37, Issue 4

Check for updates

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2017)Combined Model Checking and Testing Create Confidence—A Case on Commercial Automotive Operating SystemCyber-Physical System Design from an Architecture Analysis Viewpoint10.1007/978-981-10-4436-6_5(109-132)Online publication date: 12-May-2017
  • (2016)Functional Flow Diagram(FFD): Semantics for evolving software2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI)10.1109/ICACCI.2016.7732377(2193-2199)Online publication date: Sep-2016
  • (2016)Continuing a Benchmark for UML and OCL Design and Analysis ToolsSoftware Technologies: Applications and Foundations10.1007/978-3-319-50230-4_22(289-302)Online publication date: 1-Dec-2016
  • (2014)Test generation with Satisfiability Modulo Theories solvers in model-based testingSoftware Testing, Verification and Reliability10.1002/stvr.153724:7(499-531)Online publication date: 29-May-2014
  • (2013)Initiating a Benchmark for UML and OCL Analysis ToolsTests and Proofs10.1007/978-3-642-38916-0_7(115-132)Online publication date: 2013
  • (2012)Transformation rules from UML4MBT meta-model to SMT meta-model for model animationProceedings of the 12th Workshop on OCL and Textual Modelling10.1145/2428516.2428526(55-60)Online publication date: 30-Sep-2012

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media