Industrial experience with an integrated code comprehension model

Maintenance frequently consumes more resources than new software development. A major portion of the maintenance effort is spent trying to understand existing software. If more can be learnt about how programmers understand code successfully, better tools to support this understanding process can be built. This contributes to higher quality and improved efficiency of maintenance tasks. Audio-taped ‘think aloud’ reports were used to investigate an integrated code comprehension model during a variety of industrial maintenance activities. The tapes were analysed for information needs during maintenance activities and used to derive useful tool capabilities.

[1]  Anna Rita Fasolino,et al.  Recovering the architectural design for software comprehension , 1994, Proceedings 1994 IEEE 3rd Workshop on Program Comprehension- WPC '94.

[2]  J. Reitman,et al.  Knowledge organization and skill differences in computer programmers , 1981, Cognitive Psychology.

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

[4]  Paul J. Layzell,et al.  DOCKET: program comprehension-in-the-large , 1993, [1993] IEEE Second Workshop on Program Comprehension.

[5]  Keith H. Bennett,et al.  Theory and practice of middle-out programming to support program understanding , 1994, Proceedings 1994 IEEE 3rd Workshop on Program Comprehension- WPC '94.

[6]  Stanley Letovsky,et al.  Cognitive processes in program comprehension , 1986, J. Syst. Softw..

[7]  Vaclav Rajlich,et al.  Layered explanations of software: a methodology for program comprehension , 1994, Proceedings 1994 IEEE 3rd Workshop on Program Comprehension- WPC '94.

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

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

[10]  Keith H. Bennett Understanding the process of software maintenance , 1993, [1993] IEEE Second Workshop on Program Comprehension.

[11]  Aniello Cimitile,et al.  Program comprehension through the identification of abstract data types , 1994, Proceedings 1994 IEEE 3rd Workshop on Program Comprehension- WPC '94.

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

[13]  Iris Vessey,et al.  Expertise in Debugging Computer Programs: A Process Analysis , 1984, Int. J. Man Mach. Stud..

[14]  Bill Curtis,et al.  Breakdowns and processes during the early activities of software design by professionals , 1987 .

[15]  Sandrine Blazy,et al.  SFAC, a tool for program comprehension by specialization , 1994, Proceedings 1994 IEEE 3rd Workshop on Program Comprehension- WPC '94.

[16]  E. J. Younger,et al.  Model-based tools to record program understanding , 1993, [1993] IEEE Second Workshop on Program Comprehension.

[17]  Robert S. Rist Plans in programming: definition, demonstration, and development , 1986 .

[18]  Nancy Pennington,et al.  Comprehension strategies in programming , 1987 .

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

[20]  Ben Shneiderman,et al.  Software psychology: Human factors in computer and information systems (Winthrop computer systems series) , 1980 .