A hybrid heuristic approach to optimize rule-based software quality estimation models

Software quality is defined as the degree to which a software component or system meets specified requirements and specifications. Assessing software quality in the early stages of design and development is crucial as it helps reduce effort, time and money. However, the task is difficult since most software quality characteristics (such as maintainability, reliability and reusability) cannot be directly and objectively measured before the software product is deployed and used for a certain period of time. Nonetheless, these software quality characteristics can be predicted from other measurable software quality attributes such as complexity and inheritance. Many metrics have been proposed for this purpose. In this context, we speak of estimating software quality characteristics from measurable attributes. For this purpose, software quality estimation models have been widely used. These take different forms: statistical models, rule-based models and decision trees. However, data used to build such models is scarce in the domain of software quality. As a result, the accuracy of the built estimation models deteriorates when they are used to predict the quality of new software components. In this paper, we propose a search-based software engineering approach to improve the prediction accuracy of software quality estimation models by adapting them to new unseen software products. The method has been implemented and favorable result comparisons are reported in this work.

[1]  Fernando Brito e Abreu,et al.  Evaluating the impact of object-oriented design on software quality , 1996, Proceedings of the 3rd International Software Metrics Symposium.

[2]  Brian Henderson-Sellers,et al.  Some Metrics for Objected-Oriented Software Engineering , 1992, TOOLS.

[3]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[4]  Victor R. Basili,et al.  Characterizing and Modeling the Cost of Rework in a Library of Reusable Software Components , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[5]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[6]  Witold Pedrycz,et al.  Genetic granular classifiers in modeling software quality , 2005, J. Syst. Softw..

[7]  Aiko M. Hormann,et al.  Programs for Machine Learning. Part I , 1962, Inf. Control..

[8]  Isabel M. Ramos,et al.  An evolutionary approach to estimating software development projects , 2001, Inf. Softw. Technol..

[9]  Giuliano Antoniol,et al.  Search-Based Techniques for Optimizing Software Project Resource Allocation , 2004, GECCO.

[10]  Rodrigo Vivanco Improving Predictive Models of Software Quality Using an Evolutionary Computational Approach , 2007, ICSM.

[11]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[12]  Mark Harman,et al.  Testability transformation , 2004, IEEE Transactions on Software Engineering.

[13]  Carl K. Chang,et al.  Software Project Management Net: a new methodology on software management , 1996, Proceedings. The Twenty-Second Annual International Computer Software and Applications Conference (Compsac '98) (Cat. No.98CB 36241).

[14]  Joachim Wegener,et al.  Evolutionary test environment for automatic structural testing , 2001, Inf. Softw. Technol..

[15]  Taghi M. Khoshgoftaar,et al.  Using classification trees for software quality models: lessons learned , 1998, Proceedings Third IEEE International High-Assurance Systems Engineering Symposium (Cat. No.98EX231).

[16]  R. Halstead,et al.  Using Process History to Predict Software Quality , 1998, Computer.

[17]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[18]  Mark Lorenz,et al.  Object-oriented software metrics - a practical guide , 1994 .

[19]  Stan Matwin,et al.  Machine Learning Method for Software Quality Model Building , 1999, ISMIS.

[20]  Taghi M. Khoshgoftaar,et al.  Using Classification Trees for Software Quality Models: Lessons Learned , 1999, Int. J. Softw. Eng. Knowl. Eng..

[21]  Mauricio Amaral de Almeida,et al.  An Investigation on the Use of Machine Learned Models for Estimating Software Correctability , 1999, Int. J. Softw. Eng. Knowl. Eng..

[22]  Brian Henderson-Sellers,et al.  Object-Oriented Metrics , 1995, TOOLS.

[23]  J. Ross Quinlan,et al.  C4.5: Programs for Machine Learning , 1992 .

[24]  Thomas J. Cheatham,et al.  Software metrics for object-oriented systems , 1992, CSC '92.

[25]  Lionel C. Briand,et al.  Exploring the relationships between design measures and software quality in object-oriented systems , 2000, J. Syst. Softw..

[26]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[27]  José Javier Dolado,et al.  On the problem of the software cost function , 2001, Inf. Softw. Technol..

[28]  Lionel C. Briand,et al.  Empirical Studies of Quality Models in Object-Oriented Systems , 2002, Adv. Comput..

[29]  Mark Harman,et al.  Reformulating software engineering as a search problem , 2003 .

[30]  Gero Miesenböck,et al.  New technologies , 2005, Current Opinion in Neurobiology.

[31]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[32]  Salah Bouktif,et al.  Improving Rule Set Based Software Quality Prediction: A Genetic Algorithm-based Approach , 2004, J. Object Technol..

[33]  C. Darwin Charles Darwin The Origin of Species by means of Natural Selection or The Preservation of Favoured Races in the Struggle for Life , 2004 .

[34]  Enrique Alba,et al.  Software project management with GAs , 2007, Inf. Sci..

[35]  Geoffrey E. Hinton,et al.  Learning representations by back-propagating errors , 1986, Nature.

[36]  Houari A. Sahraoui,et al.  Combining and adapting software quality predictive models by genetic algorithms , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[37]  Sallie M. Henry,et al.  Maintenance metrics for the object oriented paradigm , 1993, [1993] Proceedings First International Software Metrics Symposium.

[38]  Colin J Burgess,et al.  Can genetic programming improve software effort estimation? A comparative evaluation , 2001, Inf. Softw. Technol..

[39]  Martin J. Shepperd,et al.  Search Heuristics, Case-based Reasoning And Software Project Effort Prediction , 2002, GECCO.

[40]  Mark Harman,et al.  Meta-heuristic Search Algorithms for Regression Test Case Prioritization , 2007 .

[41]  Houari A. Sahraoui,et al.  Reusability hypothesis verification using machine learning techniques: a case study , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[42]  Premkumar T. Devanbu,et al.  An Investigation into Coupling Measures for C++ , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[43]  Fred W. Glover,et al.  Future paths for integer programming and links to artificial intelligence , 1986, Comput. Oper. Res..

[44]  Adam A. Porter,et al.  Empirically guided software development using metric-based classification trees , 1990, IEEE Software.

[45]  N. Metropolis,et al.  Equation of State Calculations by Fast Computing Machines , 1953, Resonance.

[46]  Mark Harman,et al.  Search Algorithms for Regression Test Case Prioritization , 2007, IEEE Transactions on Software Engineering.

[47]  Horst Zuse,et al.  A Framework of Software Measurement , 1998 .

[48]  John A. Clark,et al.  Formulating software engineering as a search problem , 2003, IEE Proc. Softw..