Skip to main content
Top
Published in: Empirical Software Engineering 6/2022

01-11-2022

Handling uncertainty in SBSE: a possibilistic evolutionary approach for code smells detection

Authors: Sofien Boutaib, Maha Elarbi, Slim Bechikh, Fabio Palomba, Lamjed Ben Said

Published in: Empirical Software Engineering | Issue 6/2022

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Code smells, also known as anti-patterns, are poor design or implementation choices that hinder program comprehensibility and maintainability. While several code smell detection methods have been proposed, Mantyla et al. identified the uncertainty issue as one of the major individual human factors that may affect developer’s decisions about the smelliness of software classes: they may indeed have different opinions mainly due to their different knowledge and expertise. Unfortunately, almost all the existing approaches assume data perfection and neglect the uncertainty when identifying the labels of the software classes. Ignoring or rejecting any uncertainty form could lead to a considerable loss of information, which could significantly deteriorate the effectiveness of the detection and identification processes. Inspired by our previous works and motivated by the interesting performance of the PDT (Possibilistic Decision Tree) in classifying uncertain data, we propose ADIPE (Anti-pattern Detection and Identification using Possibilistic decision tree Evolution), as a new tool that evolves and optimizes a set of detectors (PDTs) that could effectively deal with software class labels uncertainty using some concepts from the Possibility theory. ADIPE uses a PBE (Possibilistic Base of Examples: a dataset with possibilistic labels) that it is built using a set of opinion-based classifiers (i.e., a set of probabilistic classifiers) with the aim to simulate human developers’ uncertainty. A set of advisors and probabilistic classifiers are employed in order to mimic the subjectivity and the doubtfulness of software engineers. A detailed experimental study is conducted to show the merits and outperformance of ADIPE in dealing with uncertainty in code smells detection and identification with respect to four relevant state-of-the-art methods, including the baseline PDT. The experimental study was performed in uncertain and certain environments based on two suitable metrics: PF-measure_dist (Possibilistic F-measure_Distance) and IAC (Information Affinity Criterion); which corresponds to the F-measure and Accuracy (PCC) for the certain case. The obtained results for the uncertain environment reveal that for the detection process, the PF-measure_dist of ADIPE ranges within [0.9047 and 0.9285], and its IAC lies within [0.9288 and 0.9557]; while for the identification process, the PF-measure_dist of ADIPE is in [0.8545, 0.9228], and its IAC lies within [0.8751, 0.933]. ADIPE is able to find 35% more code smells with uncertain data than the second best algorithm (i.e., BLOP). In addition, ADIPE succeeds to decrease the number of false alarms (i.e., misclassified smelly instances) with a rate equals to 12%. Our proposed approach is also able to identify 43% more smell types than BLOP and decreases the number of false alarms with a rate equals to 32%. Similar results were obtained for the certain environment, which demonstrate the ability of ADIPE to also deal with the certain environment.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Appendix
Available only for authorised users
Literature
go back to reference Al-Sahaf H, Bi Y, Chen Q, Lensen A, Mei Y, Sun Y, Tran B, Xue B, Zhang M (2019) A survey on evolutionary machine learning. J R Soc N Z 49(2):205–228CrossRef Al-Sahaf H, Bi Y, Chen Q, Lensen A, Mei Y, Sun Y, Tran B, Xue B, Zhang M (2019) A survey on evolutionary machine learning. J R Soc N Z 49(2):205–228CrossRef
go back to reference Alcalá-Fdez J, Fernández A, Luengo J, Derrac J, García S, Sánchez L, Herrera F (2011) Keel data-mining software tool: data set repository, integration of algorithms and experimental analysis framework. J Multiple-Valued Log Soft Comput 17 Alcalá-Fdez J, Fernández A, Luengo J, Derrac J, García S, Sánchez L, Herrera F (2011) Keel data-mining software tool: data set repository, integration of algorithms and experimental analysis framework. J Multiple-Valued Log Soft Comput 17
go back to reference Amorim L, Costa E, Antunes N, Fonseca B, Ribeiro M (2015) Experience report: Evaluating the effectiveness of decision trees for detecting code smells. In: Proceedings of the 26th International Symposium on Software Reliability Engineering,. IEEE, pp 261–269 Amorim L, Costa E, Antunes N, Fonseca B, Ribeiro M (2015) Experience report: Evaluating the effectiveness of decision trees for detecting code smells. In: Proceedings of the 26th International Symposium on Software Reliability Engineering,. IEEE, pp 261–269
go back to reference Arcuri A, Briand L (2014) A Hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Softw Test Verif Reliab 24 (3):219–250CrossRef Arcuri A, Briand L (2014) A Hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Softw Test Verif Reliab 24 (3):219–250CrossRef
go back to reference Azeem M I, Palomba F, Shi L, Wang Q (2019) Machine Learning Techniques for Code Smell Detection: A Systematic Literature Review and Meta-Analysis. Inf Softw Technol 108:115–138CrossRef Azeem M I, Palomba F, Shi L, Wang Q (2019) Machine Learning Techniques for Code Smell Detection: A Systematic Literature Review and Meta-Analysis. Inf Softw Technol 108:115–138CrossRef
go back to reference Barbez A, Khomh F, Guéhéneuc Y-G (2019) Deep learning anti-patterns from code metrics history. In: Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME 2019). IEEE, pp 114–124 Barbez A, Khomh F, Guéhéneuc Y-G (2019) Deep learning anti-patterns from code metrics history. In: Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME 2019). IEEE, pp 114–124
go back to reference Barros R C, Basgalupp M P, De Carvalho A C, Freitas A A (2012) A survey of evolutionary algorithms for decision-tree induction. IEEE Trans Syst Man Cybern 42(3):291–312CrossRef Barros R C, Basgalupp M P, De Carvalho A C, Freitas A A (2012) A survey of evolutionary algorithms for decision-tree induction. IEEE Trans Syst Man Cybern 42(3):291–312CrossRef
go back to reference Behmo R, Marcombes P, Dalalyan A, Prinet V (2010) Towards optimal naive bayes nearest neighbor. In: European conference on computer vision. Springer, pp 171–184 Behmo R, Marcombes P, Dalalyan A, Prinet V (2010) Towards optimal naive bayes nearest neighbor. In: European conference on computer vision. Springer, pp 171–184
go back to reference Bessghaier N, Ouni A, Mkaouer M W (2020) On the diffusion and impact of code smells in web applications. In: International Conference on Services Computing. Springer, pp 67–84 Bessghaier N, Ouni A, Mkaouer M W (2020) On the diffusion and impact of code smells in web applications. In: International Conference on Services Computing. Springer, pp 67–84
go back to reference Bouchon-Meunier B, Dubois D, Godo L, Prade H (1999) Fuzzy sets in approximate reasoning and information systems, vol 5. Kluwer Academic Publishers Bouchon-Meunier B, Dubois D, Godo L, Prade H (1999) Fuzzy sets in approximate reasoning and information systems, vol 5. Kluwer Academic Publishers
go back to reference Bounhas M, Hamed M G, Prade H, Serrurier M, Mellouli K (2014) Naive possibilistic classifiers for imprecise or uncertain numerical data. Fuzzy Sets Syst 239:137–156MathSciNetMATHCrossRef Bounhas M, Hamed M G, Prade H, Serrurier M, Mellouli K (2014) Naive possibilistic classifiers for imprecise or uncertain numerical data. Fuzzy Sets Syst 239:137–156MathSciNetMATHCrossRef
go back to reference Boussaa M, Kessentini W, Kessentini M, Bechikh S, Chikha S B (2013) Competitive Coevolutionary Code-Smells Detection. In: Proceedings of the 5th International Symposium on Search Based Software Engineering, vol 8084. Springer, pp 50–65 Boussaa M, Kessentini W, Kessentini M, Bechikh S, Chikha S B (2013) Competitive Coevolutionary Code-Smells Detection. In: Proceedings of the 5th International Symposium on Search Based Software Engineering, vol 8084. Springer, pp 50–65
go back to reference Boussaïd I, Siarry P, Ahmed-Nacer M (2017) A survey on search-based model-driven engineering. Autom Softw Eng 24:233–294CrossRef Boussaïd I, Siarry P, Ahmed-Nacer M (2017) A survey on search-based model-driven engineering. Autom Softw Eng 24:233–294CrossRef
go back to reference Boutaib S, Bechikh S, Palomba F, Elarbi M, Makhlouf M, Said L B (2020) Code smell detection and identification in imbalanced environments. Expert Syst Appl 166:114076CrossRef Boutaib S, Bechikh S, Palomba F, Elarbi M, Makhlouf M, Said L B (2020) Code smell detection and identification in imbalanced environments. Expert Syst Appl 166:114076CrossRef
go back to reference Boutaib S, Elarbi M, Bechikh S, Hung C-C, Said L B (2021) Software anti-patterns detection under uncertainty using a possibilistic evolutionary approach.. In: EuroGP, pp 181–197 Boutaib S, Elarbi M, Bechikh S, Hung C-C, Said L B (2021) Software anti-patterns detection under uncertainty using a possibilistic evolutionary approach.. In: EuroGP, pp 181–197
go back to reference Bowers K M, Fredericks E M, Hariri R H, Cheng B H (2020) Providentia: Using search-based heuristics to optimize satisficement and competing concerns between functional and non-functional objectives in self-adaptive systems. J Syst Softw 162:1–51CrossRef Bowers K M, Fredericks E M, Hariri R H, Cheng B H (2020) Providentia: Using search-based heuristics to optimize satisficement and competing concerns between functional and non-functional objectives in self-adaptive systems. J Syst Softw 162:1–51CrossRef
go back to reference Brindle A (1980) Genetic algorithms for function optimization. Ph.D. Thesis, The Faculty of Graduate Studies University of Alberta Brindle A (1980) Genetic algorithms for function optimization. Ph.D. Thesis, The Faculty of Graduate Studies University of Alberta
go back to reference Conover W J, Conover W J (1980) Practical nonparametric statistics. Wiley, New YorkMATH Conover W J, Conover W J (1980) Practical nonparametric statistics. Wiley, New YorkMATH
go back to reference de Paulo Sobrinho E V, De Lucia A, de Almeida Maia M (2018) A systematic literature review on bad smells—5 w’s: which, when, what, who, where. IEEE Trans Softw Eng de Paulo Sobrinho E V, De Lucia A, de Almeida Maia M (2018) A systematic literature review on bad smells—5 w’s: which, when, what, who, where. IEEE Trans Softw Eng
go back to reference Dhambri K, Sahraoui H, Poulin P (2008) Visual detection of design anomalies. In: Proceedings of the 12th European Conference on Software Maintenance and Reengineering,. IEEE, pp 279–283 Dhambri K, Sahraoui H, Poulin P (2008) Visual detection of design anomalies. In: Proceedings of the 12th European Conference on Software Maintenance and Reengineering,. IEEE, pp 279–283
go back to reference Di Nucci D, Palomba F, Tamburri D A, Serebrenik A, De Lucia A (2018) Detecting code smells using machine learning techniques: are we there yet?. In: Proceedings of the 25th International Conference on Software Analysis, Evolution and Reengineering. IEEE, pp 612–621 Di Nucci D, Palomba F, Tamburri D A, Serebrenik A, De Lucia A (2018) Detecting code smells using machine learning techniques: are we there yet?. In: Proceedings of the 25th International Conference on Software Analysis, Evolution and Reengineering. IEEE, pp 612–621
go back to reference Du X, Zhou Z, Yin B, Xiao G (2019) Cross-project bug type prediction based on transfer learning. Softw Qual J:1–19 Du X, Zhou Z, Yin B, Xiao G (2019) Cross-project bug type prediction based on transfer learning. Softw Qual J:1–19
go back to reference Dubois D, Prade H (1988) Possibility theory: an approach to computerized processing of uncertainty Dubois D, Prade H (1988) Possibility theory: an approach to computerized processing of uncertainty
go back to reference Dubois D, Prade H (1985) Unfair coins and necessity measures: towards a possibilistic interpretation of histograms. Fuzzy Sets Syst 10(1-3):15–20MathSciNetMATHCrossRef Dubois D, Prade H (1985) Unfair coins and necessity measures: towards a possibilistic interpretation of histograms. Fuzzy Sets Syst 10(1-3):15–20MathSciNetMATHCrossRef
go back to reference Dubois D, Prade H (1994) La fusion d’informations imprécises. Traitement Signal 11(6):447–458MATH Dubois D, Prade H (1994) La fusion d’informations imprécises. Traitement Signal 11(6):447–458MATH
go back to reference Dubois D, Prade H (1994) Possibility theory and data fusion in poorly informed environments. Control Eng Pract 2(5):811–823CrossRef Dubois D, Prade H (1994) Possibility theory and data fusion in poorly informed environments. Control Eng Pract 2(5):811–823CrossRef
go back to reference Dubois D, Prade H (2000) Possibility theory in information fusion. In: Proceedings of the 3rd international conference on information fusion, vol 1. IEEE, pp 6–P19 Dubois D, Prade H (2000) Possibility theory in information fusion. In: Proceedings of the 3rd international conference on information fusion, vol 1. IEEE, pp 6–P19
go back to reference Dunford N, Schwartz JT, WG B, RG B (1971) Linear operators. Wiley-Interscience, New York Dunford N, Schwartz JT, WG B, RG B (1971) Linear operators. Wiley-Interscience, New York
go back to reference Eiben A E, Smit S K (2011) Parameter tuning for configuring and analyzing evolutionary algorithms. Swarm Evol Comput 1(1):19–31CrossRef Eiben A E, Smit S K (2011) Parameter tuning for configuring and analyzing evolutionary algorithms. Swarm Evol Comput 1(1):19–31CrossRef
go back to reference Emden E V, Moonen L (2002) Java quality assurance by detecting code smells. In: Proceedings of the 9th Working Conference on Reverse Engineering. IEEE, pp 97–106 Emden E V, Moonen L (2002) Java quality assurance by detecting code smells. In: Proceedings of the 9th Working Conference on Reverse Engineering. IEEE, pp 97–106
go back to reference Erni K, Lewerentz C (1996) Applying design-metrics to object-oriented frameworks. In: Proceedings of the 3rd international software metrics symposium. IEEE, pp 64–74 Erni K, Lewerentz C (1996) Applying design-metrics to object-oriented frameworks. In: Proceedings of the 3rd international software metrics symposium. IEEE, pp 64–74
go back to reference Fernandes E, Oliveira J, Vale G, Paiva T, Figueiredo E (2016) A review-based comparative study of bad smell detection tools. In: Proceedings of the 20th Conference on Evaluation and Assessment in Software Engineering. ACM, p 18 Fernandes E, Oliveira J, Vale G, Paiva T, Figueiredo E (2016) A review-based comparative study of bad smell detection tools. In: Proceedings of the 20th Conference on Evaluation and Assessment in Software Engineering. ACM, p 18
go back to reference Fontana F A, Braione P, Zanoni M (2012) Automatic detection of bad smells in code: An experimental assessment. J Object Technol 11(2):5–1 Fontana F A, Braione P, Zanoni M (2012) Automatic detection of bad smells in code: An experimental assessment. J Object Technol 11(2):5–1
go back to reference Fontana F A, Dietrich J, Walter B, Yamashita A, Zanoni M (2016) Antipattern and code smell false positives: Preliminary conceptualization and classification. In: 2016 IEEE 23rd international conference on software analysis, evolution, and reengineering (SANER), vol 1. IEEE, pp 609–613 Fontana F A, Dietrich J, Walter B, Yamashita A, Zanoni M (2016) Antipattern and code smell false positives: Preliminary conceptualization and classification. In: 2016 IEEE 23rd international conference on software analysis, evolution, and reengineering (SANER), vol 1. IEEE, pp 609–613
go back to reference Fontana F A, Mäntylä M V, Zanoni M, Marino A (2016) Comparing and experimenting machine learning techniques for code smell detection. Empir Softw Eng 21(3):1143–1191CrossRef Fontana F A, Mäntylä M V, Zanoni M, Marino A (2016) Comparing and experimenting machine learning techniques for code smell detection. Empir Softw Eng 21(3):1143–1191CrossRef
go back to reference Fontana F A, Zanoni M (2017) Code smell severity classification using machine learning techniques. Knowl-Based Syst 128:43–58CrossRef Fontana F A, Zanoni M (2017) Code smell severity classification using machine learning techniques. Knowl-Based Syst 128:43–58CrossRef
go back to reference Fowler M, Beck K (1999) Refactoring: improving the design of existing code. Addison-Wesely Fowler M, Beck K (1999) Refactoring: improving the design of existing code. Addison-Wesely
go back to reference Friedman N, Geiger D, Goldszmidt M (1997) Bayesian network classifiers. Mach Learn 29(2-3):131–163MATHCrossRef Friedman N, Geiger D, Goldszmidt M (1997) Bayesian network classifiers. Mach Learn 29(2-3):131–163MATHCrossRef
go back to reference Fu S, Shen B (2015) Code Bad Smell Detection through Evolutionary Data Mining. In: Proceedings of the ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. IEEE, pp 1–9 Fu S, Shen B (2015) Code Bad Smell Detection through Evolutionary Data Mining. In: Proceedings of the ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. IEEE, pp 1–9
go back to reference Gopalan R (2012) Automatic detection of code smells in java source code. Ph.D. Thesis, University of Western Australia Gopalan R (2012) Automatic detection of code smells in java source code. Ph.D. Thesis, University of Western Australia
go back to reference Hadj-Kacem M, Bouassida N (2019) Deep representation learning for code smells detection using variational auto-encoder. In: Proceedings of the International Joint Conference on Neural Networks (IJCNN). IEEE, pp 1–8 Hadj-Kacem M, Bouassida N (2019) Deep representation learning for code smells detection using variational auto-encoder. In: Proceedings of the International Joint Conference on Neural Networks (IJCNN). IEEE, pp 1–8
go back to reference Hassaine S, Khomh F, Guéhéneuc Y-G, Hamel S (2010) IDS: An immune-inspired approach for the detection of software design smells. In: Proceedings of the 7th International Conference on Quality of Information and Communications Technology. IEEE, pp 343–348 Hassaine S, Khomh F, Guéhéneuc Y-G, Hamel S (2010) IDS: An immune-inspired approach for the detection of software design smells. In: Proceedings of the 7th International Conference on Quality of Information and Communications Technology. IEEE, pp 343–348
go back to reference Henderson-Sellers B (1995) Object-oriented metrics: measures of complexity. Prentice-Hall, Inc. Henderson-Sellers B (1995) Object-oriented metrics: measures of complexity. Prentice-Hall, Inc.
go back to reference Higashi M, Klir G J (1983) On the notion of distance representing information closeness: Possibility and probability distributions. Int J Gen Syst 9 (2):103–115MathSciNetMATHCrossRef Higashi M, Klir G J (1983) On the notion of distance representing information closeness: Possibility and probability distributions. Int J Gen Syst 9 (2):103–115MathSciNetMATHCrossRef
go back to reference Holmes C, Adams N (2002) A probabilistic nearest neighbour method for statistical pattern recognition. J R Stat Soc Ser B (Stat Methodol) 64 (2):295–306MathSciNetMATHCrossRef Holmes C, Adams N (2002) A probabilistic nearest neighbour method for statistical pattern recognition. J R Stat Soc Ser B (Stat Methodol) 64 (2):295–306MathSciNetMATHCrossRef
go back to reference Hosseini S, Turhan B, Mäntylä M (2018) A benchmark study on the effectiveness of search-based data selection and feature selection for cross project defect prediction. Inf Softw Technol 95:1–17CrossRef Hosseini S, Turhan B, Mäntylä M (2018) A benchmark study on the effectiveness of search-based data selection and feature selection for cross project defect prediction. Inf Softw Technol 95:1–17CrossRef
go back to reference Jenhani I (2010) From possibilistic similarity measures to possibilistic decision trees. Ph.D. Thesis, Artois Jenhani I (2010) From possibilistic similarity measures to possibilistic decision trees. Ph.D. Thesis, Artois
go back to reference Jenhani I, Amor N B, Benferhat S, Elouedi Z (2008) Sim-pdt: A similarity based possibilistic decision tree approach. In: Proceedings of the International Symposium on Foundations of Information and Knowledge Systems. Springer, pp 348–364 Jenhani I, Amor N B, Benferhat S, Elouedi Z (2008) Sim-pdt: A similarity based possibilistic decision tree approach. In: Proceedings of the International Symposium on Foundations of Information and Knowledge Systems. Springer, pp 348–364
go back to reference Jenhani I, Amor N B, Elouedi Z (2008) Decision trees as possibilistic classifiers. Int J Approx Reason 48(3):784–807CrossRef Jenhani I, Amor N B, Elouedi Z (2008) Decision trees as possibilistic classifiers. Int J Approx Reason 48(3):784–807CrossRef
go back to reference Jenhani I, Amor N B, Elouedi Z, Benferhat S, Mellouli K (2007) Information affinity: A new similarity measure for possibilistic uncertain information. In: Proceedings of the European Conference on Symbolic and Quantitative Approaches to Reasoning and Uncertainty. Springer, pp 840–852 Jenhani I, Amor N B, Elouedi Z, Benferhat S, Mellouli K (2007) Information affinity: A new similarity measure for possibilistic uncertain information. In: Proceedings of the European Conference on Symbolic and Quantitative Approaches to Reasoning and Uncertainty. Springer, pp 840–852
go back to reference Jenhani I, Benferhat S, Elouedi Z (2009) On the use of clustering in possibilistic decision tree induction. In: Proceedings of the European Conference on Symbolic and Quantitative Approaches to Reasoning and Uncertainty. Springer, pp 505–517 Jenhani I, Benferhat S, Elouedi Z (2009) On the use of clustering in possibilistic decision tree induction. In: Proceedings of the European Conference on Symbolic and Quantitative Approaches to Reasoning and Uncertainty. Springer, pp 505–517
go back to reference Karafotias G, Hoogendoorn M, Eiben A E (2015) Parameter control in evolutionary algorithms: Trends and challenges. IEEE Trans Evol Comput 19:167–187CrossRef Karafotias G, Hoogendoorn M, Eiben A E (2015) Parameter control in evolutionary algorithms: Trends and challenges. IEEE Trans Evol Comput 19:167–187CrossRef
go back to reference Kessentini M, Sahraoui H, Boukadoum M, Wimmer M (2011) Search-Based Design Defects Detection by Example. In: Proceedings of the 14th International Conference on Fundamental Approaches to Software Engineering, vol 6603. Springer, pp 401–415 Kessentini M, Sahraoui H, Boukadoum M, Wimmer M (2011) Search-Based Design Defects Detection by Example. In: Proceedings of the 14th International Conference on Fundamental Approaches to Software Engineering, vol 6603. Springer, pp 401–415
go back to reference Kessentini W, Kessentini M, Sahraoui H, Bechikh S, Ouni A (2014) A Cooperative Parallel Search-Based Software Engineering Approach for Code-Smells Detection. IEEE Trans Softw Eng 40(9):841–861CrossRef Kessentini W, Kessentini M, Sahraoui H, Bechikh S, Ouni A (2014) A Cooperative Parallel Search-Based Software Engineering Approach for Code-Smells Detection. IEEE Trans Softw Eng 40(9):841–861CrossRef
go back to reference Khomh F, Vaucher S, Guéhéneuc Y-G, Sahraoui H (2009) A bayesian approach for the detection of code and design smells. In: Proceedings of the 9th International Conference on Quality Software. IEEE, pp 305–314 Khomh F, Vaucher S, Guéhéneuc Y-G, Sahraoui H (2009) A bayesian approach for the detection of code and design smells. In: Proceedings of the 9th International Conference on Quality Software. IEEE, pp 305–314
go back to reference Khomh F, Vaucher S, Guéhéneuc Y-G, Sahraoui H (2011) BDTEX: A GQM-based Bayesian approach for the detection of antipatterns. J Syst Softw 84(4):559–572CrossRef Khomh F, Vaucher S, Guéhéneuc Y-G, Sahraoui H (2011) BDTEX: A GQM-based Bayesian approach for the detection of antipatterns. J Syst Softw 84(4):559–572CrossRef
go back to reference Klement E P, Mesiar R, Pap E (2000) Triangular norms Klement E P, Mesiar R, Pap E (2000) Triangular norms
go back to reference Kreimer J (2005) Adaptive detection of design flaws. Electron Notes Theor Comput Sci 141(4):117–136CrossRef Kreimer J (2005) Adaptive detection of design flaws. Electron Notes Theor Comput Sci 141(4):117–136CrossRef
go back to reference Krętowski M, Grześ M (2005) Global learning of decision trees by an evolutionary algorithm. In: Information Processing and Security Systems. Springer, pp 401–410 Krętowski M, Grześ M (2005) Global learning of decision trees by an evolutionary algorithm. In: Information Processing and Security Systems. Springer, pp 401–410
go back to reference Kroupa T (2006) Application of the choquet integral to measures of information in possibility theory. Int J Intell Syst 21(3):349–359MATHCrossRef Kroupa T (2006) Application of the choquet integral to measures of information in possibility theory. Int J Intell Syst 21(3):349–359MATHCrossRef
go back to reference Langelier G, Sahraoui H, Poulin P (2005) Visualization-based analysis of quality for large-scale software systems. In: Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering. ACM, pp 214–223 Langelier G, Sahraoui H, Poulin P (2005) Visualization-based analysis of quality for large-scale software systems. In: Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering. ACM, pp 214–223
go back to reference Lanza M, Marinescu R (2007) Object-oriented metrics in practice: using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer Science & Business Media Lanza M, Marinescu R (2007) Object-oriented metrics in practice: using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer Science & Business Media
go back to reference Lanza M, Marinescu R (2007) Object-oriented metrics in practice: using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer Science & Business Media Lanza M, Marinescu R (2007) Object-oriented metrics in practice: using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer Science & Business Media
go back to reference Li K, Xiang Z, Chen T, Tan K C (2020) Bilo-cpdp: Bi-level programming for automated model discovery in cross-project defect prediction. In: 2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, pp 573–584 Li K, Xiang Z, Chen T, Tan K C (2020) Bilo-cpdp: Bi-level programming for automated model discovery in cross-project defect prediction. In: 2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, pp 573–584
go back to reference Liu H, Jin J, Xu Z, Bu Y, Zou Y, Zhang L (2019) Deep learning based code smell detection. IEEE Trans Softw Eng Liu H, Jin J, Xu Z, Bu Y, Zou Y, Zhang L (2019) Deep learning based code smell detection. IEEE Trans Softw Eng
go back to reference Ma C Y, Wang X Z (2009) Inductive data mining based on genetic programming: Automatic generation of decision trees from data for process historical data analysis. Comput Chem Eng 33(10):1602–1616CrossRef Ma C Y, Wang X Z (2009) Inductive data mining based on genetic programming: Automatic generation of decision trees from data for process historical data analysis. Comput Chem Eng 33(10):1602–1616CrossRef
go back to reference Maiga A, Ali N, Bhattacharya N, Sabane A, Gueheneuc Y-G, Aimeur E (2012a) SMURF: A SVM-based incremental anti-pattern detection approach. In: Proceedings of the 19th Working conference on Reverse engineering,. IEEE, pp 466–475 Maiga A, Ali N, Bhattacharya N, Sabane A, Gueheneuc Y-G, Aimeur E (2012a) SMURF: A SVM-based incremental anti-pattern detection approach. In: Proceedings of the 19th Working conference on Reverse engineering,. IEEE, pp 466–475
go back to reference Maiga A, Ali N, Bhattacharya N, Sabané A, Guéhéneuc Y-G, Antoniol G, Aïmeur E (2012b) Support vector machines for anti-pattern detection. In: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. IEEE, pp 278–281 Maiga A, Ali N, Bhattacharya N, Sabané A, Guéhéneuc Y-G, Antoniol G, Aïmeur E (2012b) Support vector machines for anti-pattern detection. In: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. IEEE, pp 278–281
go back to reference Mansoor U, Kessentini M, Bechikh S, Deb K (2013) Code-smells detection using good and bad software design examples. Technical report, Technical Report Mansoor U, Kessentini M, Bechikh S, Deb K (2013) Code-smells detection using good and bad software design examples. Technical report, Technical Report
go back to reference Mansoor U, Kessentini M, Maxim B R, Deb K (2017) Multi-objective code-smells detection using good and bad design examples. Softw Qual J 25(2):529–552CrossRef Mansoor U, Kessentini M, Maxim B R, Deb K (2017) Multi-objective code-smells detection using good and bad design examples. Softw Qual J 25(2):529–552CrossRef
go back to reference Mantyla M V, Vanhanen J, Lassenius C (2004) Bad smells-humans as code critics. In: 20th IEEE International Conference on Software Maintenance, 2004. Proceedings. IEEE, pp 399–408 Mantyla M V, Vanhanen J, Lassenius C (2004) Bad smells-humans as code critics. In: 20th IEEE International Conference on Software Maintenance, 2004. Proceedings. IEEE, pp 399–408
go back to reference Marinescu R (2002) Measurement and quality in object oriented design. Ph.D. Thesis, Politehnica University of Timisoara Marinescu R (2002) Measurement and quality in object oriented design. Ph.D. Thesis, Politehnica University of Timisoara
go back to reference Marinescu R (2004) Detection strategies: Metrics-based rules for detecting design flaws. In: Proceedings of the 20th IEEE International Conference on Software Maintenance. IEEE, pp 350–359 Marinescu R (2004) Detection strategies: Metrics-based rules for detecting design flaws. In: Proceedings of the 20th IEEE International Conference on Software Maintenance. IEEE, pp 350–359
go back to reference Martin R C (2002) Agile software development: principles, patterns, and practices. Prentice Hall Martin R C (2002) Agile software development: principles, patterns, and practices. Prentice Hall
go back to reference Moha N, Gueheneuc Y G, Duchien L, Meur A F L (2010) DECOR: A Method for the Specification and Detection of Code and Design Smells. IEEE Trans Softw Eng 36(1):20–36MATHCrossRef Moha N, Gueheneuc Y G, Duchien L, Meur A F L (2010) DECOR: A Method for the Specification and Detection of Code and Design Smells. IEEE Trans Softw Eng 36(1):20–36MATHCrossRef
go back to reference Oliveto R, Khomh F, Antoniol G, Guéhéneuc Y-G (2010) Numerical signatures of antipatterns: An approach based on b-splines. In: Proceedings of the 14th European Conference on Software maintenance and reengineering. IEEE, pp 248–251 Oliveto R, Khomh F, Antoniol G, Guéhéneuc Y-G (2010) Numerical signatures of antipatterns: An approach based on b-splines. In: Proceedings of the 14th European Conference on Software maintenance and reengineering. IEEE, pp 248–251
go back to reference Ouni A (2014) A mono-and multi-objective approach for recommending software refactoring. Ph.D. Thesis, Faculty of arts and sciences of Montreal Ouni A (2014) A mono-and multi-objective approach for recommending software refactoring. Ph.D. Thesis, Faculty of arts and sciences of Montreal
go back to reference Ouni A, Kessentini M, Sahraoui H, Boukadoum M (2013) Maintainability defects detection and correction: a multi-objective approach. Autom Softw Eng 20(1):47–79CrossRef Ouni A, Kessentini M, Sahraoui H, Boukadoum M (2013) Maintainability defects detection and correction: a multi-objective approach. Autom Softw Eng 20(1):47–79CrossRef
go back to reference Palomba F, Bavota G, Di Penta M, Oliveto R, De Lucia A (2014) Do they really smell bad? a study on developers’ perception of bad code smells. In: 2014 IEEE International Conference on Software Maintenance and Evolution. IEEE, pp 101–110 Palomba F, Bavota G, Di Penta M, Oliveto R, De Lucia A (2014) Do they really smell bad? a study on developers’ perception of bad code smells. In: 2014 IEEE International Conference on Software Maintenance and Evolution. IEEE, pp 101–110
go back to reference Palomba F, Bavota G, Di Penta M, Oliveto R, Poshyvanyk D, De Lucia A (2015) Mining version histories for detecting code smells. IEEE Trans Softw Eng 41(5):462–489CrossRef Palomba F, Bavota G, Di Penta M, Oliveto R, Poshyvanyk D, De Lucia A (2015) Mining version histories for detecting code smells. IEEE Trans Softw Eng 41(5):462–489CrossRef
go back to reference Palomba F, Bavota G, Penta M D, Oliveto R, Lucia A D, Poshyvanyk D (2013) Detecting bad smells in source code using change history information. In: Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering. IEEE Press, pp 268–278 Palomba F, Bavota G, Penta M D, Oliveto R, Lucia A D, Poshyvanyk D (2013) Detecting bad smells in source code using change history information. In: Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering. IEEE Press, pp 268–278
go back to reference Palomba F, Panichella A, Zaidman A, Oliveto R, De Lucia A (2017) The scent of a smell: An extensive comparison between textual and structural smells. IEEE Trans Softw Eng 44(10):977–1000CrossRef Palomba F, Panichella A, Zaidman A, Oliveto R, De Lucia A (2017) The scent of a smell: An extensive comparison between textual and structural smells. IEEE Trans Softw Eng 44(10):977–1000CrossRef
go back to reference Pan S J, Tsang I W, Kwok J T, Yang Q (2010) Domain adaptation via transfer component analysis. IEEE Trans Neural Netw 22(2):199–210CrossRef Pan S J, Tsang I W, Kwok J T, Yang Q (2010) Domain adaptation via transfer component analysis. IEEE Trans Neural Netw 22(2):199–210CrossRef
go back to reference Pearl J (1982) Reverend bayes on inference engines: A distributed hierarchical approach. In: Proceedings of the Second AAAI Conference on Artificial Intelligence. AAAI Press, pp 133–136 Pearl J (1982) Reverend bayes on inference engines: A distributed hierarchical approach. In: Proceedings of the Second AAAI Conference on Artificial Intelligence. AAAI Press, pp 133–136
go back to reference Pearl J (1985) Bayesian netwcrks: A model cf self-activated memory for evidential reasoning. In: Proceedings of the 7th Conference of the Cognitive Science Society. University of California, Irvine, pp 15–17 Pearl J (1985) Bayesian netwcrks: A model cf self-activated memory for evidential reasoning. In: Proceedings of the 7th Conference of the Cognitive Science Society. University of California, Irvine, pp 15–17
go back to reference Pecorelli F, Di Nucci D, De Roover C, De Lucia A (2020) A large empirical assessment of the role of data balancing in machine-learning-based code smell detection. J Syst Softw:110693 Pecorelli F, Di Nucci D, De Roover C, De Lucia A (2020) A large empirical assessment of the role of data balancing in machine-learning-based code smell detection. J Syst Softw:110693
go back to reference Pecorelli F, Palomba F, Di Nucci D, De Lucia A (2019) Comparing Heuristic and Machine Learning Approaches for Metric-Based Code Smell Detection. In: Proceedings of the IEEE/ACM International Conference on Program Comprehension. IEEE, p 12 Pecorelli F, Palomba F, Di Nucci D, De Lucia A (2019) Comparing Heuristic and Machine Learning Approaches for Metric-Based Code Smell Detection. In: Proceedings of the IEEE/ACM International Conference on Program Comprehension. IEEE, p 12
go back to reference Pecorelli F, Palomba F, Khomh F, De Lucia A (2020) Developer-driven code smell prioritization. In: Proceedings of the 17th International Conference on Mining Software Repositories, pp 220–231 Pecorelli F, Palomba F, Khomh F, De Lucia A (2020) Developer-driven code smell prioritization. In: Proceedings of the 17th International Conference on Mining Software Repositories, pp 220–231
go back to reference Qing H, Biwen L, Beijun S, Xia Y (2015) Cross-project software defect prediction using feature-based transfer learning. In: Proceedings of the 7th Asia-Pacific Symposium on Internetware, pp 74–82 Qing H, Biwen L, Beijun S, Xia Y (2015) Cross-project software defect prediction using feature-based transfer learning. In: Proceedings of the 7th Asia-Pacific Symposium on Internetware, pp 74–82
go back to reference Quinlan J R (1987) Decision trees as probabilistic classifiers. In: Proceedings of the Fourth International Workshop on Machine Learning. Elsevier, pp 31–37 Quinlan J R (1987) Decision trees as probabilistic classifiers. In: Proceedings of the Fourth International Workshop on Machine Learning. Elsevier, pp 31–37
go back to reference Ramirez A, Romero J R, Ventura S (2018) A survey of many-objective optimisation in search-based software engineering. J Syst Softw 149:382–395CrossRef Ramirez A, Romero J R, Ventura S (2018) A survey of many-objective optimisation in search-based software engineering. J Syst Softw 149:382–395CrossRef
go back to reference Rapu D, Ducasse S, Gîrba T, Marinescu R (2004) Using history information to improve design flaws detection. In: Proceedings of the 8th European Conference on Software Maintenance and Reengineering,. IEEE, pp 223–232 Rapu D, Ducasse S, Gîrba T, Marinescu R (2004) Using history information to improve design flaws detection. In: Proceedings of the 8th European Conference on Software Maintenance and Reengineering,. IEEE, pp 223–232
go back to reference Sahin D, Kessentini M, Bechikh S, Deb K (2014) Code-Smell Detection as a Bilevel Problem. ACM Trans Softw Eng Methodol 24(1):1–44CrossRef Sahin D, Kessentini M, Bechikh S, Deb K (2014) Code-Smell Detection as a Bilevel Problem. ACM Trans Softw Eng Methodol 24(1):1–44CrossRef
go back to reference Saidani I, Ouni A, Mkaouer M W (2020) Web service api anti-patterns detection as a multi-label learning problem. In: International Conference on Web Services. Springer, pp 114–132 Saidani I, Ouni A, Mkaouer M W (2020) Web service api anti-patterns detection as a multi-label learning problem. In: International Conference on Web Services. Springer, pp 114–132
go back to reference Sangüesa R, Cabós J, Cortes U (1998) Possibilistic conditional independence: A similarity-based measure and its application to causal network learning. Int J Approx Reason 18(1-2):145–167MathSciNetMATHCrossRef Sangüesa R, Cabós J, Cortes U (1998) Possibilistic conditional independence: A similarity-based measure and its application to causal network learning. Int J Approx Reason 18(1-2):145–167MathSciNetMATHCrossRef
go back to reference Sharma T, Spinellis D (2018) A survey on software smells. J Syst Softw 138:158–173CrossRef Sharma T, Spinellis D (2018) A survey on software smells. J Syst Softw 138:158–173CrossRef
go back to reference Taibi D, Janes A, Lenarduzzi V (2017) How developers perceive smells in source code: A replicated study. Inf Softw Technol 92:223–235CrossRef Taibi D, Janes A, Lenarduzzi V (2017) How developers perceive smells in source code: A replicated study. Inf Softw Technol 92:223–235CrossRef
go back to reference Tsang S, Kao B, Yip K Y, Ho W-S, Lee S D (2009) Decision trees for uncertain data. IEEE Trans Knowl Data Eng 23(1):64–78CrossRef Tsang S, Kao B, Yip K Y, Ho W-S, Lee S D (2009) Decision trees for uncertain data. IEEE Trans Knowl Data Eng 23(1):64–78CrossRef
go back to reference Tsantalis N, Chatzigeorgiou A (2009) Identification of Move Method Refactoring Opportunities. IEEE Trans Softw Eng 35(3):347–367CrossRef Tsantalis N, Chatzigeorgiou A (2009) Identification of Move Method Refactoring Opportunities. IEEE Trans Softw Eng 35(3):347–367CrossRef
go back to reference Tsantalis N, Chatzigeorgiou A (2011) Identification of extract method refactoring opportunities for the decomposition of methods. J Syst Softw 84:1757–1782CrossRef Tsantalis N, Chatzigeorgiou A (2011) Identification of extract method refactoring opportunities for the decomposition of methods. J Syst Softw 84:1757–1782CrossRef
go back to reference Tufano M, Palomba F, Bavota G, Oliveto R, Di Penta M, De Lucia A, Poshyvanyk D (2017) When and why your code starts to smell bad (and whether the smells go away). IEEE Trans Softw Eng 43(11):1063–1088CrossRef Tufano M, Palomba F, Bavota G, Oliveto R, Di Penta M, De Lucia A, Poshyvanyk D (2017) When and why your code starts to smell bad (and whether the smells go away). IEEE Trans Softw Eng 43(11):1063–1088CrossRef
go back to reference Van Rijsbergen CJ (1979) Information retrieval Van Rijsbergen CJ (1979) Information retrieval
go back to reference Vargha A, Delaney H D (2000) A critique and improvement of the cl common language effect size statistics of mcgraw and wong. J Educ Behav Stat 25 (2):101–132 Vargha A, Delaney H D (2000) A critique and improvement of the cl common language effect size statistics of mcgraw and wong. J Educ Behav Stat 25 (2):101–132
go back to reference Vaucher S, Khomh F, Moha N, Guéhéneuc Y-G (2009) Tracking design smells: Lessons from a study of god classes. In: Proceedings of the 16th Working Conference on Reverse Engineering,. IEEE, pp 145–154 Vaucher S, Khomh F, Moha N, Guéhéneuc Y-G (2009) Tracking design smells: Lessons from a study of god classes. In: Proceedings of the 16th Working Conference on Reverse Engineering,. IEEE, pp 145–154
go back to reference Whittle J, Sawyer P, Bencomo N, Cheng B H, Bruel J-M (2009) Relax: Incorporating uncertainty into the specification of self-adaptive systems. In: Proceedings of the 17th International Requirements Engineering Conference. IEEE, pp 79–88 Whittle J, Sawyer P, Bencomo N, Cheng B H, Bruel J-M (2009) Relax: Incorporating uncertainty into the specification of self-adaptive systems. In: Proceedings of the 17th International Requirements Engineering Conference. IEEE, pp 79–88
go back to reference Wirfs-Brock R, McKean A (2003) Object design: roles, responsibilities, and collaborations. Addison-Wesley Professional Wirfs-Brock R, McKean A (2003) Object design: roles, responsibilities, and collaborations. Addison-Wesley Professional
go back to reference Yamashita A, Moonen L (2013) Do developers care about code smells? an exploratory survey. In: 2013 20th Working Conference on Reverse Engineering (WCRE). IEEE, pp 242–251 Yamashita A, Moonen L (2013) Do developers care about code smells? an exploratory survey. In: 2013 20th Working Conference on Reverse Engineering (WCRE). IEEE, pp 242–251
go back to reference Zhu Z, Li Y, Tong H, Wang Y (2020) Cooba: Cross-project bug localization via adversarial transfer learning. In: Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence, IJCAI, pp 3565–3571 Zhu Z, Li Y, Tong H, Wang Y (2020) Cooba: Cross-project bug localization via adversarial transfer learning. In: Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence, IJCAI, pp 3565–3571
go back to reference Zimmermann T, Nagappan N, Gall H, Giger E, Murphy B (2009) Cross-project defect prediction: a large scale experiment on data vs. domain vs. process. In: Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, pp 91–100 Zimmermann T, Nagappan N, Gall H, Giger E, Murphy B (2009) Cross-project defect prediction: a large scale experiment on data vs. domain vs. process. In: Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, pp 91–100
Metadata
Title
Handling uncertainty in SBSE: a possibilistic evolutionary approach for code smells detection
Authors
Sofien Boutaib
Maha Elarbi
Slim Bechikh
Fabio Palomba
Lamjed Ben Said
Publication date
01-11-2022
Publisher
Springer US
Published in
Empirical Software Engineering / Issue 6/2022
Print ISSN: 1382-3256
Electronic ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-022-10142-5

Other articles of this Issue 6/2022

Empirical Software Engineering 6/2022 Go to the issue

Premium Partner