Reverse Engineering Object-Oriented Systems into Umple: An Incremental and Rule-Based Approach

FieldValue
dc.contributor.authorGarzón, Miguel Alejandro
dc.date.accessioned2015-08-07T17:21:12Z
dc.date.available2015-08-07T17:21:12Z
dc.date.created2015
dc.date.issued2015
dc.identifier.urihttp://hdl.handle.net/10393/32615
dc.identifier.urihttp://dx.doi.org/10.20381/ruor-4206
dc.description.abstractThis thesis investigates a novel approach to reverse engineering, in which modeling information such as UML associations, state machines and attributes is incrementally added to code written in Java or C++, while maintaining the system in a textual format. Umple is a textual representation that blends modeling in UML with programming language code. The approach, called umplification, produces a program with behavior identical to the original one, but written in Umple and enhanced with model-level abstractions. As the resulting program is Umple code, our approach eliminates the distinction between code and model. We implemented automated umplification in a tool called the Umplificator. The tool is rule-driven: code, including Umple code, is parsed and processed into an internal representation, which is then operated on by rules; transformed textual code and model, in Umple, is then generated. The rules used to transform code to model have been iteratively refined by using the tool on a variety of open-source software systems. The thesis consists of three main parts. The first part (Chapters 1 and 2) present the research questions and research methodology, as well as introducing Umple and the background necessary to understand the rest of the thesis. The umplification method is presented at increasing levels of detail through Chapters 3 and 4. Chapters 5 and 6 present the tool and evaluation of our approach, respectively. An analysis of related work, and comparison to our own, appears in Chapter 7. Finally, conclusions and future work directions are presented in Chapter 8.
dc.language.isoen
dc.publisherUniversité d'Ottawa / University of Ottawa
dc.subjectUnified Modeling Language
dc.subjectObject-oriented programming
dc.subjectreverse engineering
dc.subjectUmple
dc.subjectmodeling
dc.subjectprogram comprehension
dc.titleReverse Engineering Object-Oriented Systems into Umple: An Incremental and Rule-Based Approach
dc.typeThesis
dc.faculty.departmentScience informatique et génie électrique/ Electrical Engineering and Computer science
dc.contributor.supervisorLethbridge, Timothy C.
dc.degree.namePhD
dc.degree.leveldoctorate
dc.degree.disciplineGénie / Engineering
thesis.degree.namePhD
thesis.degree.levelDoctoral
thesis.degree.disciplineGénie / Engineering
uottawa.departmentScience informatique et génie électrique/ Electrical Engineering and Computer science
CollectionThèses, 2011 - // Theses, 2011 -

Files
Garzon_Miguel_2015_thesis.pdfPhd thesis. Page numbers have been fixed.3.01 MBAdobe PDFOpen