Information relationships in PROLOG programs: how do programmers comprehend functionality?

https://doi.org/10.1016/S0020-7373(05)80131-2Get rights and content

Within the context of software development, psychological complexity is a measure of the difficulty a programmer experiences when interacting with a program. To date there has been little research to investigate models of program comprehension as a basis for developing psychological complexity metrics. The purpose of this study is to identify information relationships that reflect the organization of programmers' cognitive models during the comprehension of unfamiliar PROLOG programs. An analysis of frequency and temporal ordering of subject protocols provides support for a two-model theory of PROLOG comprehension. During comprehension, programmers construct both a program model based on the detection of data structure relationships and a domain or real-world model based on the detection of function relationships.

References (20)

There are more references available in the full text version of this article.

Cited by (29)

  • Systematic literature review of empirical studies on mental representations of programs

    2020, Journal of Systems and Software
    Citation Excerpt :

    Another group of studies included in our review found that programmers formed mental representations at varying levels of abstraction. Studies performed by Pennington (1987b), Bergantz and Hassell (1991), Burkhardt et al. (1997), Burkhardt et al. (2002), Ramalingam and Wiedenbeck (1997), Corritore and Wiedenbeck (1999), Wiedenbeck and Ramalingam (1999), Wiedenbeck et al. (1999), Mosemann and Wiedenbeck (2001), and Parkin (2004) support the two model theory that programmers form low level program models and high level situation or domain models during the comprehension process. Studies conducted by von Mayrhauser and Vans (1994, 1995, 1996, 1998), Vans (1996), von Mayrhauser et al. (1997), and Vans et al. (1999) found that programmers formed mental models at three levels of abstraction and switched between them during the comprehension process, with the program model as the lowest level, the situation model as the intermediate level, and the domain model as the highest level of abstraction.

  • Pair programming and the mysterious role of the navigator

    2008, International Journal of Human Computer Studies
    Citation Excerpt :

    For example, Brooks (1983) suggests the existence of a set of five ‘domains’ (problem, identifier, algorithmic, programming language and execution) and Pennington (1987) mixes abstraction and domain in her discussion of a detailed domain (of specific programming operations and variables), a programme domain (of routines and files) and a real-world domain. Bergantz and Hassell (1991) also discuss programming as requiring hierarchical models of abstract levels of functionality. Here we refer to the term ‘levels of abstraction’ to consider both level of granularity and domain.

  • Focal structures and information types in Prolog

    2001, International Journal of Human Computer Studies
View all citing articles on Scopus
View full text