Program Comprehension as a Learning Process

The paper describes the process of program comprehension from the point of view of constructivist theory of learning. According to this view, program comprehension starts with the pre-existing knowledge and continues through processes of assimilation and adaptation. The assimilation means that the facts encountered in the program are either added to the knowledge or rejected. Adaptation means that the existing knowledge is reorganized in order to absorb new facts. These processes are illustrated by a case study where the knowledge of the program is represented by UML class diagrams.

[1]  Anneliese Amschler Andrews,et al.  From program comprehension to tool requirements for an industrial environment , 1993, [1993] IEEE Second Workshop on Program Comprehension.

[2]  Elliot Soloway,et al.  Delocalized Plans and Program Comprehension , 1986, IEEE Software.

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

[4]  Norman Wilde,et al.  On the re-engineering of transaction systems , 1992, J. Softw. Maintenance Res. Pract..

[5]  Václav Rajlich,et al.  Case study of feature location using dependence graph , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[6]  J. Piaget The construction of reality in the child , 1954 .

[7]  West Florida,et al.  Software Cultures and Evolution , 2001 .

[8]  Ruven E. Brooks Towards a theory of the cognitive processes in computer programming , 1999, Int. J. Hum. Comput. Stud..

[9]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[10]  Norman Wilde,et al.  The role of concepts in program comprehension , 2002, Proceedings 10th International Workshop on Program Comprehension.