Abstract
Program comprehension is an essential part of software engineering. The paper describes the constructivist theory of comprehension, a process based on assimilation and accommodation of knowledge. Assimilation means that the new facts are either added to the existing knowledge or rejected. Accommodation means that the existing knowledge is reorganized in order to absorb new facts. These processes are illustrated by case studies of knowledge-level reengineering of a legacy program and of incremental change. In both cases, we constructed preliminary knowledge from the program documentation, and then adjusted it by comprehending the actual code. The case studies supported constructivism as a suitable theory of program comprehension.
Similar content being viewed by others
References
Biggerstaff, T. J., Mitbander, B. G. and Webster, D. E., 1994: Program understanding and the concept assignment problem, Comun.of ACM 37 May, 72-78.
Booch, G., Rumbaugh, J. and I. Jacobson, 1998: The Unified Modeling Language User Guide, Addison-Wesley, Reading, MA.
Brooks, R., 1977: Towards a theory of the cognitive processes in computer programming, Int.J.Man-Machine Stud., 9, 737-751.
Canfora, G., De Lucia, A. and Di Lucca, G. A., 1999: An incremental object-oriented migration strategy for RPG legacy systems, Int.J.Software Engineer.Knowledge Engineer. 9, 5-25.
Chen, K. and Rajlich, V., 2000: Case study of feature location using dependence graph, in Proc.International Workshop on Program Comprehension, IEEE Computer Society Press, Los Alamitos, CA, pp. 241-249.
Fjeldstad, R. K. and Hamlen, W. T., 1982: Application Program Maintenance Study: Report to our respondents, in G. Parikh and N. Zvegintzov, (eds.), Tutorial on Software Maintenance, IEEE Computer Society Press, Los Alamitos, CA, pp. 13-30.
Jones, S. L. and Aitken, E. D., 1994: Convert3.0 User's Manual, ASI Systems International, Fort Walton Beach, FL.
Kozaczynski, W. and Wilde, N., 1992: On the re-engineering of transaction systems, J.Software Maintenance 4, 143-162.
Letovsky, S. and Soloway, E., 1986: Delocalized plans and program comprehension, IEEE Software, 3(3), 41-49. Mosaic Web site (source codes and documents). Available at: http://www.ncsa.uiuc.edu/SDG/ Software/Mosaic, accessed July 8, 2003
Murphy, G., Notkin, D. and Sullivan, K. J., 2001: Software reflection models: Bridging the gap between design and implementation, IEEE Trans.Software Engineer. 27, 364-380.
Novak, J. D., 1998: Learning, Creating, and Using Knowledge, Erlbaum, Mahwah, NJ.
Piaget, J., (1954) The Construction of Reality in the Child, Basic Books, New York.
Rajlich, V., Wilde, N., Buckellew, M. and Page, H., 2001: Software cultures and evolution, IEEE Comp. 34 September, 24-29.
von Glasersfeld, E., Radical Constructivism, The Falmer Press, London, 1995.
von Mayrhauser, A. and Vans, A., 1993: From program comprehension to tool requirements for an industrial environment, in Proc.2ndWorkshop on ProgramComprehension, IEEE Computer Society Press, Los Alamitos, CA, 78-86.
Wilde, N., Buckellew, M., Page, H. and Rajlich, V., 2001: A case study of feature location in unstructured legacy Fortran code, in Proc.Conf.on Software Maintenance and Reengineering, IEEE Computer Society Press, Los Alamitos, CA, pp. 68-76.
Wilde, N. and Scully, M. C., 1995: Software reconnaissance: Mapping program features to code, J.Software Maintenance: Res.Pract. 7, 49-62.
Wirfs-Brock, R., Wilkerson, B., Wiener, L. and Brock, R., 1990: Designing Object-Oriented Software, Prentice-Hall, Englewood Cliffs, NJ.
Wittgenstein, L., 1953: Philosophical Investigations, Macmillan, New York.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Rajlich, V. Case Studies of Constructivist Comprehension in Software Engineering. Brain and Mind 4, 229–238 (2003). https://doi.org/10.1023/A:1025461813458
Issue Date:
DOI: https://doi.org/10.1023/A:1025461813458