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

  • Petra Kaufmann
  • Martin Kronegger
  • Andreas Pfandler
  • Martina Seidl
  • Magdalena Widl
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 2.
    Bézivin, J.: On the unification power of models. Software & Systems Modeling 4(2), 171–188 (2005)CrossRefGoogle Scholar
  3. 3.
    Biere, A., Heule, M., van Maaren, H., Walsh, T. (eds.): Handbook of Satisfiability. FAIA, vol. 185. IOS Press (2009)Google Scholar
  4. 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)CrossRefGoogle Scholar
  5. 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)CrossRefGoogle Scholar
  6. 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)CrossRefGoogle Scholar
  7. 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. 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. 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. 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. 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. 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. 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. 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. 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)CrossRefGoogle Scholar
  16. 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)CrossRefGoogle Scholar
  17. 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. 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)CrossRefGoogle Scholar
  19. 19.
    Papadimitriou, C.H.: Computational complexity. Addison-Wesley (1994)Google Scholar
  20. 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)CrossRefGoogle Scholar
  21. 21.
    Rintanen, J.: Planning and SAT. In: Handbook of Satisfiability. FAIA, vol. 185, pp. 483–504. IOS Press (2009)Google Scholar
  22. 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)CrossRefGoogle Scholar
  23. 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)CrossRefGoogle Scholar
  24. 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)CrossRefGoogle Scholar
  25. 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. 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. 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)CrossRefGoogle Scholar
  28. 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. 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. 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)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Petra Kaufmann
    • 1
  • Martin Kronegger
    • 2
  • Andreas Pfandler
    • 2
  • Martina Seidl
    • 1
    • 3
  • Magdalena Widl
    • 4
  1. 1.Business Informatics GroupTU WienAustria
  2. 2.Database and Artificial Intelligence GroupTU WienAustria
  3. 3.Institute for Formal Models and VerificationJKU LinzAustria
  4. 4.Knowledge-Based Systems GroupTU WienAustria

Personalised recommendations