Evaluating and Improving Reverse Engineering Tools

Developers tend to leave some important steps and actions (e.g. properly designing the system's architecture, code review and testing) out of the software development process, and use risky practices (e.g. the copy-paste technique) so that the software can be released as fast as possible. Howev...

Teljes leírás

Elmentve itt :
Bibliográfiai részletek
Szerző: Fülöp Lajos Jenő
További közreműködők: Gyimóthy Tibor (Témavezető)
Dokumentumtípus: Disszertáció
Megjelent: 2011-12-12
Tárgyszavak:
doi:10.14232/phd.874

mtmt:2771730
Online Access:http://doktori.ek.szte.hu/874
Leíró adatok
Tartalmi kivonat:Developers tend to leave some important steps and actions (e.g. properly designing the system's architecture, code review and testing) out of the software development process, and use risky practices (e.g. the copy-paste technique) so that the software can be released as fast as possible. However, these practices may turn out to be critical from the viewpoint of maintainability of the software system. In such cases, a cost-effective solution might be to re-engineer the system. Re-engineering consists of two stages, namely reverse-engineering information from the current system and, based on this information, forward-engineering the system to a new form. In this way, successful re-engineering significantly depends on the reverse engineering phase. Therefore, it is vital to guarantee correctness, and to improve the results of the reverse engineering step. Otherwise, the re-engineering of the software system could fail due to the bad results of reverse engineering. The above issues motivated us to develop a method which extends and improves one of our reverse engineering tools, and to develop benchmarks and to perform experiments on evaluating and comparing reverse engineering tools.