Towards supporting on-demand virtual remodularization using program graphs

  • Authors:
  • David Shepherd;Lori Pollock;K. Vijay-Shanker

  • Affiliations:
  • University of Delaware, Newark, Delaware;University of Delaware, Newark, Delaware;University of Delaware, Newark, Delaware

  • Venue:
  • Proceedings of the 5th international conference on Aspect-oriented software development
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

OOP style requires programmers to organize their code according to objects (or nouns, using natural language as a metaphor), causing a program's actions (verbs) to become scattered during implementation. We define an Action-Oriented Identifier Graph (AOIG) to reconnect the scattered actions in an OOP system. An OOP system with an AOIG will essentially support the dynamic virtual remodularization of OOP code into an Action-Oriented View. We have developed an algorithm to automatically construct an AOIG, and an implementation of the construction process. To automatically construct an AOIG, we use Natural Language Processing (NLP) techniques to process the natural language clues left by programmers in source code and comments, and we connect code segments through the actions that they perform. Using a reasonably sized program, we present several applications of an AOIG (feature location, working set recovery, and aspect mining), which demonstrate how the AOIG can be used by software engineering tools to combat the tyranny of the dominant decomposition.