Reverse Engineering Object-Oriented Systems into Umple: An Incremental and Rule-Based Approach
| dc.contributor.author | Garzón, Miguel Alejandro | |
| dc.contributor.supervisor | Lethbridge, Timothy C. | |
| dc.date.accessioned | 2015-08-07T17:21:12Z | |
| dc.date.available | 2015-08-07T17:21:12Z | |
| dc.date.created | 2015 | |
| dc.date.issued | 2015 | |
| dc.degree.discipline | Génie / Engineering | |
| dc.degree.level | doctorate | |
| dc.degree.name | PhD | |
| dc.description.abstract | This 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.faculty.department | Science informatique et génie électrique/ Electrical Engineering and Computer science | |
| dc.identifier.uri | http://hdl.handle.net/10393/32615 | |
| dc.identifier.uri | http://dx.doi.org/10.20381/ruor-4206 | |
| dc.language.iso | en | |
| dc.publisher | Université d'Ottawa / University of Ottawa | |
| dc.subject | Unified Modeling Language | |
| dc.subject | Object-oriented programming | |
| dc.subject | reverse engineering | |
| dc.subject | Umple | |
| dc.subject | modeling | |
| dc.subject | program comprehension | |
| dc.title | Reverse Engineering Object-Oriented Systems into Umple: An Incremental and Rule-Based Approach | |
| dc.type | Thesis | |
| thesis.degree.discipline | Génie / Engineering | |
| thesis.degree.level | Doctoral | |
| thesis.degree.name | PhD | |
| uottawa.department | Science informatique et génie électrique/ Electrical Engineering and Computer science |
Files
Original bundle
1 - 1 of 1
Loading...
- Name:
- Garzon_Miguel_2015_thesis.pdf
- Size:
- 2.94 MB
- Format:
- Adobe Portable Document Format
- Description:
- Phd thesis. Page numbers have been fixed.
License bundle
1 - 1 of 1
Loading...
- Name:
- license.txt
- Size:
- 4.07 KB
- Format:
- Item-specific license agreed upon to submission
- Description:
