Software Reverse Engineering to Requirements

The aim of reverse engineering is to draw out many kinds of information from existing software and using this information for system renovation and program understanding. Based on traditional practice, reverse engineering and requirements engineering are two separate processes in software round trip engineering. In this paper, we argue that it is necessary to recover requirements from the reverse engineered outcome of legacy system and by integrating this outcome in the requirements phase of software life cycle, it is possible to have a better requirements elicitation, and clear understanding of what is redundant, what must be retained and what can be re-used. So we have presented a revised model of traditional re-engineering process and also described the rationality of the proposed model. In the paper we have also discussed briefly about software reverse engineering, requirement engineering and their basic practices and activities.

[1]  Tomasz Imielinski,et al.  Data on Air: Organization and Access , 1997, IEEE Trans. Knowl. Data Eng..

[2]  Jianliang Xu,et al.  The D-tree: an index structure for planar point queries in location-based wireless services , 2004, IEEE Transactions on Knowledge and Data Engineering.

[3]  Jianliang Xu,et al.  Grid-partition index: a hybrid method for nearest-neighbor queries in wireless location-based services , 2005, The VLDB Journal.

[4]  Jianliang Xu,et al.  Data Management in Location-Dependent Information Services , 2002, IEEE Pervasive Comput..

[5]  Igor Jurisica,et al.  Reverse engineering by mining dynamic repositories , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[6]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[7]  Anneliese Amschler Andrews,et al.  Program Understanding: Models and Experiments , 1995, Adv. Comput..

[8]  Nick Roussopoulos,et al.  Nearest neighbor queries , 1995, SIGMOD '95.

[9]  Stéphane Ducasse,et al.  Recovering high-level views of object-oriented applications from static and dynamic information , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[10]  Dik Lun Lee,et al.  Information dissemination via wireless broadcast , 2005, CACM.

[11]  Alan J. Brown,et al.  Specifications and reverse-engineering , 1993, J. Softw. Maintenance Res. Pract..

[12]  Yijun Yu,et al.  Reverse engineering goal models from legacy code , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).