Litcius/Paper detail

A multi-label classification approach for detecting test smells over java projects

Mouna Hadj-Kacem, Nadia Bouassida

2021Journal of King Saud University - Computer and Information Sciences11 citationsDOIOpen Access PDF

Abstract

Software testing plays a critical role in the development and the assurance of the software quality. However, the quality of the code that is responsible for testing may, itself, be affected by poor design choices, known as test smells. In the literature, test smells may be interpreted differently by developers, which in turn can lead to different detection tools and results. In our work, we have selected the mostly commonly used detection tools and have investigated their overall agreement across different projects and different test smells. The found results were evaluated according to the average level of agreement, where we observed a definite disagreement between the tools. To overcome this gap of misinterpretation, we propose in this paper a multi-label classification approach to detect test smells based on a deep representation of the test code. We conducted our experiments using 4 problem-transformation techniques and 4 ensemble techniques. To evaluate our experimental results, we built a benchmark using a tool-based approach for labelling and made it publicly available. Binary Relevance and RAkEL are found to be the best multi-label techniques that achieve high performance results.

Topics & Concepts

Code smellComputer scienceSoftware quality assuranceBenchmark (surveying)Relevance (law)JavaQuality assuranceSoftware qualitySoftwareQuality (philosophy)Machine learningArtificial intelligenceSoftware engineeringTest (biology)Data miningSoftware developmentProgramming languageEngineeringGeodesyLawBiologyGeographyPhilosophyPaleontologyPolitical scienceEpistemologyOperations managementExternal quality assessmentSoftware Engineering ResearchSoftware Testing and Debugging TechniquesAdvanced Malware Detection Techniques
A multi-label classification approach for detecting test smells over java projects | Litcius