Title :
A Fully Dynamic Approach to the Reverse Engineering of UML Sequence Diagrams
Author :
Ziadi, Tewfik ; Da Silva, Marcos Aurelio Almeida ; Hillah, Lom Messan ; Ziane, Mikal
Author_Institution :
LIP6-MoVe, Univ. Pierre et Marie Curie, Paris, France
Abstract :
The reverse engineering of behavioral models consists in extracting high-level models that help understand the behavior of existing software systems. In the context of reverse engineering of sequence diagrams, most approaches strongly depend on the static analysis and instrumentation of the source code to produce correct diagrams that take into account control flow structures such as alternative blocks ("if"s) and repeated blocks ("loop"s). This approach is not possible with systems for which no source code is available anymore (e.g. some legacy systems). In this paper, we propose an approach for the reverse engineering of sequence diagrams from the analysis of execution traces produced dynamically by an object-oriented application. Our approach is fully based on dynamic analysis and reuses the k-tail merging algorithm to produce a Labeled Transition System (LTS) that merges the collected traces. This LTS is then translated into a sequence diagram which contains alternatives and loops. A prototype of this approach has been tested with a real world application that has been developed independently from the present work. Our results show that this approach can produce sequence diagrams in reasonable time and suggest that these diagrams are helpful in understanding the behavior of the underlying application.
Keywords :
Unified Modeling Language; merging; object-oriented programming; program control structures; program diagnostics; reverse engineering; UML sequence diagram; alternative block; behavioral model; control flow structure; fully dynamic approach; k-tail merging algorithm; labeled transition system; object-oriented application; repeated block; reverse engineering; software system behavior; source code instrumentation; static analysis; Asynchronous transfer mode; Java; Merging; Object oriented modeling; Prototypes; Reverse engineering; Unified modeling language; UML sequence diagrams; execution traces; reverse engineering;
Conference_Titel :
Engineering of Complex Computer Systems (ICECCS), 2011 16th IEEE International Conference on
Conference_Location :
Las Vegas, NV
Print_ISBN :
978-1-61284-853-2
Electronic_ISBN :
978-0-7695-4381-9
DOI :
10.1109/ICECCS.2011.18