Software Artifacts Extraction for Program Comprehension

The maintenance of legacy software applications is a complex, expensive, quiet challenging, time consuming and daunting task due to program comprehension difficulties. The first step for software maintenance is to understand the existing software and to extract the high level abstractions from the source code. A number of methods, techniques and tools are applied to understand the legacy code. Each technique supports the particular legacy applications with automated/semi-automated tool support keeping in view the requirements of the maintainer. Most of the techniques support the modern languages but lacks support for older technologies. This paper presents a lightweight methodology for extraction of different artifacts from legacy COBOL and other applications

[1]  Volker Haarslev,et al.  Ontology-based Program Comprehension Tool Supporting Website Architectural Evolution , 2006, 2006 Eighth IEEE International Symposium on Web Site Evolution (WSE'06).

[2]  Norman Wilde,et al.  A comparison of methods for locating features in legacy software , 2003, J. Syst. Softw..

[3]  Thomas M. Pigoski Practical Software Maintenance: Best Practices for Managing Your Software Investment , 1996 .

[4]  Abdelwahab Hamou-Lhadj Techniques to simplify the analysis of execution traces for program comprehension , 2006 .

[5]  Margaret-Anne D. Storey,et al.  Theories, tools and research methods in program comprehension: past, present and future , 2006, Software Quality Journal.

[6]  Yiannis Kanellopoulos,et al.  Data mining source code to facilitate program comprehension: experiments on clustering data retrieved from C++ programs , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[7]  Michael W. Godfrey,et al.  Query Technologies and Applications for Program Comprehension (QTAPC 2008) , 2008, 2008 16th IEEE International Conference on Program Comprehension.

[8]  Harry M. Sneed,et al.  Understanding software through numbers: A metric based approach to program comprehension , 1995, J. Softw. Maintenance Res. Pract..

[9]  Hausi A. Müller,et al.  Understanding Software Systems Using Reverse Engineering Technology , 1994, COODBSE.

[10]  Michael John Pacione Software visualization for object-oriented program comprehension , 2004, Proceedings. 26th International Conference on Software Engineering.

[11]  G. Rasool,et al.  Software Artifacts Recovery using Abstract Regular Expressions , 2007, 2007 IEEE International Multitopic Conference.

[12]  Mikolás Janota,et al.  Formal Approach to Integrating Feature and Architecture Models , 2008, FASE.

[13]  J. Ng Identification of behavioral and creational design patterns through dynamic analysis , 2008 .

[14]  Rainer Koschke,et al.  Aiding program comprehension by static and dynamic feature analysis , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[15]  James D. Herbsleb,et al.  Program comprehension as fact finding , 2007, ESEC-FSE '07.

[16]  T. Kuipers,et al.  Techniques for understanding legacy software systems , 2002 .

[17]  Arie van Deursen,et al.  Execution trace analysis through massive sequence and circular bundle views , 2008, J. Syst. Softw..

[18]  Capers Jones,et al.  GERIATRIC ISSUES OF AGING SOFTWARE , 2007 .

[19]  Andy Zaidman,et al.  How Webmining and Coupling Metrics Improve Early Program Comprehension , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[20]  Letha H. Etzkorn,et al.  Improving program comprehension by combining code understanding with comment understanding , 2008, Knowl. Based Syst..

[21]  Paul J. Layzell,et al.  Facilitating program comprehension by mining association rules from source code , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[22]  Aniello Cimitile,et al.  Identifying objects in legacy systems using design metrics , 1999, J. Syst. Softw..

[23]  Andrian Marcus,et al.  3D representations for software visualization , 2003, SoftVis '03.