Skip to main content

Software Anti-patterns Detection Under Uncertainty Using a Possibilistic Evolutionary Approach

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12691))

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.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    http://www.intooitus.com/products/infusion.

  2. 2.

    http://loose.upt.ro/iplasma/.

  3. 3.

    http://argouml.tigris.org/.

  4. 4.

    http://xerces.apache.org/xerces-j/.

  5. 5.

    https://sourceforge.net/projects/ganttproject/files/OldFiles/.

  6. 6.

    http://ant.apache.org.

  7. 7.

    http://vuze.com/.

  8. 8.

    http://www.jfree.org/jfreechart/.

References

  1. 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

    Chapter  Google Scholar 

  2. 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)

    Article  MathSciNet  Google Scholar 

  3. Cohen, J.: Statistical Power Analysis for the Behavioral Sciences. Erlbaum Associates, Hillsdale (1988)

    MATH  Google Scholar 

  4. Conover, W.J., Conover, W.J.: Practical Nonparametric Statistics. Wiley, New York (1980)

    MATH  Google Scholar 

  5. Deb, K., Agrawal, R.B., et al.: Simulated binary crossover for continuous search space. Complex Syst. 9(2), 115–148 (1995)

    MathSciNet  MATH  Google Scholar 

  6. Dubois, D., Prade, H.: Possibility theory: an approach to computerized processing of uncertainty. Plenum Press, New York (1988)

    Book  Google Scholar 

  7. Fowler, M., Beck, K.: Refactoring: Improving the Design of Existing Code. Addison-Wesely, Boston (1999)

    Google Scholar 

  8. Friedman, N., Geiger, D., Goldszmidt, M.: Bayesian network classifiers. Mach. Learn. 29(2–3), 131–163 (1997)

    Article  Google Scholar 

  9. Gopalan, R.: Automatic detection of code smells in Java source code. Ph.D. thesis, University of Western Australia (2012)

    Google Scholar 

  10. 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)

    Article  MathSciNet  Google Scholar 

  11. Jain, A., Jatain, A.: Search based software engineering techniques. Int. J. Comput. Appl. 975, 8887 (2015)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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

    Chapter  Google Scholar 

  14. 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

    Article  Google Scholar 

  15. 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)

    Article  Google Scholar 

  16. 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)

    Article  Google Scholar 

  17. 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)

    Google Scholar 

  18. Quinlan, J.R.: Decision trees as probabilistic classifiers. In: the Proceedings of the 4th International Workshop on Machine Learning, pp. 31–37. Elsevier (1987)

    Google Scholar 

  19. 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)

    Article  Google Scholar 

  20. 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)

    Google Scholar 

  21. Srinivas, M., Patnaik, L.M.: Genetic algorithms: a survey. Computer 27(6), 17–26 (1994)

    Article  Google Scholar 

  22. Talbi, E.G.: Metaheuristics: From Design to Implementation, vol. 74, pp. 214–215. Wiley, New York (2009)

    Book  Google Scholar 

  23. Tsantalis, N., Chatzigeorgiou, A.: Identification of move method refactoring opportunities. IEEE Trans. Softw. Eng. 35(3), 347–367 (2009)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Slim Bechikh .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics