Programming plan abstraction: A cognitively motivated approach to program understanding using dependence analysis

Eng-Siong Tan, Purdue University

Abstract

When understanding programs, programmers do not merely seek local facts about program components, or specific types of global program relationships between components. Instead, they often seek goal or program-effect oriented information that requires them to visualize logically related, but widely scattered, events in a program, and to understand the sequencing between these events. That programmers seek such information, also referred to as programming plans, has been empirically demonstrated by work in software psychology. Furthermore, programmers do not simply use a pre-determined set of program views in passive ways. They need interactive facilities for defining new program views, integrating multiple program views, and "explaining" each program view (e.g. to relate the abstracted view to the program source). In this thesis, we present a new program understanding approach that seek to address these issues through (1) the algorithmic construction of plan-like program views for a broad class of programming plans, and (2) the design of interactive facilities to support programmers in the direct viewing, definition, integration and explanation of these plan-like program views. The constructed program views are plan-like in that they can describe all the statements in a program that are relevant to the goal or program effect achieved by a plan, describe the "pattern of occurrence" of these statements in the program, and summarize all these widely scattered but logically related information into a succinct, integrated, form. In this dissertation, we present the cognitive motivations underlying the design of our approach; demonstrate the construction and interactive manipulation of a wide variety of plan-like program views through a prototype PACM (Plan Abstractor, Constructor and Manipulator) tool; give the algorithms underlying our approach; and describe a preliminary evaluation of the utility of this approach.

Degree

Ph.D.

Advisors

Dietz, Purdue University.

Subject Area

Electrical engineering|Computer science

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server
.

Share

COinS