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%.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Kan, S.H.: Metrics and Models in Software Quality Engineering. Addison-Wesley Publishing Company, Reading (1995)
Fenton, N.E., Pfleeger, S.L.: Software Metrics: A Rigorous and Practical Approach, 2nd edn. PWS Publishing Company, Boston (1997)
Pedryc, W.: Proc. ACM Software Engineering Knowledge Engineering. Computational Intelligence as an Emerging Paradigm of Software Engineering, Ischia, Italy, pp. 7–14 (2002)
Harman, M., Jones, B.F.: ACM SIGSOFT Software Engineering Notes. In: The SEMINAL Workshop: Reformulating Software Engineering as a Metaheuristic Search Problem, vol. 26, pp. 62–66 (2001)
Nikulin, A.E., Dolenko, B., Bezabeh, T., Somorjai, R.J.: NMR Biomed. Near-optimal feature selection for feature space reduction: novel preprocessing methods for classifying MR spectra 11, 209–216 (1998)
Yang, J., Honavar, V.: IEEE Intelligent Systems. Feature subset selection using a genetic algorithm 13, 44–49 (1998)
Raymer, M.L., Punch, W.F., et al.: IEEE Trans on Evolutionary Computation. Dimensionality reduction using genetic algorithms 4, 164–171 (2000)
Hochman, R., Khoshgoftaar, T.M., Allen, A.B., Hudepohl, J.P.: Proc. 7th IEEE Int. Symposium on Software Reliability Engineering. Using the Genetic Algorithm to Build Optimal Neural Networks for Fault-Prone Module Detection, White Plains, New York, pp. 152–162 (1996)
Liu, Y., Khoshgoftaar, T.M.: Proc. 6th IEEE International Symposium on High Assurance Systems Engineering. Genetic Programming Model for Software Quality Classification (2001)
Azar, D., Precup, D., Bouktif, S., Kegl, B., Sahraoui, H.: Proc. 17th IEEE International Conference on Automated Software Engineering, Combining And Adapting Software Quality Predictive Models by Genetic Algorithms (2002)
Message Passing Interface (MPI) Standard, http://www-unix.mcs.anl.gov/mpi/
Borland’s TogetherSoft, http://www.borland.com/together
Goldberg, D.E.: Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, Reading (1997)
Duda, C.D., Hart, P.E., Stork, D.G.: Pattern Classification. Wiley & Sons, New York (2001)
Cantu-Paz, E.: Effective and Accurate Parallel Genetic Algorithms. Kluwer Academic Publishers, Boston (2000)
Chidamber, S.R., Kemerer, C.F.: IEEE Trans on Software Engineering. A Metrics Suite for Object Oriented Design 20, 476–493 (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Vivanco, R., Pizzi, N. (2004). Finding Effective Software Metrics to Classify Maintainability Using a Parallel Genetic Algorithm. In: Deb, K. (eds) Genetic and Evolutionary Computation – GECCO 2004. GECCO 2004. Lecture Notes in Computer Science, vol 3103. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24855-2_159
Download citation
DOI: https://doi.org/10.1007/978-3-540-24855-2_159
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22343-6
Online ISBN: 978-3-540-24855-2
eBook Packages: Springer Book Archive