Most traditional reverse engineering tools focus on abstraction and analysis of source code, presenting a visual representation of the software architecture. This approach can be both helpful and cost effective in software maintenance tasks. However, where large software teams are concerned, with moderate levels of employee turnover, traditional reverse engineering tools can be inadequate. To address this issue, we examine the use of software process data, such as software artifact change history and developer activities. We propose the application of this data confers additional information developers need to better understand, maintain and develop software in large team settings. To explore this hypothesis, we evaluate the use of a tool, Xia, in the navigation of both software artifacts and their version history. This work introduces Xia, reveals the results of our evaluation and proposes directions for future research in this area.
['Xiaomin Wu', 'Adam Murray', 'Margaret-Anne D. Storey', 'Robert Lintern']
A reverse engineering approach to support software maintenance: version control knowledge extraction