Using language clues to discover crosscutting concerns

  • Authors:
  • David Shepherd;Lori Pollock;Tom Tourwé

  • Affiliations:
  • University of Delaware, Newark, DE;Centrum voor Wiskunde en Informatica, Amsterdam, NL;University of Delaware, Newark, DE

  • Venue:
  • MACS '05 Proceedings of the 2005 workshop on Modeling and analysis of concerns in software
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Researchers have developed ways to describe a concern, to store a concern, and even to keep a concern's code quickly available while updating it. Work on identifying concerns (semi-)automatically, however, has yet to gain attention and practical use, even though it is a desirable prerequisite to all of the above activities, particularly for legacy applications. This paper describes a concern identification technique that leverages the natural language processing (NLP) information in source code. Developers often use NLP clues to help understand software, because NLP helps them identify concepts that are semantically related. However, few analyses use NLP to understand programs, or to complement other program analyses. We have observed that an NLP technique called lexical chains offers the NLP equivalent of a concern. In this paper, we investigate the use of lexical chaining to identify crosscutting concerns, present the design and implementation of an algorithm that uses lexical chaining to expose concerns, and provide examples of concerns that our tool is able to discover automatically.