The Open UniversitySkip to content

Reverse Engineering Goal Models from Legacy Code

Yu, Yijun; Wang, Yiqiao; Mylopoulos, J.; Liaskos, S.; Lapouchnian, A. and do Prado Leite, J.C.S. (2005). Reverse Engineering Goal Models from Legacy Code. In: 13th IEEE International Conference on Requirements Engineering (RE'05), 29 Aug - 2 Sep 2005, Paris, France.

DOI (Digital Object Identifier) Link:
Google Scholar: Look up in Google Scholar


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).

Item Type: Conference or Workshop Item
Keywords: reverse engineering; software maintenance; hammock graph construction; legacy code; nonfunctional requirements identification; program abstract syntax tree; requirements recovery; source code refactoring; stakeholder goal model recovery; statechart refactoring
Academic Unit/School: Faculty of Science, Technology, Engineering and Mathematics (STEM) > Computing and Communications
Faculty of Science, Technology, Engineering and Mathematics (STEM)
Research Group: Centre for Research in Computing (CRC)
Item ID: 6945
Depositing User: Yijun Yu
Date Deposited: 20 Feb 2007
Last Modified: 07 Dec 2018 09:01
Share this page:


Altmetrics from Altmetric

Citations from Dimensions

Actions (login may be required)

Policies | Disclaimer

© The Open University   contact the OU