Recovering Artifacts from Legacy Systems Using Pattern Matching
Authors: Ghulam Rasool, Ilka Philippow
Abstract:
Modernizing legacy applications is the key issue facing IT managers today because there's enormous pressure on organizations to change the way they run their business to meet the new requirements. The importance of software maintenance and reengineering is forever increasing. Understanding the architecture of existing legacy applications is the most critical issue for maintenance and reengineering. The artifacts recovery can be facilitated with different recovery approaches, methods and tools. The existing methods provide static and dynamic set of techniques for extracting architectural information, but are not suitable for all users in different domains. This paper presents a simple and lightweight pattern extraction technique to extract different artifacts from legacy systems using regular expression pattern specifications with multiple language support. We used our custom-built tool DRT to recover artifacts from existing system at different levels of abstractions. In order to evaluate our approach a case study is conducted.
Keywords: Artifacts recovery, Pattern matching, Reverseengineering, Program understanding, Regular expressions, Sourcecode analysis.
Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1055144
Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1902References:
[1] Pressman, Roger S., Software Engineering: A Practitioner-s Approach, McGraw Hill, 1997.
[2] Ghulam Rasool, Nadim Asif, " A Design Recovery Tool", International Journal of Software Engineering, ISSN(1815-4875), Vol 1, pages 67- 72, May 2007
[3] Paul, S. and Prakash, "A framework for Source Code Search using Program Patterns". IEEE Transactions on Software Engineering, vol 20, pp 463-475, 1994.
[4] Tony Abou-Assalaeh and Wei Ai, "Survey of Global,Regular Expression Print(GREP) Tools", March 02, 2004.
[5] Darren C. Atkinson, William G. Griswold, "Effective pattern matching of source code using abstract syntax patterns", SP&E, pp 413-447, December, 2005 (www.interscience.wiley.com). DOI: 10.1002/spe.704.
[6] Burson S, Kotik GB, Markosian LZ, "A program transformation approach to automating software re-engineering", IEEE Computer Society Press: pp 314-322, Los Alamitos, CA, 1990.
[7] Paul S, Prakash A. "A Query Algebra for Program Databases". IEEE Transactions on Software Engineering 1996; vol 2 pp 202-217.
[8] Ladd DA, Ramming JC. " A* A language for implementing language processors" IEEE Proc on Software Engineering, vol 21, pp894- 901,1995
[9] Devanbu P.T. GENOAÔÇö"A customizable, language- and front-end independent code analyzer", Procs of the 14th International Conference on Software Engineering", Melbourne, Australia, ACM Press New York, pp 307-317, 1992.
[10] http://kilana.unibe.ch:8080/SCG/370 (Accessed on 10th June 2007).
[11] Imagix4D,UR=http://www.imagix.comImagix Corp. (Accessed 10th march, 2007).
[12] Rigi,URL=http://www.rigi.csc.univ.ca/rigi/rigiindex.html (Accessed 5th march, 2007).
[13] Kamran Sartipi, Lingdong Ye and Hossein Safyallah, An Interactive Toolkit to Extract Static and Dynamic Views of a Software System, Proceedings of the 14th IEEE International Conference on Program Comprehension (ICPC-06)0-7695-2601-2/06.
[14] P.J. Finnigan, R. Holt, I. Kalas, S. Kerr, K. Kontogiannis, et al. The software bookshelf. IBM Systems Journal, 36(4):564-593, November 1997.
[15] Meena Jha1, Piyush Maheshwari, Thi Khoi Anh Phan, A technical Report On, "A Comparison of Four Software Architecture Reconstruction Toolkits", UNSW-CSE-TR- 0435, October 2004.
[16] Bauhaus group, "Tour de Bauhaus", http://www.Bauhausstuttgart. de/demo/index.html, version 4.7.2, December 2003.
[17] Martin Pinzger, Harald Gall, Pattern supported architecture recovery, In proceeding of 10th International Workshop on program comprehension (IWPC-02).
[18] D. R. Harris, H. B. Reubenstein, and A. S. Yeh. Reverse engineering to the architectural level. In Proc. of the 17thInternational Conference on Software Engineering, pages 186-195, Seattle, Washington, April 1995. ACM Press.
[19] G. Guo, J. Atlee, and R. Kazman. A software architecture reconstruction method. In Proc. of the 1st Working IFIPConference on Software Architecture, pages 225-243, San Antonio, Texas, February 1999. Kluwer Academic Publishers.
[20] K. Sartipi, K. Kontogiannis, and F. Mavaddat. A pattern matching framework for software architecture recovery andrestructuring. In Proc. of the 8th International Workshop on Program Comprehension, pages 37-47, Limerick, Ireland,June 2000.
[21] Ilka Philippow, Detlef Streitferdt, Matthias Riebisch, Sebastian Naumann, An approach for reverse engineering of design patterns, Accepted: 29 January 2004/Published online: 29 April 2004 - ´ÇáSpringer- Verlag 2004.
[22] Ghulam Rasool, Nadim Asif, "Software Artifacts Recovery Using Abstract Regular Expressions", In Proc of 11th IEEE Multitopic Conference, 28-30 December 2007 , Comsats Institute of IT Lahore Campus.
[23] Nadim Asif, "Software Revere Engineering", ISBN 969-9062-00-2 Pakistan.
[24] http://www.codeproject.com/useritems/talk2me.asp (Accessed on 22th April 2008).
[25] G. Rasool, N. Asif" International Journal of Software Engineering of software Engineering", Vol 1, No.1. pp. 67-71, May 2007.