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

Informations générales

Année de publication

2021

Type

Conférence

Description

24th European Conference on Genetic Programming

Résumé

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.

BibTeX
@inproceedings{boutaib2021software,
title={Software Anti-patterns Detection Under Uncertainty Using a Possibilistic Evolutionary Approach},
author={Boutaib, Sofien and Elarbi, Maha and Bechikh, Slim and Hung, Chih-Cheng and Ben Said, Lamjed},
booktitle={Genetic Programming},
pages={181--197},
year={2021},

isbn={978-3-030-72812-0},

publisher={Springer}
}