On the role of hypotheses during opportunistic understanding while porting large scale code

Hypotheses are major drivers of program comprehension. We report on a case study observing an experienced software engineer porting a large software system and the role of hypotheses in accomplishing the porting task. Observations confirm some existing theoretic models and experimental findings, but not all. While generalization based on a case study is of necessity limited, the results could be the basis for further experiments. They also point to information that mould help novices to become experts faster.

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

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

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

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

[5]  Scott P. Robertson,et al.  Expert problem solving strategies for program comprehension , 1991, CHI.

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

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

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

[9]  Elliot Soloway,et al.  Empirical Studies of Programmers: Second Workshop , 1991 .

[10]  Anneliese Amschler Andrews,et al.  Program Understanding: Models and Experiments , 1995, Adv. Comput..

[11]  Anneliese Amschler Andrews,et al.  Comprehension processes during large scale maintenance , 1994, Proceedings of 16th International Conference on Software Engineering.

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

[13]  Anneliese Amschler Andrews,et al.  Dynamic code cognition behaviors for large scale code , 1994, Proceedings 1994 IEEE 3rd Workshop on Program Comprehension- WPC '94.