Affiliation:
1. University of California, Irvine, Irvine, CA, USA
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference52 articles.
1. Statistical Debugging Using Latent Topic Models
2. Sourcerer
3. Elisa L. A. Baniassad Paul C. Clements Joao Araújo Ana Moreira Awais Rashid and Bedir Tekinerdogan. Discovering early aspects. phIEEE Software 23 (1): 61--70 2006. URL http://doi.ieeecomputersociety.org/10.1109/MS.2006.8. 10.1109/MS.2006.8 Elisa L. A. Baniassad Paul C. Clements Joao Araújo Ana Moreira Awais Rashid and Bedir Tekinerdogan. Discovering early aspects. phIEEE Software 23 (1): 61--70 2006. URL http://doi.ieeecomputersociety.org/10.1109/MS.2006.8. 10.1109/MS.2006.8
4. Design recovery for maintenance and reuse
Cited by
57 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献