Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Springer Science - 2005 - Reverse Engineering of Object Orie.pdf
Скачиваний:
17
Добавлен:
15.08.2013
Размер:
6.11 Mб
Скачать

8

Conclusions

This chapter deals with the practical issues related to the adoption of reverse engineering techniques within an Object Oriented software development process. Tool support and integration is one of the main concerns. This chapter contains some considerations on a general architecture for tools that implement the techniques presented in the previous chapters. A survey of the existing support and of the current practice in reverse engineering is also provided.

Once an automated infrastructure for reverse engineering is in place, the process of software evolution has to be adapted so as to smoothly integrate the newly offered functionalities. This accounts for revising the main activities in the micro-process of software maintenance. The kind of support offered to program understanding has been already described in detail (see Chapter 1, eLib example). The way other activities are affected by the integration of a reverse engineering tool in the development process are described in this chapter, by reconsidering the eLib program and the change requests sketched in Chapter 1. Location of the changes in the source code, change implementation and assessment of the ripple effects are conducted on the eLib program, using, whenever possible, the information reverse engineered from the code.

A vision of the software development process that could be realized by exploiting the potential of reverse engineering concludes the chapter. The opportunities offered by new programming languages and paradigms for reverse engineering are outlined, as well as the possibility of integration with emerging development processes.

This chapter is organized as follows: Section 8.1 describes the main modules to be developed in a reverse engineering tool for Object Oriented code. Reverse engineered diagrams can be exploited for change location and implementation, as well as for change impact analysis. Their usage with the eLib program is presented in Section 8.2. The authors’ perspectives on potential improvements of the current practices are given in Section 8.3, with reference to new programming languages and development processes. Finally, related works are commented in the last section of the chapter.