A Systematic Study of UML Class Diagram Constituents for their Abstract and Precise Recovery. Guéhéneuc, Y. In Bae, D. & Chu, W. C., editors, Proceedings of the 11<sup>th</sup> Asia-Pacific Software Engineering Conference (APSEC), pages 265–274, November-December, 2004. IEEE CS Press. 10 pages.
Paper abstract bibtex Existing reverse-engineering tools use algorithms based on vague and verbose definitions of UML constituents to recover class diagrams from source code. Thus, reverse-engineered class diagrams are neither abstract nor precise representations of source code and are of little interest for software engineers. We propose a exhaustive study of class diagram constituents with respect to their recovery from \Cpp, Java, and \Smalltalk source code. Finally, we suggest a road-map to abstract and precise reverse-engineering. We exemplify our study by developing a tool to reverse-engineer Java programs in UML class diagrams abstractly and precisely. Such a reverse-engineering tool produces class diagrams that help software engineers in better understanding programs.
@INPROCEEDINGS{Gueheneuc04-APSEC-SystematicUML,
author = {Yann-Ga{\"e}l Gu{\'e}h{\'e}neuc},
title = {A Systematic Study of {UML{}} Class Diagram Constituents for their Abstract and Precise Recovery},
booktitle = {Proceedings of the 11<sup>{th}</sup> Asia-Pacific Software Engineering Conference ({APSEC})},
year = {2004},
month = {November-December},
editor = {Doo-Hwan Bae and William C. Chu},
publisher = {IEEE CS Press},
note = {10 pages.},
abstract = {Existing reverse-engineering tools use algorithms based on vague and verbose definitions of UML{} constituents to recover class diagrams from source code. Thus, reverse-engineered class diagrams are neither abstract nor precise representations of source code and are of little interest for software engineers. We propose a exhaustive study of class diagram constituents with respect to their recovery from \Cpp{}, Java{}, and \Smalltalk{} source code. Finally, we suggest a road-map to abstract and precise reverse-engineering. We exemplify our study by developing a tool to reverse-engineer Java{} programs in UML{} class diagrams abstractly and precisely. Such a reverse-engineering tool produces class diagrams that help software engineers in better understanding programs.},
grant = {NSERC DG},
keywords = {Binary class relations ; APSEC},
kind = {MISA},
language = {english},
url = {http://www.ptidej.net/publications/documents/APSEC04.doc.pdf},
pdf = {http://www.ptidej.net/publications/documents/APSEC04.ppt.pdf},
pages = {265--274}
}