Skip to main content
Log in

Prioritizing unit tests using object-oriented metrics, centrality measures, and machine learning algorithms

  • Original Article
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

Abstract

Nowadays, increasing complexity and size of object-oriented software systems bring new software quality assurance challenges. Unit testing is one of the main phases of the testing process, where each class (as a software unit) is early and individually tested using dedicated unit test cases. Due to limited resources and tight time deadlines constraints, unit testing often has to be done under severe pressure. As a consequence, the unit (tests) testing efforts have to be focused (prioritized). Many studies have proposed approaches based on object-oriented metrics and machine learning classifiers to predict the unit testing efforts (prioritizing unit tests). To the best of our knowledge, there is no study combining object-oriented metrics and centrality measures (network measures) for predicting the unit testing efforts (prioritizing unit tests). This paper aims basically at: (1) investigating the usefulness of centrality measures as indicators of the unit testing effort, (2) exploring how they can be combined to object-oriented metrics (already used in the literature) to improve the prediction of the unit testing efforts (prioritize unit tests), (3) exploring if the combination of object-oriented metrics and centrality measures can be used to predict different levels of the unit testing effort, and (4) exploring if the combination of object-oriented metrics and centrality measures can be used to identify a set of suitable candidate classes for unit testing (prioritizing unit tests). We investigated the performance of object-oriented metrics and centrality measures, and different machine learning algorithms in the prediction of the unit testing efforts (prioritizing unit tests). The unit testing effort of classes is addressed from the perspective of unit test cases construction. We focused particularly on the effort involved in writing the code of unit test cases. To capture the involved unit testing effort of classes, we used two test code metrics used in many studies in the literature to quantify the code of corresponding JUnit test classes. In addition, we used clustering algorithms to group software classes into different categories (levels) according to the involved unit testing effort. We performed an empirical analysis using data collected from 5 open-source Java software systems (Apache ANT, Apache Math, Apache IO, JFreeChart, and Joda Time), including 5 versions of Apache ANT (1.3, 1.4, 1.5, 1.6, 1.7), for which JUnit test cases were available. Collected data was used to train the prediction models based on the different machine learning algorithms we considered. The performance of the prediction models has been evaluated using two metrics (g-mean and AUC). We also used two techniques to validate the prediction models: tenfold cross-validation, and cross-version validation. Results show that: (1) centrality measures can be used to predict the unit testing effort (prioritize unit tests), (2) combining centrality measures and object-oriented metrics improves significantly the prediction quality, (3) combining centrality measures and object-oriented metrics was among the best-performing metrics’ sets (different combinations have been investigated), (4) adding data from previous versions improves the performance of the prediction models, suggesting that the investigated prediction models are useful in a real development situation (different successive versions), and finally (5) random forest-based prediction models showed significant advantages on our dataset compared to the prediction models based on the other machine learning algorithms.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Data availability statement

The datasets generated during and/or analysed during the current study are available from the corresponding author on reasonable request.

Notes

  1. JUnit Website: https://junit.org/junit4/.

References

  1. Zhu H, Hall PAV, May JHR (1997) Software unit test coverage and adequacy. ACM Comput Surv 29(4):366–427. https://doi.org/10.1145/267580.267590. (ISSN 0360-0300)

    Article  Google Scholar 

  2. Badri M, Toure F (2012) Empirical analysis of object-oriented design metrics for predicting unit testing effort of classes. J Softw Eng Appl 05(07):513–526. https://doi.org/10.4236/jsea.2012.57060. (ISSN 1945-3116)

    Article  Google Scholar 

  3. Bertolino A (2007) Software testing research: achievements, challenges, dreams. In: Future of software engineering (FOSE’07), pp 85–103. IEEE

  4. Elbaum S, Malishevsky AG, Rothermel G (2002) Test case prioritization: a family of empirical studies. IEEE Trans Softw Eng 28(2):159–182. https://doi.org/10.1109/32.988497. (ISSN 0098-5589)

    Article  Google Scholar 

  5. Chidamber SR, Kemerer CF (1994) A metrics suite for object oriented design. IEEE Trans Softw Eng 20(6):476–493. https://doi.org/10.1109/32.295895. (ISSN 00985589)

    Article  Google Scholar 

  6. Bansiya J, Davis CG (2002) A hierarchical model for object-oriented design quality assessment. IEEE Trans Softw Eng 28(1):4–17. https://doi.org/10.1109/32.979986. (ISSN 00985589)

    Article  Google Scholar 

  7. Nuñez-Varela AS, Pérez-Gonzalez HG, Martínez-Perez FE, Soubervielle-Montalvo C (2017) Source code metrics: a systematic mapping study. J Syst Softw 128:164–197. https://doi.org/10.1016/j.jss.2017.03.044. (ISSN 01641212)

    Article  Google Scholar 

  8. Henderson-Sellers B (1996) Object-oriented metrics: measures of complexity. Prentice-Hall Inc, Upper Saddle River (ISBN 0-13-239872-9)

    Google Scholar 

  9. Gupta V, Aggarwal KK, Singh Y (2005) A fuzzy approach for integrated measure of object-oriented software testability. J Comput Sci 1(2):276–282. https://doi.org/10.3844/jcssp.2005.276.282. (ISSN 15493636)

    Article  Google Scholar 

  10. Bruntink M, Van Deursen A (2004) Predicting class testability using object-oriented metrics. In: Proceedings—Fourth IEEE international workshop on source code analysis and manipulation, pp 136–145, https://doi.org/10.1109/SCAM.2004.16

  11. Bruntink M, van Deursen A (2006) An empirical study into class testability. J Syst Softw 79(9):1219–1232. https://doi.org/10.1016/j.jss.2006.02.036. (ISSN 01641212)

    Article  Google Scholar 

  12. Badri L, Badri M, Toure F (2010) Exploring empirically the relationship between lack of cohesion and testability in object-oriented systems. In: International conference on advanced software engineering and its applications, pp 78–92. Springer

  13. Badri L, Badri M, Toure F (2011) An empirical analysis of lack of cohesion metrics for predicting testability of classes. Int J Softw Eng Appl 5(2):69–86 (ISSN 17389984)

    Google Scholar 

  14. Toure F, Badri M, Lamontagne L (2014) A metrics suite for JUnit test code: a multiple case study on open source software. J Softw Eng Res Dev 2(1). https://doi.org/10.1186/s40411-014-0014-6

  15. Bonacich P (1987) Power and centrality: a family of measures. Am J Sociol 92(5):1170–1182. https://doi.org/10.1086/228631. (ISSN 0002-9602)

    Article  Google Scholar 

  16. Borgatti SP, Everett MG (2006) A graph-theoretic perspective on centrality. Soc Netw 28(4):466–484. https://doi.org/10.1016/j.socnet.2005.11.005. (ISSN 03788733)

    Article  Google Scholar 

  17. Freeman LC (1977) A set of measures of centrality based on betweenness. Sociometry 40(1):35. https://doi.org/10.2307/3033543. (ISSN 00380431)

    Article  Google Scholar 

  18. Joyce KE, Laurienti PJ, Burdette JH, Hayasaka S (2010) A new measure of centrality for brain networks. PLoS ONE 5(8):e12200. https://doi.org/10.1371/journal.pone.0012200. (ISSN 19326203)

    Article  ADS  CAS  PubMed  PubMed Central  Google Scholar 

  19. Freeman LC (1978) Centrality in social networks conceptual clarification. Soc Netw 1(3):215–239. https://doi.org/10.1016/0378-8733(78)90021-7. (ISSN 03788733)

    Article  Google Scholar 

  20. Zimmermann T, Nagappan N (2008) Predicting defects using network analysis on dependency graphs. In: Proceedings—international conference on software engineering, pp 531–540. https://doi.org/10.1145/1368088.1368161 (ISSN 02705257)

  21. Tosun A, Turhan B, Bener A (2009) Validation of network measures as indicators of defective modules in software systems. ACM Int Conf Proc Ser. https://doi.org/10.1145/1540438.1540446

    Article  Google Scholar 

  22. Ma W, Chen L, Yang Y, Zhou Y, Baowen X (2016) Empirical analysis of network measures for effort-aware fault-proneness prediction. Inf Softw Technol 69:50–70. https://doi.org/10.1016/j.infsof.2015.09.001. (ISSN 09505849)

    Article  Google Scholar 

  23. Ouellet A, Badri M (2019) Empirical analysis of object-oriented metrics and centrality measures for predicting fault-prone classes in object-oriented software. In: Communications in computer and information science, vol 1010, pp 129–143. https://doi.org/10.1007/978-3-030-29238-6_10. (ISBN 9783030292379)

  24. Bird C, Nagappan N, Murphy B, Gall H, Devanbu P (2009) Putting it all together: using socio-technical networks to predict failures. In: Proceedings—international symposium on software reliability engineering, ISSRE, pp 109–119. https://doi.org/10.1109/ISSRE.2009.17(ISSN 10719458)

  25. Zhu LZ, Yin BB, Cai KY (2011) Software fault localization based on centrality measures. (ISSN 07303157)

  26. Bettenburg N, Hassan AE (2013) Studying the impact of social interactions on software quality. Empir Softw Eng 18(2):375–431. https://doi.org/10.1007/s10664-012-9205-0. (ISSN 15737616)

    Article  Google Scholar 

  27. Kayes I, Islam S, Chakareski J (2015) The network of faults: a complex network approach to prioritize test cases for regression testing. Innov Syst Softw Eng 11(4):261–275. https://doi.org/10.1007/s11334-015-0255-5. (ISSN 16145054)

    Article  Google Scholar 

  28. Badri M, Toure F, Lamontagne L (2015) Predicting unit testing effort levels of classes: an exploratory study based on multinomial logistic regression modeling. Procedia Comput Sci 62(Scse):529–538. https://doi.org/10.1016/j.procs.2015.08.528. (ISSN 18770509)

    Article  Google Scholar 

  29. Challagulla VU, Bastani FB, Yen IL, Paul RA (2005) Empirical assessment of machine learning based software defect prediction techniques. In: Proceedings—international workshop on object-oriented real-time dependable systems, WORDS, pp 263–270. https://doi.org/10.1109/WORDS.2005.32 (ISSN 15301443)

  30. Basili VR, Briand LC, Melo WL (1996) A validation of object-oriented design metrics as quality indicators. IEEE Trans Softw Eng 22(10):751–761. https://doi.org/10.1109/32.544352. (ISSN 00985589)

    Article  Google Scholar 

  31. Boucher A, Badri M (2018) Software metrics thresholds calculation techniques to predict fault-proneness: an empirical comparison. Inf Softw Technol 96(October 2017):38–67. https://doi.org/10.1016/j.infsof.2017.11.005. (ISSN 09505849)

    Article  Google Scholar 

  32. Shatnawi R (2017) The application of ROC analysis in threshold identification, data imbalance and metrics selection for software fault prediction. Innov Syst Softw Eng 13(2–3):201–217. https://doi.org/10.1007/s11334-017-0295-0. (ISSN 16145054)

    Article  Google Scholar 

  33. Malhotra R, Bansal AJ (2015) Fault prediction considering threshold effects of object-oriented metrics. Expert Syst 32(2):203–219. https://doi.org/10.1111/exsy.12078. (ISSN 14680394)

  34. Chidamber SR, Kemerer CF (1991) Towards a metrics suite for object oriented design. ACM SIGPLAN Notices, 26(11), 197–211. https://doi.org/10.1145/118014.117970. (ISSN 15581160)

  35. Catal C, Diri B (2009) A systematic review of software fault prediction studies. Expert Syst Appl 36(4):7346–7354. https://doi.org/10.1016/j.eswa.2008.10.027. (ISSN 09574174)

    Article  Google Scholar 

  36. Gyimóthy T, Ferenc R, Siket I (2005) Empirical validation of object-oriented metrics on open source software for fault prediction. IEEE Trans Softw Eng 31(10):897–910. https://doi.org/10.1109/TSE.2005.112. (ISSN 00985589)

    Article  Google Scholar 

  37. Zhou Y, Leung H (2006) Empirical analysis of object-oriented design metrics for predicting high and low severity faults. IEEE Trans Softw Eng 32(10):771–789. https://doi.org/10.1109/TSE.2006.102. (ISSN 00985589)

  38. Shatnawi R (2010) A quantitative investigation of the acceptable risk levels of object-oriented metrics in open-source systems. IEEE Trans Softw Eng 36(2):216–225. https://doi.org/10.1109/TSE.2010.9. (ISSN 00985589)

    Article  Google Scholar 

  39. Briand LC, Melo WL, Wüst J (2002) Assessing the applicability of fault-proneness models across object-oriented software projects. IEEE Trans Softw Eng 28(7):706–720. https://doi.org/10.1109/TSE.2002.1019484. (ISSN 00985589)

    Article  Google Scholar 

  40. Aggarwal KK, Singh Y, Kaur A, Malhotra R (2009) Empirical analysis for investigating the effect of object-oriented metrics on fault proneness: a replicated case study. Softw Process Improv Pract 14(1):39–62. https://doi.org/10.1002/spip.389. (ISSN 10774866)

    Article  Google Scholar 

  41. Jehad Al Dallal (2015) Identifying refactoring opportunities in object-oriented code: a systematic literature review. Inf Softw Technol 58:231–249. https://doi.org/10.1016/j.infsof.2014.08.002. (ISSN 09505849)

    Article  Google Scholar 

  42. Hao D, Lingming Zhang L, Zhang GR, Mei H (2014) A unified test case prioritization approach. ACM Trans Softw Eng Methodol 24(2):10:1-10:31. https://doi.org/10.1145/2685614. (ISSN 15577392)

    Article  Google Scholar 

  43. Yoo S, Harman M (2012) Regression testing minimization, selection and prioritization: a survey. Softw Test Verif Reliab 22(2):67–120. https://doi.org/10.1002/stv.430. (ISSN 09600833)

    Article  Google Scholar 

  44. Toure F, Badri M, Lamontagne L (2018) Predicting different levels of the unit testing effort of classes using source code metrics: a multiple case study on open-source software. Innov Syst Softw Eng 14(1):15–46. https://doi.org/10.1007/s11334-017-0306-1. (ISSN 16145054)

    Article  Google Scholar 

  45. Herzner W, Ramberger S, Länger T, Reumann C, Gruber T, Sejkora C (2005) Comparing software measures with fault counts derived from unit-testing of safety-critical software. (ISSN 03029743)

  46. Singh Y, Kaur A, Malhotra R (2008) Predicting testing effort using artificial neural network

  47. Singh Y, Saha A (2012) Prediction of testability using the design metrics for object-oriented software. Int J Comput Appl Technol 44(1):12–22. https://doi.org/10.1504/IJCAT.2012.048204. (ISSN 09528091)

    Article  Google Scholar 

  48. Rothermel G, Untch RH, Chu C, Harrold MJ (1999) Test case prioritization: an empirical study. In: Conference on software maintenance, pp 179–188. https://doi.org/10.1109/icsm.1999.792604(ISSN 1063-6773)

  49. Yu YT, Lau MF (2012) Fault-based test suite prioritization for specification-based testing. Inf Softw Technol 54(2):179–202. https://doi.org/10.1016/j.infsof.2011.09.005. (ISSN 09505849)

    Article  Google Scholar 

  50. Toure F, Badri M, Lamontagne L (2017) Investigating the prioritization of unit testing effort using software metrics. In: ENASE 2017—Proceedings of the 12th international conference on evaluation of novel approaches to software engineering, pp 69–80. https://doi.org/10.5220/0006319300690080(ISBN 9789897582509)

  51. Liguo Yu (2012) Using negative binomial regression analysis to predict software faults: a study of apache ant. Int J Inf Technol Comput Sci 4(8):63–70. https://doi.org/10.5815/ijitcs.2012.08.08. (ISSN 20749007)

    Article  Google Scholar 

  52. Matcha W, Touré F, Badri M, Badri L (2020) Using deep learning classifiers to identify candidate classes for unit testing in object-oriented systems. In: Proceedings of the international conference on software engineering and knowledge engineering, SEKE, vol. PartF162440, pp 353–358. https://doi.org/10.18293/SEKE2020-147(ISBN 1891706500)

  53. Yongfeng G, Xuan J, Zhang H, Zhang L, Fan Q, Xie X, Qian T (2019) Does the fault reside in a stack trace? Assisting crash localization by predicting crashing fault residence. J Syst Softw 148:88–104

    Article  Google Scholar 

  54. Nam J, Kim S (2015) Heterogeneous defect prediction. In: Proceedings of the 2015 10th joint meeting on foundations of software engineering, pp 508–519

  55. Zhang X, Zhou Y, Zhu C (2017) An empirical study of the impact of bad designs on defect proneness. In: 2017 International conference on software analysis, testing and evolution (SATE), pp 1–9. IEEE

  56. Jaafar F, Guéhéneuc Y-G, Hamel S, Khomh F (2013) Mining the relationship between anti-patterns dependencies and fault-proneness. In: 2013 20th working conference on reverse engineering (WCRE), pp 351–360. IEEE

  57. Noor TB, Hemmati H (2017) Studying test case failure prediction for test case prioritization. In: Proceedings of the 13th international conference on predictive models and data analytics in software engineering, pp 2–11

  58. Martin R (1996) OO design quality metrics. Q Eng 8(4):537–542

    Google Scholar 

  59. Ruhnau B (2000) Eigenvector-centrality—a node-centrality. Soc Netw 22(4):357–365. https://doi.org/10.1016/S0378-8733(00)00031-9. (ISSN 03788733)

    Article  Google Scholar 

  60. Campiteli MG, Holanda AJ, Soares LDH, Soles PRC, Kinouchi O (2013) Lobby index as a network centrality measure. Physica A 392(21):5511–5515. https://doi.org/10.1016/j.physa.2013.06.065. (ISSN 0378-4371)

    Article  ADS  Google Scholar 

  61. Chen D, Lü L, Shang MS, Zhang YC, Zhou T (2012) Identifying influential nodes in complex networks. Physica A 391(4):1777–1787. https://doi.org/10.1016/j.physa.2011.09.017. (ISSN 03784371)

    Article  ADS  Google Scholar 

  62. Binder RV (1994) Design for testability in object-oriented systems. Commun ACM 37(9):87–101. https://doi.org/10.1145/182987.184077. (ISSN 15577317)

    Article  Google Scholar 

  63. Witten IH, Frank E, Hall MA (2011) Introduction to Weka

  64. Cruz AEC, Ochimizu K (2009) Towards logistic regression models for predicting fault-prone code across software projects

  65. Zhou Y, Yan J (2017) A logistic regression based approach for software test management

  66. Kanmani S, Uthariaraj VR, Sankaranarayanan V, Thambidurai P (2007) Object-oriented software fault prediction using neural networks. Inf Softw Technol 49(5):483–492. https://doi.org/10.1016/j.infsof.2006.07.005. (ISSN 09505849)

    Article  Google Scholar 

  67. Aljahdali S, Sheta AF, Debnath NC (2016) Estimating software effort and function point using regression. In: Support vector machine and artificial neural networks models. (ISSN 21615330)

  68. Shanthini A, Chandrasekaran RM (2015) Analyzing the effect of bagged ensemble approach for software fault prediction in class level and package level metrics

  69. Braga PL, Oliveira ALI, Ribeiro GHT, Meira SRL (2007) Bagging predictors for estimation of software project effort. (ISSN 10987576)

  70. Abaei G, Selamat A (2014) A survey on software fault detection based on different prediction approaches. Vietnam J Comput Sci 1(2):79–95. https://doi.org/10.1007/s40595-013-0008-z. (ISSN 2196-8888)

    Article  Google Scholar 

  71. Malhotra R, Jain A (2012) Fault prediction using statistical and machine learning methods for improving software quality. J Inf Process Syst 8(2):241–262. https://doi.org/10.3745/JIPS.2012.8.2.241. (ISSN 1976913X)

    Article  Google Scholar 

  72. Guo L, Ma Y, Cukic B, Singh H (2004) Robust prediction of fault-proneness by random forests. (ISSN 10719458)

  73. Kaur A, Malhotra R (2008) Application of random forest in predicting fault-prone classes. In: Proceedings—2008 international conference on advanced computer theory and engineering, ICACTE 2008, pp 37–43. IEEE. https://doi.org/10.1109/ICACTE.2008.204(ISBN 9780769534893)

  74. Abdelali Z, Mustapha H, Abdelwahed N (2019) Investigating the use of random forest in software effort estimation. Procedia Comput Sci 148:343–352. https://doi.org/10.1016/j.procs.2019.01.042. (ISSN 18770509)

    Article  Google Scholar 

  75. Friedman N, Geiger D, Goldszmidt M (1997) Bayesian network classifiers. Mach Learn 29(2–3):131–163. https://doi.org/10.1023/a:1007465528199. (ISSN 08856125)

    Article  Google Scholar 

  76. Okutan A, Yıldız OT, and (2014) Software defect prediction using Bayesian networks. Empir Softw Eng 19(1):154–181. https://doi.org/10.1007/s10664-012-9218-8. (ISSN 15737616)

    Article  Google Scholar 

  77. Turhan B, Bener A (2009) Analysis of Naive Bayes’ assumptions on software fault data: an empirical study. Data Knowl Eng 68(2):278–290. https://doi.org/10.1016/j.datak.2008.10.005. (ISSN 0169023X)

    Article  Google Scholar 

  78. Wang T, Li WH (2010) Naïve bayes software defect prediction model. In: 2010 International conference on computational intelligence and software engineering, CiSE 2010, pp 0–3. https://doi.org/10.1109/CISE.2010.5677057

  79. Catal C, Sevim U, Diri B (2011) Practical development of an Eclipse-based software fault prediction tool using Naive Bayes algorithm. Expert Syst Appl 38(3):2347–2353. https://doi.org/10.1016/j.eswa.2010.08.022. (ISSN 09574174)

    Article  Google Scholar 

  80. Dejaeger K, Verbraken T, Baesens B (2013) Toward comprehensible software fault prediction models using Bayesian network classifiers. IEEE Trans Softw Eng 39(2):237–257. https://doi.org/10.1109/TSE.2012.20. (ISSN 00985589)

    Article  Google Scholar 

  81. Wang J, Shen B, Chen Y (2012) Compressed C4.5 models for software defect prediction. In: Proceedings—international conference on quality software, 2(1):13–16. https://doi.org/10.1109/QSIC.2012.19(ISSN 15506002)

  82. Li B, Shen B, Wang J, Chen Y, Zhang T, Wang J (2014) A scenario-based approach to predicting software defects using compressed C4.5 model. In: Proceedings—international computer software and applications conference, pp 406–415. IEEE. https://doi.org/10.1109/COMPSAC.2014.64

  83. Xing F, Guo P, Lyu MR (2005) A novel method for early software quality prediction based on support vector machine. In: Proceedings—international symposium on software reliability engineering, ISSRE (2005) 213–222. https://doi.org/10.1109/ISSRE.2005.6(ISSN 10719458)

  84. Singh Y, Kaur A, Malhotra R (2009) Software fault pronennes prediction using support vector machines. In: Proceedings of the World congress of engineering 2009, volume vol. 1, pp. 240–245. Citeseer. (ISBN 9789881701251)

  85. Platt J (1998) Fast training of support vector machines using sequential minimal optimization. In: Advances in kernel methods—support vector learning. MIT Press

  86. Keerthi SS, Shevade SK, Bhattacharyya C, Murthy KRK (2001) Improvements to Platt’s SMO algorithm for SVM classifier design. Neural Comput 13(3):637–649. https://doi.org/10.1162/089976601300014493. (ISSN 08997667)

    Article  Google Scholar 

  87. Trevor H, Robert T (1998) Classification by pairwise coupling. In: Jordan MI, Kearns MJ, Solla SA, (eds) Advances in neural information processing systems, vol 10, pp 507–513. MIT Press. (ISBN 0262100762)

  88. Espíndola RP, Ebecken NFF (2005) On extending F-measure and G-mean metrics to multi-class problems. In: Data mining VI, vol. 1, pp 25–34. https://doi.org/10.2495/DATA050031(ISBN 978-1-84564-017-0)

  89. Shatnawi R, Li W, Swain J, Newman T (2010) Finding software metrics threshold values using ROC curves. J Softw Mainten Evol 22(1):1–16. https://doi.org/10.1002/smr.404. (ISSN 1532060X)

    Article  Google Scholar 

  90. Demšar J (2006) Statistical comparisons of classifiers over multiple data sets. J Mach Learn Res 7:1–30 (ISSN 15337928)

    MathSciNet  Google Scholar 

  91. Jou YJ, Huang CCL, Cho HJ (2014) A VIF-based optimization model to alleviate collinearity problems in multiple linear regression. Comput Stat 29(6):1515–1541. https://doi.org/10.1007/s00180-014-0504-3. (ISSN 16139658)

    Article  MathSciNet  Google Scholar 

  92. Mladenić D (1998) Feature subset selection in text-learning. (ISSN 16113349)

  93. Hall M (1999) Correlation-based feature selection for machine learning. Methodology, 21i195-i20: 1–5. https://hdl.handle.net/10289/15043, https://researchcommons.waikato.ac.nz/handle/10289/15043?show=full

Download references

Acknowledgements

This work was supported by a NSERC (Natural Sciences and Engineering Research Council of Canada) grant.

Funding

Partial financial support was received from the NSERC (Natural Sciences and Engineering Research Council of Canada).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marc-Antoine Levasseur.

Ethics declarations

Conflict of interest

The authors have no competing interests to declare that are relevant to the content of this article.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Levasseur, MA., Badri, M. Prioritizing unit tests using object-oriented metrics, centrality measures, and machine learning algorithms. Innovations Syst Softw Eng (2024). https://doi.org/10.1007/s11334-024-00550-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11334-024-00550-9

Keywords

Navigation