execution of unit tests. By leveraging the structure
of tests, they aim at improving the understandability
of reverse-engineered sequence diagrams (see above),
e.g., by representing the behavior of a particular stage
in a separate sequence diagram. While they share our
motivation for test-based partitioning, Cornelissen et
al. do not present a conceptual or a concrete solution
to this partitioning. Moreover, we leverage the test
structure for organizing the sequence diagram (e.g.,
by using combined fragments) and consider different
scopes of feature calls.
6 CONCLUSIONS
In this paper, we present an approach for deriving
tailorable UML interaction models for documenting
system behavior from scenario-based runtime tests.
Our approach allows for leveraging the structure of
scenario tests (i.e. test parts and call scope) to tai-
lor the derived interaction models, e.g., by pruning
details and by zooming in and out on selected de-
tails. This way, we also provide means to control
the size explosion in the resulting UML sequence dia-
grams. Our approach is model-drivenin the sense that
execution traces are represented through a dedicated
metamodel, mappings between this metamodel and
the UML metamodel are captured as inter-model con-
straint expressions (OCL), and model-to-model trans-
formations are used to turn model representations of
execution traces into UML interactions.
To demonstrate the feasibility of our approach,
we developed a prototype implementation (Kaleido-
Scope). Note, however, that our approach is applica-
ble for any software system having an object-oriented
design and implementation, provided that test suites
triggering inter-component interactions and a corre-
sponding test framework, which can be instrumented,
are available. In addition, the approach produces in-
teraction models conforming to the de facto standard
UML2.
In a next step, from a conceptual point of view,
we will incorporate complementary structural model
types, namely class models. This is particularly chal-
lenging as it requires abstraction techniques to extract
scenario-based views from the observed system struc-
ture. Besides, a prerequisite is the ability to com-
bine dynamic runtime introspection and static pro-
gram analysis. Moreover, this extension will require
additions to the scenario-test metamodel to model the
structure of the system under test.
From a practical angle, we will seek to apply the
approach on large-scale software projects. To com-
plete this step, our prototype tooling will have to be
extended to support runtime and program introspec-
tion for other object-oriented programming languages
and for the corresponding testing frameworks. More-
over, we plan to apply layout algorithms for automat-
ically rendering the derived interaction models as se-
quence diagrams.
REFERENCES
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 understand-
ing reverse-engineered sequence diagrams. Softw.
Maint. Evol., 20(4):291–315.
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.
Carroll, J. M. (2000). Five reasons for scenario-based de-
sign. Interact. Comput., 13(1):43–60.
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.
Cornelissen, B., Van Deursen, A., Moonen, L., and Zaid-
man, A. (2007). Visualizing testsuites to aid in soft-
ware understanding. In Proc. CSMR’07, pages 213–
222. IEEE.
Czarnecki, K. and Helsen, S. (2003). Classification of
model transformation approaches. In WS Proc. OOP-
SLA’03, pages 1–17. ACM Press.
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.
Eclipse Foundation (2015). Papyrus.
http://eclipse.org/papyrus/. Last accessed: 3 March
2015.
Falessi, D., Briand, L. C., Cantone, G., Capilla, R., and
Kruchten, P. (2013). The value of design rationale in-
formation. ACM Trans. Softw. Eng. Methodol., 22(3).
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 experi-
ments. Inform. Software Tech., 57(0):644 – 663.
Grati, H., Sahraoui, H., and Poulin, P. (2010). Extracting
sequence diagrams from execution traces using inter-
active visualization. In Proc. WCRE’10, pages 87–96.
IEEE.
Guéhéneuc, Y.-G. and Ziadi, T. (2005). Automated reverse-
engineering of UML v2.0 dynamic models. In WS
Proc. ECOOP’05. Springer.
Guerra, E., Lara, J., Kolovos, D. S., Paige, R. F., and San-
tos, O. M. (2013). Engineering model transformations
with transml. Softw. Syst. Model., 12(3):555–577.
Haendler, T. (2015). KaleidoScope. Institute for In-
formation Systems and New Media, WU Vienna.