CLEAN++: Code Smells Extraction for C++

Tom Mashiach, Bruno Sotto-Mayor, Gal Kaminka, Meir Kalech

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

1 Scopus citations

Abstract

The extraction of features is an essential step in the process of mining software repositories. An important feature that has been actively studied in the field of mining software repositories is bad code smells. Bad code smells are patterns in the source code that indicate an underlying issue in the design and implementation of the software. Several tools have been proposed to extract code smells. However, currently, there are no tools that extract a significant number of code smells from software written in C++. Therefore, we propose CLEAN++ (Code smeLls ExtrActioN for C++) [1]. It is an extension of a robust static code analysis tool that implements 35 code smells. To evaluate CLEAN++, we ran it over 44 open-source projects and wrote test cases to validate each code smell. Also, we converted the test cases to Java and used two Java tools to validate the effectiveness of our tool. In the end, we confirmed that the CLEAN++ is successful at detecting code smells.The tool is available at https://github.com/Tomma94/CLEAN-Plus-Plus.

Original languageEnglish
Title of host publicationProceedings - 2023 IEEE/ACM 20th International Conference on Mining Software Repositories, MSR 2023
PublisherInstitute of Electrical and Electronics Engineers
Pages441-445
Number of pages5
ISBN (Electronic)9798350311846
DOIs
StatePublished - 1 Jan 2023
Event20th IEEE/ACM International Conference on Mining Software Repositories, MSR 2023 - Melbourne, Australia
Duration: 15 May 202316 May 2023

Publication series

NameProceedings - 2023 IEEE/ACM 20th International Conference on Mining Software Repositories, MSR 2023

Conference

Conference20th IEEE/ACM International Conference on Mining Software Repositories, MSR 2023
Country/TerritoryAustralia
CityMelbourne
Period15/05/2316/05/23

Keywords

  • C++
  • Code Smells
  • Mining Software Repositories
  • Open Source
  • Static Analysis Tool

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'CLEAN++: Code Smells Extraction for C++'. Together they form a unique fingerprint.

Cite this