An Approach for the Semi-automated Derivation of UML Interaction Models from Scenario-based Runtime Tests

Thorsten Haendler, Stefan Sobernig, Mark Strembeck

Abstract

Documenting system behavior explicitely using graphical models (e.g. UML activity or sequence diagrams) facilitates communication about and understanding of software systems during development or maintenance. Creating graphical models manually is a time-consuming and often error-prone task. Deriving models from system-execution traces, however, suffers from the problem of model-size explosion. We propose a model-driven approach for deriving behavior documentation in terms of UML interaction models from runtime tests in a semi-automated manner. Key to our approach is leveraging the structure of scenario-based tests for model and diagram derivation. Each derived model represents a particular view on the test-execution trace. This way, one can benefit from derived graphical models while making the resulting model size manageable. In this paper, we define conceptual mappings between a test-execution trace metamodel and the UML2 metamodel. In addition, we provide means to turn selected details of test specifications and of testing environment into views on the test-execution trace (scenario-test viewpoint). The feasibility of our approach is demonstrated by a prototype implementation (KaleidoScope), which builds on an existing software-testing framework (STORM) and model transformations (Eclipse M2M/QVTo).

References

  1. Bennett, C., Myers, D., Storey, M.-A., German, D. M., Ouellet, D., Salois, M., and Charland, P. (2008). A survey and evaluation of tool features for understanding reverse-engineered sequence diagrams. Softw. Maint. Evol., 20(4):291-315.
  2. Briand, L. C., Labiche, Y., and Miao, Y. (2003). Towards the reverse engineering of UML sequence diagrams. In Proc. WCRE'03, pages 57-66. IEEE.
  3. Carroll, J. M. (2000). Five reasons for scenario-based design. Interact. Comput., 13(1):43-60.
  4. Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Merson, P., Nord, R., and Stafford, J. (2011). Documenting Software Architecture: Views and Beyond. SEI. Addison-Wesley, 2nd edition.
  5. Cornelissen, B., Van Deursen, A., Moonen, L., and Zaidman, A. (2007). Visualizing testsuites to aid in software understanding. In Proc. CSMR'07, pages 213- 222. IEEE.
  6. Czarnecki, K. and Helsen, S. (2003). Classification of model transformation approaches. In WS Proc. OOPSLA'03, pages 1-17. ACM Press.
  7. Delamare, R., Baudry, B., Le Traon, Y., et al. (2006). Reverse-engineering of UML 2.0 sequence diagrams from execution traces. In WS Proc. ECOOP'06. Springer.
  8. Eclipse Foundation (2015). Papyrus. http://eclipse.org/papyrus/. Last accessed: 3 March 2015.
  9. Falessi, D., Briand, L. C., Cantone, G., Capilla, R., and Kruchten, P. (2013). The value of design rationale information. ACM Trans. Softw. Eng. Methodol., 22(3).
  10. Fernández-Sáez, A. M., Genero, M., Chaudron, M. R., Caivano, D., and Ramos, I. (2015). Are forward designed or reverse-engineered UML diagrams more helpful for code maintenance?: A family of experiments. Inform. Software Tech., 57(0):644 - 663.
  11. Grati, H., Sahraoui, H., and Poulin, P. (2010). Extracting sequence diagrams from execution traces using interactive visualization. In Proc. WCRE'10, pages 87-96. IEEE.
  12. Guéhéneuc, Y.-G. and Ziadi, T. (2005). Automated reverseengineering of UML v2.0 dynamic models. In WS Proc. ECOOP'05. Springer.
  13. Guerra, E., Lara, J., Kolovos, D. S., Paige, R. F., and Santos, O. M. (2013). Engineering model transformations with transml. Softw. Syst. Model., 12(3):555-577.
  14. Haendler, T. (2015). KaleidoScope. Institute for Information Systems and New Media, WU Vienna.
  15. May 2015.
  16. Last accessed: 21
  17. Hamou-Lhadj, A. and Lethbridge, T. C. (2004). A survey of trace exploration tools and techniques. In Proc. CASCON'04, pages 42-55. IBM Press.
  18. Jacobson, I. (1992). Object-oriented software engineering: A use case driven approach. ACM Press Series. ACM Press.
  19. Jarke, M., Bui, X. T., and Carroll, J. M. (1998). Scenario management: An interdisciplinary approach. Requirements Eng., 3(3):155-173.
  20. Kanstrén, T. (2008). Towards a deeper understanding of test coverage. Softw. Maint. Evol., 20(1):59-76.
  21. Lo, D. and Maoz, S. (2008). Mining scenario-based triggers and effects. In Proc. ASE'08, pages 109-118. IEEE.
  22. Nebut, C., Fleurey, F., Le Traon, Y., and Jezequel, J. (2006). Automatic test generation: A use case driven approach. IEEE Trans. Softw. Eng., 32(3):140-155.
  23. Neumann, G. and Sobernig, S. (2015). ing framework. API reference. scripting.org/xowiki/. Last accessed: 2015.
  24. Next scripthttps://next3 March
  25. Neumann, G. and Zdun, U. (1999). Filters as a language support for design patterns in object-oriented scripting languages. In Proc. COOTS'99, pages 1-14. USENIX.
  26. Object Management Group (2011a). Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification, Version 1.1. http://www.omg.org/spec/QVT/1.1/. Last accessed: 3 March 2015.
  27. Object Management Group (2011b). Unified Modeling Language (UML), Superstructure, Version 2.5.0. http://www.omg.org/spec/UML/2.4.1. Last accessed: 3 March 2015.
  28. Object Management Group (2014a). MOF 2 XMI Mapping Specification, Version 2.4.2. http://www.omg.org/spec/XMI/2.4.2/. Last accessed: 3 March 2015.
  29. Object Management Group (2014b). Object Constraint Language (OCL) - Version 2.4. http://www.omg.org/spec/OCL/2.4/. Last accessed: 3 March 2015.
  30. Oechsle, R. and Schmitt, T. (2002). JAVAVIS: Automatic program visualization with object and sequence diagrams using the Java Debug Interface (JDI). In Proc. Softw. Visualization, pages 176-190. Springer.
  31. Parizi, R. M., Lee, S. P., and Dabbagh, M. (2014). Achievements and challenges in state-of-the-art software traceability between test and code artifacts. Trans. Reliab. IEEE., pages 913-926.
  32. Qusef, A., Bavota, G., Oliveto, R., De Lucia, A., and Binkley, D. (2014). Recovering test-to-code traceability using slicing and textual analysis. J. Syst. Softw., 88:147-168.
  33. Richner, T. and Ducasse, S. (1999). Recovering high-level views of object-oriented applications from static and dynamic information. In Proc. ICSM 7899, pages 13- 22. IEEE.
  34. Ryser, J. and Glinz, M. (1999). A scenario-based approach to validating and testing software systems using statecharts. In Proc. ICSSEA'99.
  35. Sharp, R. and Rountev, A. (2005). Interactive exploration of UML sequence diagrams. In Proc. VISSOFT'05, pages 1-6. IEEE.
  36. Strembeck, M. (2011). Testing policy-based systems with scenarios. In Proc. IASTED'11, pages 64-71. ACTA Press.
  37. Van Geet, J., Zaidman, A., Greevy, O., and Hamou-Lhadj, A. (2006). A lightweight approach to determining the adequacy of tests as documentation. In Proc. PCODA'06, pages 21-26. IEEE CS.
  38. Zdun, U. (2003). Patterns of tracing software structures and dependencies. In Proc. EuroPLoP'03, pages 581-616. Universitaetsverlag Konstanz 2004.
  39. Zdun, U., Strembeck, M., and Neumann, G. (2007). Objectbased and class-based composition of transitive mixins. Inform.Software Tech., 49(8):871-891.
  40. Ziadi, T., Da Silva, M. A. A., Hillah, L.-M., and Ziane, M. (2011). A fully dynamic approach to the reverse engineering of UML sequence diagrams. In Proc. ICECCS'11, pages 107-116. IEEE.
Download


Paper Citation


in Harvard Style

Haendler T., Sobernig S. and Strembeck M. (2015). An Approach for the Semi-automated Derivation of UML Interaction Models from Scenario-based Runtime Tests . In Proceedings of the 10th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2015) ISBN 978-989-758-114-4, pages 229-240. DOI: 10.5220/0005519302290240


in Bibtex Style

@conference{icsoft-ea15,
author={Thorsten Haendler and Stefan Sobernig and Mark Strembeck},
title={An Approach for the Semi-automated Derivation of UML Interaction Models from Scenario-based Runtime Tests},
booktitle={Proceedings of the 10th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2015)},
year={2015},
pages={229-240},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005519302290240},
isbn={978-989-758-114-4},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 10th International Conference on Software Engineering and Applications - Volume 1: ICSOFT-EA, (ICSOFT 2015)
TI - An Approach for the Semi-automated Derivation of UML Interaction Models from Scenario-based Runtime Tests
SN - 978-989-758-114-4
AU - Haendler T.
AU - Sobernig S.
AU - Strembeck M.
PY - 2015
SP - 229
EP - 240
DO - 10.5220/0005519302290240