DocumentCode
2393085
Title
Reverse engineering goal models from legacy code
Author
Yu, Yijun ; Wang, Yiqiao ; Mylopoulos, John ; Liaskos, Sotirios ; Lapouchnian, Alexei ; Leite, Julio Cesar Sampaio do Prado
Author_Institution
Dept. of Comput. Sci., Toronto Univ., Ont., Canada
fYear
2005
fDate
29 Aug.-2 Sept. 2005
Firstpage
363
Lastpage
372
Abstract
A reverse engineering process aims at reconstructing high-level abstractions from source code. This paper presents a novel reverse engineering methodology for recovering stakeholder goal models from both structured and unstructured legacy code. The methodology consists of the following major steps: 1) Refactoring source code by extracting methods based on comments; 2) Converting the refactored code into an abstract structured program through statechart refactoring and hammock graph construction; 3) Extracting a goal model from the structured program´s abstract syntax tree; 4) Identifying nonfunctional requirements and derive soft goals based on the traceability between the code and the goal model. To illustrate this requirements recovery process, we refactor stakeholder goal models from two legacy software code bases: an unstructured Web-based email in PHP (SquirrelMail) and a structured email client system in Java (Columba).
Keywords
reverse engineering; software maintenance; trees (mathematics); hammock graph construction; legacy code; nonfunctional requirements identification; program abstract syntax tree; requirements recovery; reverse engineering; source code refactoring; stakeholder goal model recovery; statechart refactoring; Computer architecture; Computer science; Design engineering; Electronic mail; Java; Proposals; Reverse engineering; Service oriented architecture; Software systems; Tree graphs;
fLanguage
English
Publisher
ieee
Conference_Titel
Requirements Engineering, 2005. Proceedings. 13th IEEE International Conference on
Print_ISBN
0-7695-2425-7
Type
conf
DOI
10.1109/RE.2005.61
Filename
1531056
Link To Document