|
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
S. Abney. Partial parsing via finite-state cascades. In Workshop on Robust Parsing, 8th European Summer School in Logic, Language and Information, 1996.
|
| |
2
|
AJDT Homepage. http://www.eclipse.org/ajdt/. 2005. (January 17, 2005).
|
| |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
Ted J. Biggerstaff , Bharat G. Mitbander , Dallas Webster, The concept assignment problem in program understanding, Proceedings of the 15th international conference on Software Engineering, p.482-498, May 17-21, 1993, Baltimore, Maryland, United States
|
 |
7
|
|
| |
8
|
|
| |
9
|
|
| |
10
|
John Carroll and Ted Briscoe. High precision extraction of grammatical relations. In 7th International Workshop on Parsing Technologies, Beijing, 2001.
|
| |
11
|
|
 |
12
|
|
| |
13
|
|
| |
14
|
William G. Griswold, Yoshikiyo Kato, and Jimmy J. Yuan. Aspect browser: Tool support for managing dispersed aspects. In Workshop on Multi-Dimensional Separation of Concerns, 2000.
|
| |
15
|
J. Hannemann and G. Kiczales. Overcoming the prevalent decomposition of legacy code. In Wkshp on Advances Separation of Concerns, 2001.
|
| |
16
|
|
 |
17
|
|
| |
18
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
 |
19
|
|
| |
20
|
Taku Kudo and Yuji Matsumoto. Chunking with support vector machines. In NAACL 2001, 2001.
|
| |
21
|
|
| |
22
|
|
| |
23
|
|
 |
24
|
|
 |
25
|
|
| |
26
|
Gilad Mishne. Source code retrieval using conceptual graphs. In Proceedings RIAO, 2004.
|
| |
27
|
Jason Baldridge Tom Morton and Gann Bierner. OpenNLP maxent package in Java. http://maxent.sf.net.
|
| |
28
|
Gail Murphy, Mik Kersten, Martin Robilland, and Davor Cubranic. The emergent structure of development tasks. In ECOOP, 2005.
|
| |
29
|
|
| |
30
|
Adwait Ratnaparkhi. A maximum entropy part-of-speech tagger. In Proc. of the Empirical Methods in Natural Language Processing Conference, 1996.
|
| |
31
|
|
 |
32
|
|
| |
33
|
A. Sampaio, N. Loughran, A. Rashid, and P. Rayson. Mining aspects in requirements. In Workshop on Early Aspects, 2005.
|
 |
34
|
David Shepherd , Jeffrey Palm , Lori Pollock , Mark Chu-Carroll, Timna: a framework for automatically combining aspect mining analyses, Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, November 07-11, 2005, Long Beach, CA, USA
[doi> 10.1145/1101908.1101937]
|
 |
35
|
|
| |
36
|
Wojciech Skut and Thorsten Brants. A maximum-entropy partial parser for unrestricted text. In Sixth Workshop on Very Large Corpora, 1998.
|
 |
37
|
Peri Tarr , Harold Ossher , William Harrison , Stanley M. Sutton, Jr., N degrees of separation: multi-dimensional separation of concerns, Proceedings of the 21st international conference on Software engineering, p.107-119, May 16-22, 1999, Los Angeles, California, United States
[doi> 10.1145/302405.302457]
|
| |
38
|
M. Torii and K. Vijay-Shanker. Using machine learning for anaphora resolution in medline abstracts. In Proc. of Pacific Symposium on Computational Linguistics, 2005.
|
| |
39
|
|
CITED BY 4
|
Lori Pollock , K. Vijay-Shanker , David Shepherd , Emily Hill , Zachary P. Fry , Kishen Maloor, Introducing natural language program analysis, Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, p.15-16, June 13-14, 2007, San Diego, California, USA
|
|
David Shepherd , Lori Pollock , K. Vijay-Shanker, Case study: supplementing program analysis with natural language analysis to improve a reverse engineering task, Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, p.49-54, June 13-14, 2007, San Diego, California, USA
|
|
Ruzanna Chitchyan , Awais Rashid , Paul Rayson , Robert Waters, Semantics-based composition for aspect-oriented requirements engineering, Proceedings of the 6th international conference on Aspect-oriented software development, March 12-16, 2007, Vancouver, British Columbia, Canada
|
|
David Shepherd , Zachary P. Fry , Emily Hill , Lori Pollock , K. Vijay-Shanker, Using natural language program analysis to locate and understand action-oriented concerns, Proceedings of the 6th international conference on Aspect-oriented software development, March 12-16, 2007, Vancouver, British Columbia, Canada
|
|