The Design and Implementation of a Framework for Automatic Modularization of Software Systems | The Journal of Supercomputing Skip to main content
Log in

The Design and Implementation of a Framework for Automatic Modularization of Software Systems

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

It is a difficult task to manually cluster a large software system into loosely coupled modules with a large number of highly cohesive classes. On the other hand clustering is a NP-Hard problem. In this paper the design and implementation of a flexible software environment, called DAGC, to assemble and experiment with genetic clustering algorithms, for software (re)modularization, is described. The main idea behind the design of the DAGC is to define a general genetic clustering algorithm which may invoke different implementations for the parts from an extendable list of components. The DAGC provides visualization facilities to compare and evaluate different genetic clustering algorithms, regarding the two parameters of running time and the quality of clusters generated by the algorithms.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (Japan)

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. F. B. Abreu, G. Pereira, and P. Sousa A coupling guided cluster analysisapproach to reengineer the modularity of object oriented systems. Conference on Software Maintenance and Reengineering, IEEE 2000.

  2. N. Anquetil and T. Lethbridge Experiments with clustering as a software remodularization method. The Sixth Working Conference on Reverse Engineering (WCRE’99), 1999.

  3. N. Anquetil, C. Fourrier, and T. Lithbridge Experiments with hierarchical clustering algorithms as software remodularization methods. In Proc. of Working Conference on Reverse Engineering, 1999.

  4. D. Andersen and M. Andersen Human guided simple search. In Proc. of Annual Conference of the American Asociation for Artificial Inteligent, 2000.

  5. T. N. Bui and B. R. Moon Genetic algorithm and graph partitioning. IEEE Trans. Comput., 45:841–855, 1996.

    Google Scholar 

  6. S. M. Brian and M. Spiros CRAFT: A framework for evaluating software clustering results in the absence of benchmark decomposition. In Proc. of IWPC, IEEE 2001.

  7. S. M. Brian A heuristic search approach to solving the software clustering problem. Thesis, Drexel University, March 2002.

  8. S. M. Brian and M. Spiros Bunch: A clustering tool for the recovery and maintenance of software system structure. In Proc. of International Conf. of Software Maintenance, IEEE 1999.

  9. S. M. Brian and M. Spiros Comparing the decompositions produced by software clustering algorithms using similarity measurements. In The Proceedings of International Conference on Software Maintenance (ICSM’01), Italy, IEEE 2001.

  10. A. Cincotti, V. Cuttelo, and M. Pavone Graph partitioning using genetic algorithms with ODPX. In Proceedings of the World Congress on Computational Intelligence, IEEE 2002.

  11. K. DeJong and W. Spears Using genetic algorithms to solve NPcomplete problems. In 3rd Int. Conf. on Genetic Algorithms, pp. 24–132, 1989.

  12. J. Davey and E. Burd Evaluating the suitability of data clustering for software remodularisation. In The Proceedings of Seventh Working Conference on Reverse Engineering, IEEE 2000.

  13. L. W. David Optimization Software Class Libraries, Handbook, March 2002.

  14. N. Göckel, R. Drechsler, and B. Becker GAME: A software environment for using genetic algorithms in circuit design.In Proceedings of The Fourth International Conference Applications of Computer Systems (ACS’97), Szczecin, pp. 240–247, 1997.

  15. D. Goldberg Genetic Algorithms in Search, Optimization & Machine Learning. Addison Wesely, 1989.

  16. M. R. Garey and D. S. Johnson Computers and Interactibility: A Guide to the Theory of NP-Completeness. Freeman, 1979.

  17. J. Heitkoter and D. Beasley The hitch-hiker’s guide to evolutionary computation (FAQ for cmp.ai.genetic). http://surf.de.uu.net/encore/www/.

  18. M. Keijzer, J. Merelo, and G. Romero Evolutionary Objects: A general purpose evolutionary computation library, University of Granada, Spain, 2002.

    Google Scholar 

  19. B. R. Moon Hybrid genetic algorithms with hyperplane synthesis: A theoretical and empirical study. Ph.D. dissertation, Pennsylvania State Univ., University Park, 1994.

  20. S. Mancoridis, B. S. Mitchell, and C. Rorres Using automatic clustering to produce high-level system organization of source code. In The Proceedings of the International Workshop on Program Understanding (IWPC’98), Italy, IEEE 1998.

  21. S. Parsa and O. Bushehria A framework to investigate and evaluate genetic clustering Algorithms for Software modularization. To be published In the Lecture Notes in Computer Science, Springer-Verlag vol. 3037, June 2004.

  22. J. Rejeb and M. AlbElhajia New gender genetic algorithm for solving graph partitioning problems. In proc. 43rd IEEE Midwest Symp. on Circuits and Systems, Lansing M1, Aug 9–11, 2000.

  23. V. Sundaresan and L. Hendren Practical virtual method call for java. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2000.

  24. M. Saeed, O. Maqbool, H. A. Babri, S. Z. Hassan, and S. M. Sarwar Software clustering techniques and the use of combined algorithm. In Proceedings of the Seventh European Conference On Software Maintenance and Reengineering (CSMR’03) IEEE 2003.

  25. D. Whitley A genetic algorithm tutorial. Computer Science Department, Colorado State University.

  26. M. Wall Overview of GALIB, http:/lancet.mit.edu/ga, 1995.

  27. http://i44s11.info.uni-karlsruhe.de/∼ compost

  28. http://www.javasoft.com

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to S. Parsa.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Parsa, S., Bushehrian, O. The Design and Implementation of a Framework for Automatic Modularization of Software Systems. J Supercomput 32, 71–94 (2005). https://doi.org/10.1007/s11227-005-0159-5

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-005-0159-5

Navigation