ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
A theory of aspects as latent topics
Full text PdfPdf (2.60 MB)
Source
Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications table of contents
Nashville, TN, USA
SESSION: Aspects and modularity table of contents
Pages: 543-562  
Year of Publication: 2008
ISBN:978-1-60558-215-3
Also published in ...
Authors
Pierre F. Baldi  University of California, Irvine, Irvine, CA, USA
Cristina V. Lopes  University of California, Irvine, Irvine, CA, USA
Erik J. Linstead  University of California, Irvine, Irvine, CA, USA
Sushil K. Bajracharya  University of California, Irvine, Irvine, CA, USA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 19,   Downloads (12 Months): 248,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1449764.1449807
What is a DOI?

ABSTRACT

After more than 10 years, Aspect-Oriented Programming (AOP) is still a controversial idea. While the concept of aspects appeals to everyone's intuitions, concrete AOP solutions often fail to convince researchers and practitioners alike. This discrepancy results in part from a lack of an adequate theory of aspects, which in turn leads to the development of AOP solutions that are useful in limited situations.

We propose a new theory of aspects that can be summarized as follows: concerns are latent topics that can be automatically extracted using statistical topic modeling techniques adapted to software. Software scattering and tangling can be measured precisely by the entropies of the underlying topic-over-files and files-over-topics distributions. Aspects are latent topics with high scattering entropy.

The theory is validated empirically on both the large scale, with a study of 4,632 Java projects, and the small scale, with a study of 5 individual projects. From these analyses, we identify two dozen topics that emerge as general-purpose aspects across multiple projects, as well as project-specific topics/concerns. The approach is also shown to produce results that are compatible with previous methods for identifying aspects, and also extends them.

Our work provides not only a concrete approach for identifying aspects at several scales in an unsupervised manner but, more importantly, a formulation of AOP grounded in information theory. The understanding of aspects under this new perspective makes additional progress toward the design of models and tools that facilitate software development.


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
2
 
3
Sushil Bajracharya, Trung Ngo, Erik Linstead, Yimeng Dou, Paul Rigor, Pierre Baldi, and Cristina Lopes. A study of ranking schemes in Internet-scale code search. Technical report, UCI Institute for Software Research, 2007.
 
4
 
5
 
6
 
7
 
8
 
9
 
10
11
 
12
 
13
 
14
 
15
16
 
17
 
18
 
19
20
 
21
22
 
23
 
24
J. Hannemann and G. Kiczales. Overcoming the prevalent decomposition of legacy code. In Workshop Advanced Separation of Concerns, ICSE'01, 2001.
25
 
26
 
27
Andy Kellens, Kim Mens, and Paolo Tonella. A survey of automated code-level aspect mining techniques. In Transactions on Aspect-Oriented Software Development IV. Springer Berlin / Heidelberg, 2007. 10.1007/978-3-540-77042-8_6.
 
28
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin. Aspect-oriented programming. In Mehmet Akcsit and Satoshi Matsuoka, editors, phEuropean Conference on Object-Oriented Programming, volume 1241 of phLNCS, pages 220--242. Springer Verlag, 1997.
 
29
 
30
31
 
32
 
33
 
34
 
35
Erik Linstead, Paul Rigor, Sushil Bajracharya, Cristina Lopes, and Pierre Baldi. Mining internet-scale software repositories. NIPS 2007: Advances in Neural Information Processing Systems 20, 0, 2008.
36
 
37
Cristina Videira Lopes. AOP: A historical perspective (what's in a name?). In Robert Filman, Tzilla Elrad, Siobhan Clarke, and Mehmet Aksit, editors, Aspect-Oriented Software Development, chapter 5, pages 97--122. Addison Wesley, 2004.
 
38
Cristina Videira Lopes and Sushil Krishna Bajracharya. Assessing aspect modularizations using design structure matrix and net option value. Transactions on Aspect-Oriented Software Development, 1: 1--35, 2006.
 
39
 
40
 
41
 
42
43
44
45
46
 
47
 
48
Claire Tristram. Untangling code. MIT Technology Review: Ten Emerging technologies that will change the world, February 2001.
49
50
 
51
Carl Zetie. Aspect-oriented programming considered harmful. Forrester Research, April 2005.
52


Collaborative Colleagues:
Pierre F. Baldi: colleagues
Cristina V. Lopes: colleagues
Erik J. Linstead: colleagues
Sushil K. Bajracharya: colleagues