This Article 
 Bibliographic References 
 Add to: 
Reengineering Technologies
Nov.-Dec. 2011 (vol. 28 no. 6)
pp. 13-17
Software systems must continually evolve to meet ever changing needs. However, such systems often become legacy systems as a consequence of uncontrolled maintenance combined with obsolete technology. To control maintenance costs and preserve complex embedded business rules, companies must evolve their legacy systems. This article introduces technologies for software reengineering.

1. E.J. Chikofsky and J.H. Cross, "Reverse Engineering and Design Recovery: A Taxonomy," IEEE Software, vol. 7, no. 1, 1990, pp. 13–17.
2. G. Canfora, M.D. Penta, and L. Cerulo, "Achievements and Challenges in Software Reverse Engineering," Comm. ACM, vol. 54, no. 4, 2011, pp. 142–151.
3. C. Ebert and R. Dumke, Software Measurement: Establish—Extract—Evaluate—Execute, Springer, 2007.
4. ISO/IEC DIS 19506, Information Technology—Architecture-Driven Modernization—Knowledge Discovery Meta-model (KDM), v1.1 (Architecture-Driven Modernization), ISO/IEC, 2009, p. 302; catalogue_detail_ics.htm?ics1=35&ics2=080&ics3=&csnumber=32625 .
5. H.M. Sneed, "Estimating the Costs of a Reengineering Project," Proc. 12th Working Conf. Reverse Eng., IEEE CS Press, 2005, pp. 111–119.

Index Terms:
reengineering, reengineering tools, modernization, ADM, legacy system
Ricardo Pérez-Castillo, Ignacio García-Rodriguez de Guzmán, Mario Piattini, Christof Ebert, "Reengineering Technologies," IEEE Software, vol. 28, no. 6, pp. 13-17, Nov.-Dec. 2011, doi:10.1109/MS.2011.145
Usage of this product signifies your acceptance of the Terms of Use.