ABSTRACT
Inspired by our past manual aspect mining experiences, this paper describes a random walk model to approximate how crosscutting concerns can be discovered in the absence of domain knowledge of the investigated application. Random walks are performed on the coupling graphs extracted from the program sources. The ideas underlying the popular page-rank algorithm are adapted and extended to generate ranks reflecting the degrees of "popularity" and "significance" for each of the program elements on the coupling graphs. Filtering techniques, exploiting both types of ranks, are applied to produce a final list of candidates representing crosscutting concerns. The resulting aspect mining algorithm is evaluated on numerous Java applications ranging from a small-scale drawing application, to a medium-sized middleware application, and to a largescale enterprise application server. In seconds, the aspect mining algorithm is able to produce results comparable to our prior manual mining efforts. The mining algorithm also proves effective in helping domain experts identify latent crosscutting concerns.
- Silvia Breu. Extending dynamic aspect mining with static information. Fifth IEEE International Workshop on Source Code Analysis and Manipulation, 0:57--65, 2005. Google ScholarDigital Library
- Silvia Breu and Thomas Zimmermann. Mining aspects from history. In Sebastian Uchitel and Steve Easterbrook, editors, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE 2006). ACM Press, September 2006. Google ScholarDigital Library
- Magiel Bruntink, Arie van Deursen, Remco van Engelen, and Tom Tourw. On the use of clone detection for identifying crosscutting concern code. IEEE Transactions on Software Engineering, 31(10):804--818, 2005. Google ScholarDigital Library
- Adrian Colyer and Andrew Clement. Large-scale AOSD for middleware. In 3rd International Conference on Aspect-oriented Software Development (AOSD '04), pages 56 -- 65, Lancaster, UK, 2004. Google ScholarDigital Library
- Jan Hannemann and Gregor Kiczales. Overcoming the Prevalent Decomposition of Legacy Code. In Workshop on Advanced Separation of Concerns at the International Conference on Software Engineering (ICSE), Toronto, Ontario, Canada, 2001. URL: http://www.cs.ubc.ca/~jan/amt/.Google Scholar
- Katsuro Inoue, Reishi Yokomori, Hikaru Fujiwara, Tetsuo Yamamoto, Makoto Matsushita, and Shinji Kusumoto. Component rank: relative significance rank for software component search. In ICSE '03: Proceedings of the 25th International Conference on Software Engineering, pages 14--24, Washington, DC, USA, 2003. IEEE Computer Society. Google ScholarDigital Library
- Doug Janzen and Kris De Volder. Navigating and querying code without getting lost. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 178--187, New York, NY, USA, 2003. ACM Press. Google ScholarDigital Library
- Marius Marin, Arie van Deursen, and Leon Moonen. Identifying aspects using fan-in analysis. In WCRE '04: Proceedings of the 11th Working Conference on Reverse Engineering (WCRE'04), pages 132--141, Washington, DC, USA, 2004. IEEE Computer Society. Google ScholarDigital Library
- Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Winograd. The pagerank citation ranking: Bringing order to the web. Technical report, Stanford Digital Library Technologies Project, Stanford University, Stanford, CA.Google Scholar
- Martin P. Robillard and Gail C. Murphy. Concern graphs: Finding and describing concerns using structural program dependencies. In International Conference on Software Engineering, Orlando, Florida, USA, May 19--25, 2002 2002. Google ScholarDigital Library
- Carla Sadtler. Websphere application server v5 architecture. URL: http://www.redbooks.ibm.com/abstracts/redp3721.html?Open.Google Scholar
- David Shepherd, Lori Pollock, and Tom Tourwé. Using language clues to discover crosscutting concerns. In MACS '05: Proceedings of the 2005 workshop on Modeling and analysis of concerns in software, pages 1--6, New York, NY, USA, 2005. ACM Press. Google ScholarDigital Library
- Paolo Tonella and Mariano Ceccato. Aspect mining through the formal concept analysis of execution traces. In WCRE '04: Proceedings of the 11th Working Conference on Reverse Engineering (WCRE'04), pages 112--121, Washington, DC, USA, 2004. IEEE Computer Society. Google ScholarDigital Library
- Paolo Tonella and Mariano Ceccato. Refactoring the aspectizable interfaces: An empirical assessment. IEEE Transactions on Software Engineering, 31(10):819--832, 2005. Google ScholarDigital Library
- A. van Deursen, M. Marin, and L. Moonen. Ajhotdraw: A showcase for refactoring to aspects. In Workshop on Linking Aspects and Evolution (LATE05). 4th International Conference on Aspect-Oriented Programming, 2005.Google Scholar
- Yijun Yu, Julio Cesar Sampaio do Prado Leite, and John Mylopoulos. From goals to aspects: Discovering aspects from requirements goal models. In RE '04: Proceedings of the Requirements Engineering Conference, 12th IEEE International (RE '04), pages 38--47. IEEE Computer Society, 2004. Google ScholarDigital Library
- Charles Zhang, Dapeng Gao, and Hans-Arno Jacobsen. Extended Aspect Mining Tool. CASCON 2003 Poster. URL:http://www.eecg.utoronto.ca/~czhang/amtex, October 2002.Google Scholar
- Charles Zhang and Hans-Arno Jacobsen. Refactoring Middleware with Aspects. IEEE Transactions on Parallel and Distributed Systems, 14(11):1058--1073, November 2003. Google ScholarDigital Library
- Charles Zhang and Hans-Arno Jacobsen. Prism is research in aspect mining. In OOPSLA '04: Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, pages 20--21, New York, NY, USA, 2004. ACM Press. Google ScholarDigital Library
- Charles Zhang and Hans-Arno Jacobsen. Resolving feature convolution in middleware systems. In OOPSLA '04: Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 188--205, New York, NY, USA, 2004. ACM Press. Google ScholarDigital Library
- Charles Zhang and Hans-Arno Jacobsen. Prism Query Language:A Crosscutting Concern Investigation Language. Software Demonstration, in 5th International Conference of Aspect Oriented Software Development. Available at: http://www.eecg.utoronto.ca/~czhang/pql, March 2005.Google Scholar
- Hui Zhang, Ashish Goel, Ramesh Govindan, Kahn Mason, and Benjamin Van Roy. Making Eigenvector-Based Reputation Systems Robust to Collusion. In Third International Workshop on Algorithms and Models for the Web-Graph, volume 3233 of Lecture Notes in Computer Science, 2004.Google ScholarCross Ref
Index Terms
- Efficiently mining crosscutting concerns through random walks
Recommendations
Mining Crosscutting Concerns through Random Walks
Inspired by our past manual aspect mining experiences, this paper describes a probabilistic random walk model to approximate the process of discovering crosscutting concerns (CCs) in the absence of the domain knowledge about the investigated ...
Mining and classification of diverse crosscutting concerns
LATE '08: Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolutionCrosscutting concerns appear in software system due to the inherent inadequacy of OOP mechanisms to capture them in suitable encapsulating units. This results in scattered and tangled code. One more form of scattering and tangling may result from the ...
A partitional clustering algorithm for crosscutting concerns identification
SEPADS'09: Proceedings of the 8th WSEAS International Conference on Software engineering, parallel and distributed systemsIdentifying crosscutting concerns is an important issue in the maintenance of software systems. It aims at refactoring the existing systems to use aspect oriented programming, in order to make them easier to maintain and to evolve. In this paper we ...
Comments