Towards supporting on-demand virtual remodularization using program graphs

David Shepherd, Lori Pollock, K. Vijay-Shanker
2006 Proceedings of the 5th international conference on Aspect-oriented software development - AOSD '06  
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
more » ... atically 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.
doi:10.1145/1119655.1119660 dblp:conf/aosd/ShepherdPV06 fatcat:jn2co55wlndv5d6we2fv7z2ppe