Abstract
Code smells (a.k.a. anti-patterns) are manifestations of poor design solutions that could deteriorate the software maintainability and evolution. Despite the high number of existing detection methods, the issue of class label uncertainty is usually omitted. Indeed, two human experts may have different degrees of uncertainty about the smelliness of a particular software class not only for the smell detection task but also for the smell type identification one. Thus, this uncertainty should be taken into account and then processed by detection tools. Unfortunately, these latter usually reject and/or ignore uncertain data that correspond to software classes (i.e. dataset instances) with uncertain labels. This practice could considerably degrade the detection/identification process effectiveness. Motivated by this observation and the interesting performance of the Possibilistic K-NN (PK-NN) classifier in dealing with uncertain data, we propose a new possibilistic evolutionary detection method, named ADIPOK (Anti-patterns Detection and Identification using Possibilistic Optimized K-NNs), that is able to deal with label uncertainty using some concepts stemming from the Possibility theory. ADIPOK is validated using a possibilistic base of smell examples that simulates the subjectivity of software engineers’ opinions’ uncertainty. The statistical analysis of the obtained results on a set of comparative experiments with respect to four state-of-the-art methods show the merits of our proposed method.
Keywords
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Behmo, R., Marcombes, P., Dalalyan, A., Prinet, V.: Towards optimal Naive Bayes nearest neighbor. In: Daniilidis, K., Maragos, P., Paragios, N. (eds.) ECCV 2010. LNCS, vol. 6314, pp. 171–184. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-15561-1_13
Bounhas, M., Hamed, M.G., Prade, H., Serrurier, M., Mellouli, K.: Naive possibilistic classifiers for imprecise or uncertain numerical data. Fuzzy Sets Syst. 239, 137–156 (2014)
Cohen, J.: Statistical Power Analysis for the Behavioral Sciences. Erlbaum Associates, Hillsdale (1988)
Conover, W.J., Conover, W.J.: Practical Nonparametric Statistics. Wiley, New York (1980)
Deb, K., Agrawal, R.B., et al.: Simulated binary crossover for continuous search space. Complex Syst. 9(2), 115–148 (1995)
Dubois, D., Prade, H.: Possibility theory: an approach to computerized processing of uncertainty. Plenum Press, New York (1988)
Fowler, M., Beck, K.: Refactoring: Improving the Design of Existing Code. Addison-Wesely, Boston (1999)
Friedman, N., Geiger, D., Goldszmidt, M.: Bayesian network classifiers. Mach. Learn. 29(2–3), 131–163 (1997)
Gopalan, R.: Automatic detection of code smells in Java source code. Ph.D. thesis, University of Western Australia (2012)
Holmes, C., Adams, N.: A probabilistic nearest neighbour method for statistical pattern recognition. J. Roy. Stat. Soc. B (Stat. Methodol.) 64(2), 295–306 (2002)
Jain, A., Jatain, A.: Search based software engineering techniques. Int. J. Comput. Appl. 975, 8887 (2015)
Jenhani, I.: From Possibilistic Similarity Measures to Possibilistic Decision Trees: Decision Tree Approaches for Handling Label-uncertainty in Classification Problems. LAP LAMBERT Academic Publishing, Saarbrücken (2010)
Jenhani, I., Ben Amor, N., Elouedi, Z., Benferhat, S., Mellouli, K.: Information affinity: a new similarity measure for possibilistic uncertain information. In: Mellouli, K. (ed.) ECSQARU 2007. LNCS (LNAI), vol. 4724, pp. 840–852. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-75256-1_73
Li, L., Zhao, K., Sun, R., Gan, J., Yuan, G., Liu, T.: Parameter-free extreme learning machine for imbalanced classification. Neural Process. Lett. 52(3), 1927–1944 (2020). https://doi.org/10.1007/s11063-020-10282-z
Moha, N., Gueheneuc, Y.G., Duchien, L., Meur, A.F.L.: DECOR: a method for the specification and detection of code and design smells. IEEE Trans. Softw. Eng. 36(1), 20–36 (2009)
Ouni, A., Kessentini, M., Sahraoui, H., Boukadoum, M.: Maintainability defects detection and correction: a multi-objective approach. Autom. Softw. Eng. 20(1), 47–79 (2013)
Pearl, J.: Bayesian networks: a model CF self-activated memory for evidential reasoning. In: Proceedings of the 7th Conference of the Cognitive Science Society, University of California, Irvine, CA, USA, pp. 15–17 (1985)
Quinlan, J.R.: Decision trees as probabilistic classifiers. In: the Proceedings of the 4th International Workshop on Machine Learning, pp. 31–37. Elsevier (1987)
Sahin, D., Kessentini, M., Bechikh, S., Deb, K.: Code-smell detection as a bilevel problem. ACM Trans. Softw. Eng. Methodol. 24(1), 1–44 (2014)
Saied, S., Elouedi, Z.: K-nearest neighbors classifier under possibility framework. In: Proceedings of the 27th La Logique Floue est ses Applications, LFA, pp. 1–8 (2018)
Srinivas, M., Patnaik, L.M.: Genetic algorithms: a survey. Computer 27(6), 17–26 (1994)
Talbi, E.G.: Metaheuristics: From Design to Implementation, vol. 74, pp. 214–215. Wiley, New York (2009)
Tsantalis, N., Chatzigeorgiou, A.: Identification of move method refactoring opportunities. IEEE Trans. Softw. Eng. 35(3), 347–367 (2009)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Boutaib, S., Elarbi, M., Bechikh, S., Hung, CC., Ben Said, L. (2021). Software Anti-patterns Detection Under Uncertainty Using a Possibilistic Evolutionary Approach. In: Hu, T., Lourenço, N., Medvet, E. (eds) Genetic Programming. EuroGP 2021. Lecture Notes in Computer Science(), vol 12691. Springer, Cham. https://doi.org/10.1007/978-3-030-72812-0_12
Download citation
DOI: https://doi.org/10.1007/978-3-030-72812-0_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-72811-3
Online ISBN: 978-3-030-72812-0
eBook Packages: Computer ScienceComputer Science (R0)