On clustering based aspect mining

Clustering is a division of data into groups of similar objects. Aspect mining is a process that tries to identify crosscutting concerns in existing software systems. The goal is to refactor the existing systems to use aspect oriented programming in order to make them easier to maintain and to evolve. The aim of this paper is to comparatively analyze and evaluate the results obtained by different clustering algorithms in aspect mining. The evaluation is performed on an open source case study using four measures.

[1]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[2]  Emden R. Gansner,et al.  Using automatic clustering to produce high-level system organizations of source code , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[3]  Chung-Horng Lung,et al.  Software architecture recovery and restructuring through clustering techniques , 1998, ISAW '98.

[4]  Vijay V. Raghavan,et al.  Genetic Algorithm for Clustering with an Ordered Representation , 1991, ICGA.

[5]  Mariano Ceccato,et al.  Aspect mining through the formal concept analysis of execution traces , 2004, 11th Working Conference on Reverse Engineering.

[6]  Anil K. Jain,et al.  Algorithms for Clustering Data , 1988 .

[7]  Paul Rayson,et al.  Mining Aspects in Requirements , 2005 .

[8]  Gerard Salton,et al.  A vector space model for automatic indexing , 1975, CACM.

[9]  M. Narasimha Murty,et al.  A near-optimal initial seed value selection in K-means means algorithm using a genetic algorithm , 1993, Pattern Recognit. Lett..

[10]  Gregor Kiczales,et al.  Overcoming the Prevalent Decomposition in Legacy Code , 2001 .

[11]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[12]  Ramnivas Laddad,et al.  Aspectj in Action: Practical Aspect-Oriented Programming , 2003 .

[13]  Thomas Zimmermann,et al.  Mining Aspects from Version History , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[14]  Petra Perner,et al.  Data Mining - Concepts and Techniques , 2002, Künstliche Intell..

[15]  Chung-Horng Lung,et al.  Program restructuring through clustering techniques , 2004, Source Code Analysis and Manipulation, Fourth IEEE International Workshop on.

[16]  Lili He,et al.  Aspect Mining Using Clustering and Association Rule Method , 2006 .

[17]  Brian Henderson-Sellers,et al.  Object-Oriented Metrics , 1995, TOOLS.

[18]  Lotfi A. Zadeh,et al.  Fuzzy Sets , 1996, Inf. Control..

[19]  Gabriela Serban Czibula,et al.  A New k-means Based Clustering Algorithm in Aspect Mining , 2006, 2006 Eighth International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[20]  Songul Albayrak,et al.  FUZZY C-MEANS CLUSTERING ON MEDICAL DIAGNOSTIC SYSTEMS , 2003 .

[21]  Vijay V. Raghavan,et al.  A clustering strategy based on a formalism of the reproductive process in natural systems , 1979, SIGIR '79.

[22]  Emden R. Gansner,et al.  Bunch: a clustering tool for the recovery and maintenance of software system structures , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[23]  Jens Krinke,et al.  Aspect mining using event traces , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[24]  Arie van Deursen,et al.  Identifying aspects using fan-in analysis , 2004, 11th Working Conference on Reverse Engineering.

[25]  Arie van Deursen,et al.  An evaluation of clone detection techniques for crosscutting concerns , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[26]  Pavel Berkhin,et al.  A Survey of Clustering Data Mining Techniques , 2006, Grouping Multidimensional Data.

[27]  Anil K. Jain,et al.  Data clustering: a review , 1999, CSUR.

[28]  Grigoreta Sofia Moldovan,et al.  Aspect Mining using a Vector-Space Model Based Clustering Approach , 2006 .

[29]  Dorothea Heiss-Czedik,et al.  An Introduction to Genetic Algorithms. , 1997, Artificial Life.

[30]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.