LNCS Homepage
CD ContentsAuthor IndexSearch

Finding Effective Software Metrics to Classify Maintainability Using a Parallel Genetic Algorithm

Rodrigo Vivanco1,2 and Nicolino Pizzi1,2

1Institute for Biodiagnostics, National Research Council Canada, Winnipeg, MB, Canada
Rodrigo.Vivanco@nrc-cnrc.gc.ca
Nicolino.Pizzi@nrc-cnrc.gc.ca

2University of Manitoba, Winnipeg, MB, Canada
rvivanco@cs.umanitoba.ca
pizzi@cs.umanitoba.ca

Abstract. The ability to predict the quality of a software object can be viewed as a classification problem, where software metrics are the features and expert quality rankings the class labels. Evolutionary computational techniques such as genetic algorithms can be used to find a subset of metrics that provide an optimal classification for the quality of software objects. Genetic algorithms are also parallelizable, in that the fitness function (how well a set of metrics can classify the software objects) can be calculated independently from other possible solutions. A manager-worker parallel version of a genetic algorithm to find optimal metrics has been implemented using MPI and tested on a Beowulf cluster resulting in an efficiency of 0.94. Such a speed-up facilitated using larger populations for longer generations. Sixty-four source code metrics from a 366 class Java-based biomedical data analysis program were used and resulted in classification accuracy of 78.4%.

LNCS 3103, p. 1388 ff.

Full article in PDF


lncs@springer.de
© Springer-Verlag Berlin Heidelberg 2004