skip to main content
10.1145/1218563.1218588acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Efficiently mining crosscutting concerns through random walks

Published:14 March 2007Publication History

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.

References

  1. Silvia Breu. Extending dynamic aspect mining with static information. Fifth IEEE International Workshop on Source Code Analysis and Manipulation, 0:57--65, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. Carla Sadtler. Websphere application server v5 architecture. URL: http://www.redbooks.ibm.com/abstracts/redp3721.html?Open.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. Paolo Tonella and Mariano Ceccato. Refactoring the aspectizable interfaces: An empirical assessment. IEEE Transactions on Software Engineering, 31(10):819--832, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle Scholar
  18. Charles Zhang and Hans-Arno Jacobsen. Refactoring Middleware with Aspects. IEEE Transactions on Parallel and Distributed Systems, 14(11):1058--1073, November 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Efficiently mining crosscutting concerns through random walks

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      AOSD '07: Proceedings of the 6th international conference on Aspect-oriented software development
      March 2007
      246 pages
      ISBN:1595936157
      DOI:10.1145/1218563
      • Conference Chair:
      • Brian Barry

      Copyright © 2007 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 14 March 2007

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate41of139submissions,29%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader