Abstract
Nowadays, due to the constant increase in size and complexity of the software systems imposed by their evolution, developing qualitative software systems becomes a highly important task. To achieve this goal, early detection of software defects is a must. The paper proposes an approach to generate rules for software defect prediction. In this respect, a Software Defects Rules Discovery (SDRD) algorithm was put forward. This one uses the ant colony system method to discover the best solution based on code metrics values. We conducted 20 experiments in total (five experiments with three metrics and 15 experiments with combinations of two metrics). The results revealed that the metrics that correlate with the dependent variable are CBO (Coupling Between Objects), RFC (Response For a Class) and NPM (Number of Private Methods), and that from all the combinations of two metrics, for the five projects, the best obtained rule is formed with RFC and NPM metrics.












Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Abreu F (1993) Metrics for object oriented environment. In: Proceedings of the 3rd international conference on software quality, Tahoe, Nevada, EUA, October 4th - 6th, pp 67—-75
Abreu F (1995) The MOOD metrics set. In: 9th European conference on object-oriented programming (ECOOP’95) Workshop Metrics
Abreu F, Rogerio C (1994) Candidate metrics for object- oriented software within a taxonomy framework. J Syst Softw 26:359–368
Azar D, Vybihal J (2011) An ant colony optimization algorithm to improve software quality prediction models: case of class stability. Inf Softw Technol 53(4):388–393
Azar D, Harmanani H, Korkmaz R (2009) A hybrid heuristic approach to optimize rule-based software quality estimation models. Inform Softw Technol 51(9):1365–1376
Azar D, Fayad K, Daoud C (2016) A combined ant colony optimization and simulated annealing algorithm to assess stability and fault-proneness of classes based on internal software quality attributes. Int J Artif Intell 14(2):137–156
Blum C, Socha K (2005) Training feed-forward neural networks with ant colony optimization: an application to pattern classification. In: Fifth international conference on hybrid intelligent systems (HIS’05), pp. 6
Boryczka U, Kozak J (2010) Ant colony decision trees: a new method for constructing decision trees based on ant colony optimization. In: Proceedings of the second international conference on computational collective intelligence: technologies and applications - Volume PartI, Springer-Verlag, Berlin, Heidelberg, ICCCI’10, p 373–382
Botes F, Leenen L, Harpe RDL (2011) Ant tree miner amyntas: automatic, cost-based feature selection for intrusion detection. J Inform Warfare 16(4):73–92
Chidamber SR, Kemerer CF (1994) A metrics suite for object-oriented design. IEEE Trans Soft Ware Eng 20(6):476–493
Coad P, Yourdon E (1991) Object-oriented design, vol 2. Prentice Hall, London
Croes GA (1958) A method for solving traveling salesman problems. Op Res 6:791–812
D’Ambros M, Lanza M, Robbes R (2010) An extensive comparison of bug prediction approaches. In: 2010 7th IEEE working conference on mining software repositories (MSR 2010), pp 31–41, https://doi.org/10.1109/MSR.2010.5463279
DeMarco T (1986) Controlling software projects: management, measurement, and estimates. Prentice Hall PTR, New Jersy
Dorigo M, Gambardella L (1997) Ant colony system: a cooperative learning approach to the traveling salesman problem. IEEE Trans Evolut Comput 1:53–66
Dorigo M, T S, (2004) Ant Colony optimization. MIT Press
Dorigo M, Maniezzo V, Colorni A (1986) The ant system: optimization by a colony of cooperating agents. IEEE Trans Syst Man Cybern 26:1–13
Elmishali A, Stern R, Kalech M (2018) An artificial intelligence paradigm for troubleshooting software bugs. Eng Appl Artif Intell 69:147–156. https://doi.org/10.1016/j.engappai.2017.12.011
Equinox (Online; accessed 29 Feb 2019) Eclipse equinox. https://projects.eclipse.org/projects/eclipse.equinox
Fenton N (1995) Software metrics: a rigorous approach. International Thomson Computer Press, London, UK
Glover F (1986) Future paths for integer programming and links to artificial intelligence. Comput Op Res 13:533–549
Hodnefjell S, Costa Junior I (2012) Classification rule discovery with ant colony optimization algorithm. In: Yin H, Costa JAF, Barreto G (eds) Intelligent data engineering and automated learning - IDEAL 2012. Springer, Berlin Heidelberg, Berlin, Heidelberg, pp 678–687
Holland H (1975) Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor, MI, USA
JDT (Online; accessed 29 Feb 2019) Jdt core component. https://www.eclipse.org/jdt/core/index.php
Kirkpatrick GCVMS (1983) Optimization by simulated annealing. Science 220:671–680
Kumar K, Gyani DJ, Narsimha G (2018) Software defect prediction using ant colony optimization. Int J Appl Eng Res 13(19):14291–14297
Land AH, Doig AG (1960) An automatic method of solving discrete programming problems. Econometrica 28:497–520
Li W, Henry S (1993) Maintenance metrics for the object oriented paradigm. IEEE proc first international software metrics symp pp 52–60
Liu B, Abbass HA, Mckay B (2002) Density-based heuristic for rule discovery with ant-miner. In: Proceedings of the 6th Australasia-Japan Joint Workshop on Intell Evol Syst
Lorenz M, Kidd J (1994) Object-oriented software metrics. Prentice-Hall Object-Oriented Series, Englewood Cliffs, NY
Lucene (Online; accessed 29 Feb 2019) Lucene. http://lucene.apache.org/
Marinescu R (2002) Measurement and quality in object oriented design. PhD thesis, faculty of automatics and computer science, University of Timisoara
Martens D, De Backer M, Haesen R, Vanthienen J, Snoeck M, Baesens B (2007) Classification with ant colony optimization. IEEE Trans Evolut Comput 11(5):651–665
McCabe T (1976) A complexity measure. IEEE Trans Softw Eng 2(4):308–320
Mylyn (Online; accessed 29 Feb 2019) Mylyn
Otero FEB, Freitas AA, Johnson CG (2008) cant-miner: an ant colony classification algorithm to cope with continuous attributes. In: Dorigo M, Birattari M, Blum C, Clerc M, Stützle T, Winfield AFT (eds) Ant colony optimization and swarm intelligence. Springer, Berlin Heidelberg, Berlin, Heidelberg, pp 48–59
Otero FEB, Freitas A, Johnson C (2010) A hierarchical multi-label classification ant colony algorithm for protein function prediction. Memetic Comp 2:165–181
Parpinelli R, Lopes H, Freitas A (2002) Data mining with an ant colony optimization algorithm. IEEE Trans Evolut Comput 6(4):321–332
Parpinelli RS, Lopes HS, Freitas AA (2001) An ant colony based system for data mining: applications to medical data. In: Proceedings of the 3rd annual conference on genetic and evolutionary computation, pp 791–797
PDE (Online; accessed 29 Feb 2019) Pde ui. https://www.eclipse.org/pde/pde-ui
Perez-Uribe A (2002) Ant colony system algorithm in C/C++
Prim RC (1957) Shortest connection networks and some generalizations. Bell Syst Tech J 36:1389–1401
Qiao L, Li X, Umer Q, Guo P (2020) Deep learning based software defect prediction. Neurocomputing 385:100–110
Riel A (1996) Object-oriented design heuristics. Addison-Wesley, Boston
Sotto-Mayor B, Kalech M (2021) Cross-project smell-based defect prediction. Soft Comput 25(22):14171–14181
Soui M, Chouchane M, Mkaouer MW, Kessentini M, Ghedira K (2020) Assessing the quality of mobile graphical user interfaces using multi-objective optimization. Soft Comput 24(10):7685–7714
Vescan A, Serban C, Crisan G (2021) Software defects rules discovery. In: 2021 IEEE international conference on software testing, verification and validation workshops (ICSTW), IEEE computer society, Los Alamitos, CA, USA, pp 101–109, 10.1109/ICSTW52544.2021.00028, https://doi.ieeecomputersociety.org/10.1109/ICSTW52544.2021.00028
Vivanco R (2007) Improving predictive models of software quality using an evolutionary computational approach. In: 2007 IEEE international conference on software maintenance, IEEE, pp 503–504
Yin RK (2008) Case study research: design and methods (Applied Social Research Methods), fourth edition. edn. Sage Publications
Funding
The research performed by Gloria Cerasela Crişan was funded by the Ministry of Education and Research, through the National Council for the Financing of Higher Education, Romania, grant number CNFIS-FDI-2021-0285.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
Author Andreea Vescan declares that she has no conflict of interest. Author Camelia Şerban declares that she has no conflict of interest. Author Gloria Cerasela Crişan declares that she has no conflict of interest.
Ethical approval
This article does not contain any studies with human participants or animals performed by any of the authors.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Vescan, A., Şerban, C. & Crişan, G.C. Computational intelligence in software defects rules discovery. Soft Comput 26, 6925–6939 (2022). https://doi.org/10.1007/s00500-021-06646-9
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-021-06646-9