Genetic algorithm-based multi-objective optimization model for software bugs prediction

Authors

  • Bakre Oluseye Musinat Olabisi Onabanjo University, Ago-Iwoye, Ogun State, Nigeria
  • FEMI Temitope JOHNSON Federal University of Agriculture, Abeokuta http://orcid.org/0000-0002-5467-855X
  • Olusegun Folorunso Federal University of Agriculture, Abeokuta, Ogun State, Nigeria
  • Ihekwoaba Ezinne Federal College of Education (Technical), Akoka, Lagos State, Nigeria

DOI:

https://doi.org/10.29114/ajtuv.vol6.iss1.245

Keywords:

software bugs, genetic algorithm, optimization, prediction, machine learning

Abstract

The accuracy and reliability of software are critical factors for consideration in the operation of any electronic or computing device.  Although, there exist several conventional methods of software bugs prediction which depend solely on static code metrics without syntactic structures or semantic information of programs which are more appropriate for developing accurate predictive models.  In this paper, software bugs are predicted using a Genetic Algorithm (GA)-based multi-objective optimization model implemented in MATLAB on the National Aeronautics and Space Administration (NASA) dataset comprising thirty-eight distinct factors reduced to six (6) major factors via the use of the Principal Component Analysis (PCA) algorithm with SPSS, after which a linear regression equation was derived. The developed GA- based multi-objective optimization model was well-tried and tested. The accuracy and sensitivity level were also analyzed for successful bug detection. The results for optimal values ranging from   95% to 97% were recorded at an average accuracy of 96.4% derived through MATLAB-implemented measures of critical similarities. The research findings reveal that the model hereto proposed will provide an effective solution to the problem of predicting buggy software in general circulation.

Downloads

Download data is not yet available.

References

<p style="text-align: justify;">Akmel, F., Birihanu, E. Siraj, B. (2017). A literature review study of software defect prediction using machine learning techniques.&nbsp;<em>Int. J. Emerg. Res. Manag. Technology</em>,&nbsp;<em>6</em>(6), 300-306. <br /><a href="https://doi.org/10.23956/ijermt.v6i6.286" target="_blank">Crossref</a></p>
<p style="text-align: justify;">Bavisi, S., Mehta, J., &amp; Lopes, L. (2014). A comparative study of different data mining algorithms.&nbsp;<em>International Journal of Current Engineering and Technology</em>,&nbsp;<em>4</em>(5), 3248-3252.</p>
<p style="text-align: justify;">Catal C., Diri, B. (2009). A systematic review of software fault prediction studies. <em>Expert Systems with Applications, 36</em> (4), 7346&ndash;7354. <br/><a href="https://doi.org/10.1016/j.eswa.2008.10.027" target="_blank">Crossref</a></p>
<p style="text-align: justify;">Cha, S. H., &amp; Tappert, C. C. (2009). A genetic algorithm for constructing compact binary decision trees.&nbsp;<em>Journal of pattern recognition research</em>,&nbsp;<em>4</em>(1), 1-13.&nbsp;<br/> <a href="https://doi.org/10.13176/11.44"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Challagulla, V. U. B., Bastani, F. B., Yen, I. L., &amp; Paul, R. A. (2008). Empirical assessment of machine learning based software defect prediction techniques.&nbsp;<em>International Journal on Artificial Intelligence Tools</em>,&nbsp;<em>17</em>(02), 389-400.<br/> <a href="https://doi.org/10.1142/S0218213008003947" target="_blank">Crossref</a></p>
<p style="text-align: justify;">Chen, T., &amp; Guestrin, C. (2016). Xgboost: A scalable tree boosting system. <em>Proceedings of the 22nd ACM SIGKDD,&nbsp; International conference on knowledge discovery and data mining</em>, (22), 785-794. <br/><a href="https://doi.org/10.1145/2939672.2939785"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Costa, E. O., de Souza, G. A., Pozo, A. T. R., &amp; Vergilio S. R. (2007). Exploring Genetic Programming and Boosting Techniques to Model Software Reliability. <em>IEEE Transactions on Reliability, (</em>56): 422-434. <br/><a href="https://doi.org/10.1109/TR.2007.903269"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Doval, D., Mancoridis, S. &amp; Mitchell, B. S. (1999). Automatic clustering of software systems using a genetic algorithm. <em>Proc. Conference of Software Technology and Engineering Practice</em>, England, 73-81. <br/><a href="https://doi.org/10.1109/STEP.1999.798481"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Gupta, Dharmendra, L. &amp; Kavita S. (2017). Software bug prediction using object-oriented metrics. <em>Sādhanā (1), </em>1-15.</p>
<p style="text-align: justify;">Haznedar, B. &amp; Kalinli, A. (2016). Training ANFIS Using Genetic Algorithm for Dynamic Systems Identification. <em>Int j Intell Sys appl eng</em>, <em>4</em>(1), 44-47.<br/> <a href="https://doi.org/10.18201/ijisae.266053"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Jaspree, K. (2011).&nbsp; A k-means Based Approach for Prediction of Level of Severity of Faults in Software System. In&nbsp;<em>Proceedings of International conference on Intelligent Computational Systems</em>.</p>
<p style="text-align: justify;">Jureczko, M., &amp; Spinellis, D. (2010). Using object-oriented design metrics to predict software defects.&nbsp;<em>Models and Methods of System Dependability. Oficyna Wydawnicza Politechniki Wrocławskiej</em>, 69-81.</p>
<p style="text-align: justify;">Kim, S., Zhang, H., Wu, R. and Gong, L. (2011).&nbsp; Dealing with noise in defect prediction. <em>Proceeding of the 33rd International Conference on Software Engineering, ICSE</em> (11), 481&ndash;490.<br/> <a href="https://doi.org/10.1145/1985793.1985859"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Malhotra, R. &amp; Singh, Y. (2011). On the applicability of machine learning techniques for object-oriented software fault prediction. <em>Software Engineering: An International Journal 1</em>(1), 24-37.</p>
<p style="text-align: justify;">Naidu, M. S., &amp; Geethanjali, N. (2013). Classification of defects in software using decision tree algorithm.&nbsp;<em>International Journal of Engineering Science and Technology</em>,&nbsp;<em>5</em>(6), 1332-1342.</p>
<p style="text-align: justify;">Okutan, A., &amp; Yıldız, O. T. (2014). Software defect prediction using Bayesian networks. <em>Empirical Software Engineering 19</em>(1),154-181. <br/><a href="https://doi.org/10.1007/s10664-012-9218-8"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Peng, Y., Kou, G., Wang, G., Wu, W., &amp; Shi, Y. (2011). Ensemble of software defect predictors: an AHP-based evaluation method.&nbsp;<em>International Journal of Information Technology &amp; Decision Making</em>,&nbsp;<em>10</em>(01), 187-206. <br/> <a href="https://doi.org/10.1142/S0219622011004282"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Rahman, F., Posnett, D. &amp; Devanbu, P. (2012). Recalling the imprecision of cross-project defect prediction. <em>In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, (12)</em> 1&ndash;61:11 New York, NY, USA. ACM. <br/><a href="https://doi.org/10.1145/2393596.2393669"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Sharma, D. &amp; Chandra, P. (2018) Software Fault Prediction Using Machine Learning Techniques<em>.</em> In <em>Smart Computing and Informatics </em>(pp.541-549). Springer, Singapore. <br/><a href="https://doi.org/10.1007/978-981-10-5547-8_56"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Shepperd, M., Bowes, D. &amp; Hall, T. (2014). Researcher bias: The use of machine learning in software defect prediction.&nbsp;<em>IEEE Transactions on Software Engineering</em>,&nbsp;<em>40</em>(6), 603-616. &nbsp;<br/><a href="https://doi.org/10.1109/TSE.2014.2322358"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Shivaji, S., Whitehead, E. J., Akella, R. &amp; Kim, S. (2012). Reducing features to improve code change-based bug prediction.&nbsp;<em>IEEE Transactions on Software Engineering</em>,&nbsp;<em>39</em>(4), 552-569.<br/> <a href="https://doi.org/10.1109/TSE.2012.43"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Singh, P. &amp; Chug, A. (2017). Software defect prediction analysis using machine learning algorithms. In <em>7th International Conference on Cloud Computing, Data Science &amp; Engineering Confluence</em>, 212-232. IEEE. <br/><a href="https://doi.org/10.1109/CONFLUENCE.2017.7943255"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Suman, B. (2004). Study of simulated annealing-based algorithms for multi-objective optimization of a constrained problem<em>. Comput. Chem. Eng. 28</em>(9) 1849&ndash;1871. <br/><a href="https://doi.org/10.1016/j.compchemeng.2004.02.037"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Yamaguchi, F., Lottmann, M. &amp; Rieck, K. (2012). Generalized vulnerability extrapolation using abstract syntax trees. In <em>Proceedings of the 28th Annual Computer Security Applications Conference</em>, ACM, (pp.359&ndash;368), Orlando, FL, USA. <br/><a href="https://doi.org/10.1145/2420950.2421003"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Zavala, G. R., Nebro, A. J., Luna, F., &amp; Coello Coello, C. A. (2014). A survey of multi-objective metaheuristics applied to structural optimization.&nbsp;<em>Structural and Multidisciplinary Optimization</em>,&nbsp;<em>49</em>(4), 537-558.<br/> <a href="https://doi.org/10.1007/s00158-013-0996-4"target="_blank">Crossref</a></p>
<p style="text-align: justify;">Zhou, Y., Yang, Y., Lu, H., Chen, L., Li, Y., Zhao, Y., ... &amp; Xu, B. (2018). How far we have progressed in the journey? an examination of cross-project defect prediction.&nbsp;<em>ACM Transactions on Software Engineering and Methodology (TOSEM)</em>,&nbsp;<em>27</em>(1), 1-51. <br/><a href="https://doi.org/10.1145/3183339"target="_blank">Crossref</a></p>

Downloads

Published

2022-08-11

How to Cite

Musinat, B. O., JOHNSON, F. T., Folorunso, O., & Ezinne, I. (2022). Genetic algorithm-based multi-objective optimization model for software bugs prediction. ANNUAL JOURNAL OF TECHNICAL UNIVERSITY OF VARNA, BULGARIA, 6(1), 34–48. https://doi.org/10.29114/ajtuv.vol6.iss1.245

Issue

Section

INFORMATION TECHNOLOGIES, COMMUNICATION AND COMPUTER EQUIPMENT

Similar Articles

<< < 1 2 3 > >> 

You may also start an advanced similarity search for this article.