Recovering Artifacts from Legacy Systems Using Pattern Matching

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.





References:
[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.