The Community for Technology Leaders
RSS Icon
Issue No.05 - Sept.-Oct. (2012 vol.38)
pp: 1123-1137
Charles Zhang , The Hong Kong University of Science and Technology, Hong Kong
Hans-Arno Jacobsen , University of Toronto, Toronto
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 application. The random walks are performed on the concept graphs extracted from the program sources to calculate metrics of “utilization” and “aggregation” for each of the program elements. We rank all the program elements based on these metrics and use a threshold to produce a set of candidates that represent crosscutting concerns. We implemented the algorithm as the Prism CC miner (PCM) and evaluated PCM on Java applications ranging from a small-scale drawing application to a medium-sized middleware application and to a large-scale enterprise application server. Our quantification shows that PCM is able to produce comparable results (95 percent accuracy for the top 125 candidates) with respect to the manual mining effort. PCM is also significantly more effective as compared to the conventional approach.
Phase change materials, Radiation detectors, Data mining, Manuals, Mathematical model, Computational modeling, Algorithm design and analysis, mining crosscutting concerns, Aspect mining
Charles Zhang, Hans-Arno Jacobsen, "Mining Crosscutting Concerns through Random Walks", IEEE Transactions on Software Engineering, vol.38, no. 5, pp. 1123-1137, Sept.-Oct. 2012, doi:10.1109/TSE.2011.83
[1] G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin, "Aspect-Oriented Programming," Proc. European Conf. Object-Oriented Programming, M. Akşit and S. Matsuoka, eds., pp. 220-242, 1997.
[2] M. Eaddy, T. Zimmermann, K. Sherwood, V. Garg, G. Murphy, N. Nagappan, and A. Aho, "Do Crosscutting Concerns Cause Defects?" IEEE Trans. Software Eng., vol. 34, no. 4, pp. 497-515, May 2008.
[3] C. Zhang, D. Gao, and H.-A. Jacobsen, "Towards Just-in-Time Middleware Architectures," Proc. Fourth Int'l Conf. Aspect-Oriented Software Development, pp. 63-74, 2005.
[4] F. Hunleth and R. Cytron, "Footprint and Feature Management Using Aspect-Oriented Programming Techniques," Proc. Joint Conf. Languages, Compilers, and Tools for Embedded Systems, 2002.
[5] A. Colyer and A. Clement, "Large-Scale AOSD for Middleware," Proc. Third Int'l Conf. Aspect-Oriented Software Development, pp. 56-65, 2004.
[6] C. Zhang and H.-A. Jacobsen, "Refactoring Middleware with Aspects," IEEE Trans. Parallel and Distributed Systems, vol. 14, no. 11, pp. 1058-1073, Nov. 2003.
[7] M. Marin, A. van Deursen, and L. Moonen, "Identifying Crosscutting Concerns Using Fan-In Analysis," ACM Trans. Software Eng. and Methodology, vol. 17, no. 1, pp. 1-37, 2007.
[8] M. Bruntink, A. van Deursen, R. van Engelen, and T. Tourwé, "On the Use of Clone Detection for Identifying Crosscutting Concern Code," IEEE Trans. Software Eng., vol. 31, no. 10, pp. 804-818, Oct. 2005.
[9] S. Breu and J. Krinke, "Aspect Mining Using Event Traces," Proc. 19th Int'l Conf. Automated Software Eng., pp. 310-315, 2004.
[10] P. Tonella and M. Ceccato, "Aspect Mining through the Formal Concept Analysis of Execution Traces," Proc. 11th Working Conf. Reverse Eng., pp. 112-121, 2004.
[11] S. Breu and T. Zimmermann, "Mining Aspects from History," Proc. IEEE Automated Software Eng., S. Uchitel and S. Easterbrook, eds., Sept. 2006.
[12] P.F. Baldi, C.V. Lopes, E.J. Linstead, and S.K. Bajracharya, "A Theory of Aspects as Latent Topics," Proc. 23rd ACM SIGPLAN Conf. Object-Oriented Programming Systems Languages and Applications, pp. 543-562, 2008.
[13] D. Zhang, Y. Guo, and X. Chen, "Automated Aspect Recommendation through Clustering-Based Fan-In Analysis," Proc. IEEE/ACM 23rd Int'l Conf. Automated Software Eng., pp. 278-287, 2008.
[14] B. Adams, Z.M. Jiang, and A.E. Hassan, "Identifying Crosscutting Concerns Using Historical Code Changes," Proc. ACM/IEEE 32nd Int'l Conf. Software Eng., pp. 305-314, 2010.
[15] D. Shepherd, J. Palm, L. Pollock, and M. Chu-Carroll, "Timna: A Framework for Automatically Combining Aspect Mining Analyses," Proc. IEEE/ACM 20th Int'l Conf. Automated Software Eng., pp. 184-193, 2005.
[16] C. Zhang and H.-A. Jacobsen, "Efficiently Mining Crosscutting Concerns through Random Walks," Proc. Sixth Int'l Conf. Aspect-Oriented Software Development, Mar. 2007.
[17] L. Page, S. Brin, R. Motwani, and T. Winograd, "The Pagerank Citation Ranking: Bringing Order to the Web," technical report, Stanford Digital Library Technologies Project, Stanford Univ., Stanford, Calif., 1999.
[18] J.M. Kleinberg, "Authoritative Sources in a Hyperlinked Environment," J. ACM, vol. 46, no. 5, pp. 604-632, 1999.
[19] C. Zhang and H.-A. Jacobsen, "Resolving Feature Convolution in Middleware Systems," Proc. 19th Ann. ACM SIGPLAN Conf. Object-Oriented Programming, Systems, Languages, and Applications, pp. 188-205, 2004.
[20] H. Zhang, A. Goel, R. Govindan, K. Mason, and B. Van Roy, "Making Eigenvector-Based Reputation Systems Robust to Collusion," Proc. Third Int'l Workshop Algorithms and Models for the Web-Graph, 2004.
[21] T.H. Haveliwala, "Topic-Sensitive Pagerank: A Context-Sensitive Ranking Algorithm for Web Search," IEEE Trans. Knowledge and Data Eng., vol. 15, no. 4, pp. 784-796, July/Aug. 2003.
[22] C.D. Manning, P. Raghavan, and H. Schtze, An Introduction to Information Retrieval. Cambridge Univ. Press, 2009.
[23] C. Zhang and H.-A. Jacobsen, "Quantifying Aspects in Middleware Platforms," Proc. Second Int'l Conf. Aspect-Oriented Software Development, pp. 130-139, 2003.
[24] P. Tonella and M. Ceccato, "Refactoring the Aspectizable Interfaces: An Empirical Assessment," IEEE Trans. Software Eng., vol. 31, no. 10, pp. 819-832, Oct. 2005.
[25] G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W.G. Griswold, "An Overview of AspectJ," Proc. 15th European Conf. Object-Oriented Programming, vol. 2072, pp. 327-355, 2001.
[26] C. Sadtler, "Websphere Application Server v5 Architecture," , 2012.
[27] J. Hannemann and G. Kiczales, "Overcoming the Prevalent Decomposition of Legacy Code," Proc. IEEE/ICSE Workshop Advanced Separation of Concerns,, 2001.
[28] C. Zhang, D. Gao, and H.-A. Jacobsen, "Extended Aspect Mining Tool," CASCON 2003 Poster, , Oct. 2002.
[29] D. Janzen and K. De Volder, "Navigating and Querying Code without Getting Lost," Proc. Second Int'l Conf. Aspect-Oriented Software Development, pp. 178-187, 2003.
[30] M.P. Robillard and G.C. Murphy, "Concern Graphs: Finding and Describing Concerns Using Structural Program Dependencies," Proc. 24th Int'l Conf. Software Eng., May 2002.
[31] S. Breu, "Extending Dynamic Aspect Mining with Static Information," Proc. IEEE Fifth Int'l Workshop Source Code Analysis and Manipulation, pp. 57-65, 2005.
[32] M. Ceccato, M. Marin, K. Mens, L. Moonen, P. Tonella, and T. Tourwé, "Applying and Combining Three Different Aspect Mining Techniques," Software Quality J., vol. 14, pp. 209-231, doi: 10.1007/s11219-006-9217-3, 2006.
[33] D. Shepherd, Z.P. Fry, E. Hill, L. Pollock, and K. Vijay-Shanker, "Using Natural Language Program Analysis to Locate and Understand Action-Oriented Concerns," Proc. Sixth Int'l Conf. Aspect-Oriented Software Development, pp. 212-224, 2007.
[34] Y. Yu, J.C.S. do Prado Leite, and J. Mylopoulos, "From Goals to Aspects: Discovering Aspects from Requirements Goal Models," Proc. 12th IEEE Int'l Requirements Eng. Conf., pp. 38-47, 2004.
[35] A. Sampaio, R. Chitchyan, A. Rashid, and P. Rayson, "EA-Miner: A Tool for Automating Aspect-Oriented Requirements Identification," Proc. 20th IEEE/ACM Int'l Conf. Automated Software Eng., pp. 352-355, 2005.
[36] L.K. Kit, C.K. Man, and E. Baniassad, "Isolating and Relating Concerns in Requirements Using Latent Semantic Analysis," Proc. 21st ACM Ann. SIGPLAN Conf. Object-Oriented Programming Systems Languages and Applications, pp. 383-396, 2006.
[37] K. Inoue, R. Yokomori, H. Fujiwara, T. Yamamoto, M. Matsushita, and S. Kusumoto, "Component Rank: Relative Significance Rank for Software Component Search," Proc. 25th Int'l Conf. Software Eng., pp. 14-24, 2003.
21 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool