Exploring the Neighborhood with Dora to Expedite Software Maintenance
Author : Hill, Emily; Pollock, Lori; Vijay-Shanker, K.
Booktitle : 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE)
Date : Nov 2007
Publisher : IEEE/ACM
Keyword(s) : Natural language program analysis, program exploration, software maintenance, software tools
Document Type : In Conference Proceedings
Completing software maintenance and evolution tasks for today’s large, complex software systems can be difficult, often requiring considerable time to understand the system well enough to make correct changes. Despite evidence that successful programmers use program structure as well as identifier names to explore software, most existing program exploration techniques use either structural or lexical identifier information. By using only one type of information, automated tools ignore valuable clues about a developer’s intentions–clues critical to the human program comprehension process. In this paper, we present and evaluate a technique that exploits both program structure and lexical information to help programmers more effectively explore programs. Our approach uses structural information to focus automated program exploration and lexical information to prune irrelevant structure edges from consideration. For the important program exploration step of expanding from a seed, our experimental results demonstrate that an integrated lexical- and structural-based approach is significantly more effective than a state-of-the-art structural program exploration technique.