A New Encoding Scheme and a Framework to Investigate Genetic Clustering Algorithms

In this paper a new encoding scheme and a software environment, called DAGC, to develop and evaluate genetic clustering algorithms is described. DAGC facilitates experiments with genetic clustering algorithms by providing an extensible library of components to assemble new algorithms or modify existing ones. The algorithms may be executed within the environment on caterpillar or random graphs or class dependency graphs extracted from a given source code. The resultant clustering can be stored in a database, for later analysis. DAGC allows confidence analysis by automatically deriving a consolidated model from different clustering results for a given graph. We also offer a new clustering algorithm, called DAGC. The results of comparing the DAGC algorithm with a well known algorithm, Bunch, are presented. ACM Classification: D.2.7 (Software Engineering – Distribution, Maintenance, and Enhancement)

[1]  Laurie J. Hendren,et al.  Practical virtual method call resolution for Java , 2000, OOPSLA '00.

[2]  Byung-Ro Moon,et al.  Hybrid genetic algorithms with hyperplane synthesis: a theoretical and empirical study , 1995 .

[3]  J. Rejeb,et al.  New gender genetic algorithm for solving graph partitioning problems , 2000, Proceedings of the 43rd IEEE Midwest Symposium on Circuits and Systems (Cat.No.CH37144).

[4]  David L. Woodruff,et al.  Optimization software class libraries , 2002 .

[5]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[6]  T. A. Wiggerts,et al.  Using clustering algorithms in legacy systems remodularization , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[7]  Spiros Mancoridis,et al.  Comparing the decompositions produced by software clustering algorithms using similarity measurements , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[8]  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).

[9]  Maarten Keijzer,et al.  Evolving Objects: A General Purpose Evolutionary Computation Library , 2001, Artificial Evolution.

[10]  S. Mansoor Sarwar,et al.  Software clustering techniques and the use of combined algorithm , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[11]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[12]  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).

[13]  Byung Ro Moon,et al.  Genetic Algorithm and Graph Partitioning , 1996, IEEE Trans. Computers.

[14]  Darrell Whitley,et al.  A genetic algorithm tutorial , 1994, Statistics and Computing.

[15]  V. Cutello,et al.  Graph partitioning using genetic algorithms with ODPX , 2002, Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600).

[16]  Joerg joke Heitkoetter,et al.  The hitch-hiker''s guide to evolutionary computation , 2001 .

[17]  John Davey,et al.  Evaluating the suitability of data clustering for software remodularisation , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[18]  Fernando Brito e Abreu,et al.  A coupling-guided cluster analysis approach to reengineer the modularity of object-oriented systems , 2000, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering.

[19]  Brian S. Mitchell,et al.  A heuristic approach to solving the software clustering problem , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[20]  Nicolas Anquetil,et al.  Experiments with clustering as a software remodularization method , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[21]  Spiros Mancoridis,et al.  CRAFT: a framework for evaluating software clustering results in the absence of benchmark decompositions [Clustering Results Analysis Framework and Tools] , 2001, Proceedings Eighth Working Conference on Reverse Engineering.