Hypothesis-based concept assignment in software maintenance

Software maintenance accounts for a significant proportion of the lifetime cost of a software system. Software comprehension is required in many parts of the maintenance process and is one of the most expensive activities. Many tools have been developed to help the maintainer reduce the time and cost of this task, but of the numerous tools and methods available one group has received relatively little attention: those using plausible reasoning to address the concept assignment problem. We present a concept assignment method for COBOL II: hypothesis-based concept assignment (HB-CA). An implementation of a prototype tool is described, and results from a comprehensive evaluation using commercial COBOL II sources are summarised. In particular, we identify areas of a standard maintenance process where such methods would be appropriate, and discuss the potential cost savings that may result.

[1]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

[2]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[3]  Ted J. Biggerstaff,et al.  Program understanding and the concept assignment problem , 1994, CACM.

[4]  Adele E. Howe,et al.  Program understanding behaviour during enhancement of large-scale software , 1997, J. Softw. Maintenance Res. Pract..

[5]  Thomas A. Standish An Essay on Software Reuse , 1984, IEEE Transactions on Software Engineering.

[6]  Kate Ehrlich,et al.  Empirical Studies of Programming Knowledge , 1984, IEEE Transactions on Software Engineering.

[7]  Rajiv D. Banker,et al.  Software complexity and maintenance costs , 1993, CACM.

[8]  Anneliese Amschler Andrews,et al.  Program Comprehension During Software Maintenance and Evolution , 1995, Computer.

[9]  Elliot Soloway,et al.  Mental models and software maintenance , 1986, J. Syst. Softw..

[10]  Vassileios Karakostas,et al.  Intelligent search and acquisition of business knowledge from programs , 1992, J. Softw. Maintenance Res. Pract..

[11]  Anneliese Amschler Andrews,et al.  Program understanding during software adaptation tasks , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[12]  Nicolas Edwin Gold,et al.  Hypothesis-based concept assignment to support software maintenance , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[13]  Teuvo Kohonen,et al.  Self-Organizing Maps , 2010 .

[14]  Wojtek Kozaczynski,et al.  Automated support for legacy code understanding , 1994, CACM.

[15]  Richard C. Waters,et al.  Challenges to the field of reverse engineering , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[16]  E. B. Swanson,et al.  Software maintenance management , 1980 .

[17]  Keith Brian Gallagher,et al.  Using Program Slicing in Software Maintenance , 1991, IEEE Trans. Software Eng..

[18]  Jorma Laaksonen,et al.  SOM_PAK: The Self-Organizing Map Program Package , 1996 .

[19]  Kate Ehrlich,et al.  Knowledge and processes in the comprehension of computer programs. , 1988 .