DocumentCode
781788
Title
Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software
Author
Briand, Lionel C. ; Labiche, Yvan ; Leduc, Johanne
Author_Institution
Dept. of Syst. & Comput. Eng., Carleton Univ., Ottawa, Ont.
Volume
32
Issue
9
fYear
2006
Firstpage
642
Lastpage
663
Abstract
This paper proposes a methodology and instrumentation infrastructure toward the reverse engineering of UML (Unified Modeling Language) sequence diagrams from dynamic analysis. One motivation is, of course, to help people understand the behavior of systems with no (complete) documentation. However, such reverse-engineered dynamic models can also be used for quality assurance purposes. They can, for example, be compared with design sequence diagrams and the conformance of the implementation to the design can thus be verified. Furthermore, discrepancies can also suggest failures in meeting the specifications. Due to size constraints, this paper focuses on the distribution aspects of the methodology we propose. We formally define our approach using metamodels and consistency rules. The instrumentation is based on aspect-oriented programming in order to alleviate the effort overhead usually associated with source code instrumentation. A case study is discussed to demonstrate the applicability of the approach on a concrete example
Keywords
Java; Unified Modeling Language; formal specification; formal verification; object-oriented programming; program diagnostics; reverse engineering; software quality; UML sequence diagram; Unified Modeling Language; aspect-oriented programming; consistency rule; distributed Java software; dynamic program analysis; formal specification; formal verification; metamodel; quality assurance; reverse engineering; source code instrumentation; Documentation; Information retrieval; Instruments; Java; Object oriented modeling; Quality assurance; Reverse engineering; Runtime; Testing; Unified modeling language; AspectJ; OCL.; RMI; UML; distribution; reverse engineering; sequence diagram;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.2006.96
Filename
1707665
Link To Document