Abstract
Developers need to comprehend a program before modifying it. In such cases,developers use cues to establish the relevance of a piece of information with a task. Beingfamiliar with different kinds of cues will help the developers to comprehend a programfaster. But unlike the experienced developers, novice developers fail to recognize therelevant cues, because (a) there are many cues and (b) they might be unfamiliar with theartifacts. However, not much is known about the developers’ choice of cue. Hence, weconducted two independent studies to understand the kind of cues used by the developersand how a tool influences their cue selection. First, from our user study on two commoncomprehension tasks, we found that developers actively seek the cues and their cue sourcechoices are similar but task dependent. In our second exploratory study, we investigatedwhether an integrated development environment (IDE) influences a developer’s cuechoices. By observing their interaction history while fixing bugs in Eclipse IDE, we foundthat the IDE’s influence on their cue choices was not statistically significant. Finally, as acase in point, we propose a novel task-specific program summarization approach to aidnovice developers in comprehending an unfamiliar program. Our approach used devel-opers cue choices to synthesize the summaries. A comparison of the synthesized sum-maries with the summaries recorded by the developers shows both had similar content.This promising result encourages us to explore task-specific cue models, which can aidnovice developers to accomplish complex comprehension tasks faster