Aspect Mining Process Design Using Abstract Syntax Tree

추상구문트리를 이용한 어스팩트 마이닝 프로세스 설계

  • Received : 2011.04.26
  • Accepted : 2011.05.12
  • Published : 2011.05.28


Aspect-oriented programming is the paradigm which extracts crosscutting concern from a system and solves scattering of a function and confusion of a code through software modularization. Existing aspect developing method has a difficult to extract a target area, so it is not easy to apply aspect mining. In an aspect minning, it is necessary a technique that convert existing program refactoring elements to crosscutting area. In the paper, it is suggested an aspect mining technique for extracting crosscutting concern in a system. Using abstract syntax structure specification, extract functional duplicated relation elements. Through Apriori algorithm, it is possible to create a duplicated syntax tree and automatic creation and optimization of a duplicated source module, target of crosscutting area. As a result of applying module of Berkeley Yacc(berbose.c) to mining process, it is confirmed that the length and volume of program has been decreased of 9.47% compared with original module, and it has been decreased of 4.92% in length and 5.11% in volume compared with CCFinder.


  1. D. P. Mohapatra and M. Sahu, "Dynamic Slicing of Aspect-Oriented Programs," in Proc. of Informatica, 2008.
  2. S. Apel, C. Kastner, and D. Batory., "Program refactoring using functional aspects," In Proceedings of the 7th International Conference on Generative Programming and Component Engineering. ACM Press, pp.161-170, 2008.
  3. M. P. Monteiro, "Object-to-aspect refracturing for feature extraction," in Proc. of AOSD, 2004.
  4. S. Hanenberg, C. Oberschulte, and R. Unland., "Refactoring of Aspect-Oriented Software," In Proceedings of the 4th International Conference on Object-Oriented and Internet-based Technologies, Concepts, and Applications for a Networked World, pp.9-35, 2003.
  5. M. Rieger and S. Demeyer, "A Language Independent Approach for Detecting Duplicated Code," in Proc. of ICSM, 1999.
  6. Toshihiro Kamiya, Shinji Kusumoto, Katsuro Inoue, "CCFinder: A Multilinguistic Token Based Code Clone Detection System for Large Scale Source Code," IEEE transactions on software engineering, Vol.29, No.7, 2002(7).
  7. B. S. Baker, "A Program for Identifying Duplicated Code," in Proc. of WCRE, 1999.
  9. M. Hahsler, B. Grun, K. Hornik, and C. Buchta, "Introduction to arules - A computational environment for mining association rules and frequent item sets," The Comprehensive R Archive Network, 2010(3).