Expectation‐based, inference‐based, and bottom‐up software comprehension

Michael P. O’Brien, Jim Buckley, Teresa M. Shaft · Journal of Software Maintenance and Evolution Research and Practice · 2004

Abstract The software comprehension process has been conceptualized as being either ‘top‐down’ or ‘bottom‐up’ in nature. We formally distinguish between two comprehension processes that have previously been grouped together as ‘top‐down’. The first is ‘expectation‐based’ comprehension, where the programmer has pre‐generated expectations of the code's meaning. The second is ‘inference‐based’ comprehension, where the programmer derives meaning from clichéd implementations in the code. We identify the distinguishing features of the two variants, and use these characteristics as the basis for an empirical study. This study establishes the existence of the above‐mentioned processes, in conjunction with ‘bottom‐up’ comprehension. It also illustrates the relationship between these processes and programmers' application domain familiarity. Copyright © 2004 John Wiley & Sons, Ltd.

Read the paper · More papers on PaperTik