Toward the reverse engineering of UML sequence diagrams for distributed Java software

Lionel C. Briand, Yvan Labiche, Johanne Leduc

Research output: Contribution to journalArticlepeer-review

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.

Original languageEnglish
Pages (from-to)642-663
Number of pages22
JournalIEEE Transactions on Software Engineering
Volume32
Issue number9
DOIs
Publication statusPublished - Sep 2006
Externally publishedYes

Keywords

  • AspectJ
  • Distribution
  • OCL
  • Reverse engineering
  • RMI
  • Sequence diagram
  • UML

Fingerprint

Dive into the research topics of 'Toward the reverse engineering of UML sequence diagrams for distributed Java software'. Together they form a unique fingerprint.

Cite this