Swarthmore College Department of Computer Science

Talk by Lori Pollock, University of Delaware

Applying Natural Language Processing Analysis of Programs to Aid in Software Maintenance and Evolution
Monday, Apr 9 2007
4:15 pm in Science Center 240

Abstract

To locate bugs or modify an application, developers must identify the high-level idea, or CONCEPT, to be changed and then locate, comprehend, and carefully modify the concept's concern, or implementation, in the code. Software engineers increasingly rely on available software tools to automate maintenance tasks as much as possible; however, despite all of the available automated support, recent studies have shown that more development time is spent reading, locating, and comprehending code than actually writing code. We believe that software maintenance tools can be significantly improved by adapting natural language processing (NLP) to source code analysis, and integrating information retrieval (IR), NLP and traditional program analysis techniques to manage program complexity.

Our research focuses on exploiting the natural language information that is embedded in the identifiers, literals, comments, and bug reports of a program in order to develop analyses and integrated tools to assist software maintenance, including program understanding, debugging, and aspect mining.

This talk will describe some of our recent work on applying natural language processing techniques to the problem of locating and understanding the implementation of a high level concept, i.e., concern location. Our prototype tool, FindConcept, will be described as well as our evaluation study results.