Skip to main content

A SAT-Based Debugging Tool for State Machines and Sequence Diagrams

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8706))

Abstract

An effective way to model message exchange in complex settings is to use UML sequence diagrams in combination with state machine diagrams. A natural question that arises in this context is whether these two views are consistent, i.e., whether a desired or forbidden scenario modeled in the sequence diagram can be or cannot be executed by the state machines.In case of an inconsistency, a concrete communication trace of the state machines can give valuable information for debugging purposes on the model level.This trace either hints to a message in the sequence diagram where the communication between the state machines fails, or describes a concrete forbidden communication trace between the state machines.To detect and explain such inconsistencies, we propose a novel SAT-based formalization which can be solved automatically by an off-the-shelf SAT solver. To this end, we present the formal and technical foundations needed for the SAT-encoding, and an implementation inside the Eclipse Modeling Framework (EMF). We evaluate the effectiveness of our approach using grammar-based fuzzing.

This work was partially funded by the Vienna Science and Technology Fund (WWTF) under grant ICT10-018 and by the Austrian Science Fund (FWF) under grants P25518-N23, S11408-N23, and S11409-N23.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bernardi, S., Donatelli, S., Merseguer, J.: From UML sequence diagrams and statecharts to analysable Petri net models. In: 3rd International Workshop on Software and Performance, pp. 35–45. ACM (2002)

    Google Scholar 

  2. Bézivin, J.: On the unification power of models. Software & Systems Modeling 4(2), 171–188 (2005)

    Article  Google Scholar 

  3. Biere, A., Heule, M., van Maaren, H., Walsh, T. (eds.): Handbook of Satisfiability. FAIA, vol. 185. IOS Press (2009)

    Google Scholar 

  4. Brosch, P., Egly, U., Gabmeyer, S., Kappel, G., Seidl, M., Tompits, H., Widl, M., Wimmer, M.: Towards semantics-aware merge support in optimistic model versioning. In: Kienzle, J. (ed.) MODELS 2011 Workshops. LNCS, vol. 7167, pp. 246–256. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  5. Brosch, P., Egly, U., Gabmeyer, S., Kappel, G., Seidl, M., Tompits, H., Widl, M., Wimmer, M.: Towards Scenario-Based Testing of UML Diagrams. In: Brucker, A.D., Julliand, J. (eds.) TAP 2012. LNCS, vol. 7305, pp. 149–155. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  6. Brosch, P., Kappel, G., Langer, P., Seidl, M., Wieland, K., Wimmer, M.: An introduction to model versioning. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds.) SFM 2012. LNCS, vol. 7320, pp. 336–398. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  7. Egyed, A.: Instant consistency checking for the UML. In: 28th International Conference on Software Engineering (ICSE), pp. 381–390. ACM (2006)

    Google Scholar 

  8. Engels, G., Hausmann, J.H., Heckel, R., Sauer, S.: Testing the consistency of dynamic UML diagrams. In: 6th International Conference on Integrated Design and Process Technology (IDPT) (2002)

    Google Scholar 

  9. Feng, T.H., Vangheluwe, H.: Case study: Consistency problems in a UML model of a chat room. In: Workshop on Consistency Problems in UML-based Software Development, p. 18 (2003)

    Google Scholar 

  10. France, R., Rumpe, B.: Model-driven development of complex software: A research roadmap. In: Future of Software Engineering (FOSE), pp. 37–54. IEEE Computer Society (2007)

    Google Scholar 

  11. Gabmeyer, S., Kaufmann, P., Seidl, M.: A classification of model checking-based verification approaches for software models. In: STAF Workshop on Verification of Model Transformations (VOLT), pp. 1–7 (2013)

    Google Scholar 

  12. Graaf, B., van Deursen, A.: Model-driven consistency checking of behavioural specifications. In: 4th International Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MOMPES), pp. 115–126 (2007)

    Google Scholar 

  13. Inverardi, P., Muccini, H., Pelliccione, P.: Automated check of architectural models consistency using SPIN. In: 16th Annual International Conference on Automated Software Engineering (ASE), pp. 346–349. IEEE Computer Society (2001)

    Google Scholar 

  14. Kaufmann, P., Kronegger, M., Pfandler, A., Seidl, M., Widl, M.: Global state checker: Towards SAT-based reachability analysis of communicating state machines. In: 10th Workshop on Model-Driven Engineering, Verification, and Validation (MoDeVVa). CEUR Workshop Proceedings, vol. 1069, pp. 31–40 (2013)

    Google Scholar 

  15. Knapp, A., Wuttke, J.: Model checking of UML 2.0 interactions. In: Kühne, T. (ed.) MoDELS 2006. LNCS, vol. 4364, pp. 42–51. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  16. Lam, V.S.W., Padget, J.: Consistency Checking of Sequence Diagrams and Statechart Diagrams Using the π-Calculus. In: Romijn, J.M.T., Smith, G.P., van de Pol, J. (eds.) IFM 2005. LNCS, vol. 3771, pp. 347–365. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  17. Le Berre, D., Parrain, A.: The Sat4j Library, Release 2.2, System Description. Journal on Satisfiability, Boolean Modeling and Computation 7, 59–64 (2010)

    Google Scholar 

  18. Lucas, F.J., Molina, F., Toval, A.: A systematic review of UML model consistency management. Information and Software Technology 51(12), 1631–1645 (2009)

    Article  Google Scholar 

  19. Papadimitriou, C.H.: Computational complexity. Addison-Wesley (1994)

    Google Scholar 

  20. Pelliccione, P., Inverardi, P., Muccini, H.: CHARMY: A Framework for Designing and Verifying Architectural Specifications. IEEE Transactions on Software Engineering 35(3), 325–346 (2008)

    Article  Google Scholar 

  21. Rintanen, J.: Planning and SAT. In: Handbook of Satisfiability. FAIA, vol. 185, pp. 483–504. IOS Press (2009)

    Google Scholar 

  22. Schäfer, T., Knapp, A., Merz, S.: Model Checking UML State Machines and Collaborations. Electronic Notes in Theoretical Computer Science 55(3), 357–369 (2001)

    Article  Google Scholar 

  23. Selic, B.: What will it take? A view on adoption of model-based methods in practice. Software & Systems Modeling 11(4), 513–526 (2012)

    Article  Google Scholar 

  24. Sinz, C.: Towards an Optimal CNF Encoding of Boolean Cardinality Constraints. In: van Beek, P. (ed.) CP 2005. LNCS, vol. 3709, pp. 827–831. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  25. Tseitin, G.S.: On the complexity of derivations in the propositional calculus. Studies in Mathematics and Mathematical Logic, Part II, 115–125 (1968)

    Google Scholar 

  26. Usman, M., Nadeem, A., Kim, T., Cho, E.: A survey of consistency checking techniques for UML models. In: Advanced Software Engineering and Its Applications (ASEA), pp. 57–62. IEEE Computer Society (2008)

    Google Scholar 

  27. Van Der Straeten, R., Mens, T., Simmonds, J., Jonckers, V.: Using description logic to maintain consistency between UML models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 326–340. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  28. Whittle, J., Schumann, J.: Generating statechart designs from scenarios. In: 22nd International Conference on Software Engineering (ICSE), pp. 314–323. ACM (2000)

    Google Scholar 

  29. Widl, M.: Test Case Generation by Grammar-Based Fuzzing for Model-Driven Engineering. In: Biere, A., Nahir, A., Vos, T. (eds.) HVC 2013. LNCS, vol. 7857, pp. 278–279. Springer, Heidelberg (2013)

    Google Scholar 

  30. Widl, M., Biere, A., Brosch, P., Egly, U., Heule, M., Kappel, G., Seidl, M., Tompits, H.: Guided Merging of Sequence Diagrams. In: Czarnecki, K., Hedin, G. (eds.) SLE 2012. LNCS, vol. 7745, pp. 164–183. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Kaufmann, P., Kronegger, M., Pfandler, A., Seidl, M., Widl, M. (2014). A SAT-Based Debugging Tool for State Machines and Sequence Diagrams. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds) Software Language Engineering. SLE 2014. Lecture Notes in Computer Science, vol 8706. Springer, Cham. https://doi.org/10.1007/978-3-319-11245-9_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-11245-9_2

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-11244-2

  • Online ISBN: 978-3-319-11245-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics