Title :
Moving to smaller libraries via clustering and genetic algorithms
Author :
Antoniol, G. ; Di Penta, M. ; Neteler, M.
Author_Institution :
Res. Centre on Software Technol., Univ. of Sannio, Italy
Abstract :
There may be several reasons to reduce a software system to its bare bone removing the extra fat introduced during development or evolution. Porting the software system on embedded devices or palmtops are just two examples. This paper presents an approach to re-factoring libraries with the aim of reducing the memory requirements of executables. The approach is organized in two steps. The first step defines an initial solution based on clustering methods, while the subsequent phase refines the initial solution via genetic algorithms. In particular, a novel genetic algorithm approach, considering the initial clusters as the starting population, adopting a knowledge-based mutation function and a multiobjective fitness function, is proposed. The approach has been applied to several medium and large-size open source software systems such as GRASS, KDE-QT Samba and MySQL, allowing one to effectively produce smaller loosely coupled libraries, and to reduce the memory requirement for each application.
Keywords :
genetic algorithms; program diagnostics; public domain software; reverse engineering; software libraries; software maintenance; GRASS; KDE-QT; MySQL; Samba; clustering methods; executables; genetic algorithms; knowledge-based mutation function; library re-factoring; loosely coupled libraries; memory requirements; multiobjective fitness function; open source software systems; starting population; Application software; Bones; Cloning; Clustering methods; Genetic algorithms; Genetic mutations; Open source software; Personal digital assistants; Software libraries; Software systems;
Conference_Titel :
Software Maintenance and Reengineering, 2003. Proceedings. Seventh European Conference on
Print_ISBN :
0-7695-1902-4
DOI :
10.1109/CSMR.2003.1192439