A Reverse Engineering Tool for Precise Class Diagrams. Guéhéneuc, Y. In Singer, J. & Lutfiyya, H., editors, Proceedings of the 14<sup>th</sup> IBM Centers for Advanced Studies Conference (CASCON), pages 28–41, October, 2004. ACM Press. 14 pages.
A Reverse Engineering Tool for Precise Class Diagrams [pdf]Paper  abstract   bibtex   
Developers use class diagrams to des­cribe the architecture of their programs intensively. Class diagrams represent the structure and global behaviour of programs. They show the programs classes and interfaces and their relationships of inheritance, instantiation, use, association, aggregation and composition. Class diagrams could provide useful data during programs maintenance. However, they often are obsolete and imprecise: They do not reflect the \emphreal implementation and behaviour of programs. We propose a reverse-engineering tool suite, Ptidej, to build precise class diagrams from Java programs, with respect to their implementation and behaviour. We describe static and dynamic models of Java programs and algorithms to analyse these models and to build class diagrams. In particular, we detail algorithms to infer use, association, aggregation, and composition relationships, because these relationships do not have precise definitions. We show that class diagrams obtained semi-automatically are similar to those obtained manually and more precise than those provided usually.
@INPROCEEDINGS{Gueheneuc04-CASCON-PreciseClassDiagrams,
  author = {Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc},
  title = {A Reverse Engineering Tool for Precise Class Diagrams},
  booktitle = {Proceedings of the 14<sup>{th}</sup> {IBM} Centers for Advanced Studies Conference ({CASCON})},
  year = {2004},
  month = {October},
  editor = {Janice Singer and Hanan Lutfiyya},
  publisher = {ACM Press},
  note = {14 pages.},
  abstract = {Developers use class diagrams to des\-cribe the architecture of their programs intensively. Class diagrams represent the structure and global behaviour of programs. They show the programs classes and interfaces and their relationships of inheritance, instantiation, use, association, aggregation and composition. Class diagrams could provide useful data during programs maintenance. However, they often are obsolete and imprecise: They do not reflect the \emph{real} implementation and behaviour of programs. We propose a reverse-engineering tool suite, Ptidej{}, to build precise class diagrams from Java{} programs, with respect to their implementation and behaviour. We describe static and dynamic models of Java{} programs and algorithms to analyse these models and to build class diagrams. In particular, we detail algorithms to infer use, association, aggregation, and composition relationships, because these relationships do not have precise definitions. We show that class diagrams obtained semi-automatically are similar to those obtained manually and more precise than those provided usually.},
  grant = {NSERC DG and Start-up fund},
  keywords = {Binary class relations ; CASCON},
  kind = {MNSA},
  language = {english},
  url = {http://www.ptidej.net/publications/documents/CASCON04.doc.pdf},
  pdf = {http://www.ptidej.net/publications/documents/CASCON04.ppt.pdf},
  pages = {28--41}
}
Downloads: 0