Publication:
TreeNose: A Language-Independent Code Smell Detector

ac.comp.abstractCode smells are a series of code-design-related issues which can lead to the dropdown of code quality and hinder developers from reading or maintaining the software programs. Code smell detection tools in this case have been developed to automatically check the existence of code smells based a set of metrics and thresholds. Passing a range of code smell detections has been considered a necessary step to ensure the high quality and maintainability of code in modern software development. We believe code smells occur on the logic level regardless of syntaxes of languages, therefore code smell detection tools have the potential to be language-independent too. However, util now few of code smell detection tools in market can support multiple programming languages. TreeNose, therefore, was built to explore the unknown and address the lack of language-independent code smell detection tools. TreeNose is able to detect 5 kinds of code smells across multiple OOP languages: Python, Java, and JavaScript. Furthermore, we designed three research questions in our research: 1. How is TreeNose's performance in different languages? 2. Do code smells happen in software projects regardless of the selection of language? 3. Do some code smells occur more often than others in some languages? In order to answer those questions, we implemented TreeNose on a series of open source projects written in different programming languages and collected data from their TreeNose reports. As the results of the experiments, we draw the following conclusions: 1. TreeNose proves to have high precision on code smell detection regardless of the selection of programming language 2. Programming languages have tendency on different code smells 3. No programming language is significantly more smelly-prone than others.
ac.comp.awardComputer Science, 2024en_US
ac.comp.firstreaderKapfhammer, Gregory
ac.comp.languageEnglish
ac.comp.permissionformPublicen_US
ac.comp.secondreadersJumadinova, Janyl A.
dc.contributor.authorChen, Yanqiaoen_US
dc.contributor.departmentComputer and Information Science
dc.date.accessioned2024-05-07T12:44:54Z
dc.date.available2024-05-07T12:44:54Z
dc.date.issued2024-05-03
dc.description.majorComputer Science
dc.identifier.urihttps://hdl.handle.net/10456/57745
dc.subjectCode Smell
dc.subjectSoftware Engineering
dc.subjectCode Design
dc.titleTreeNose: A Language-Independent Code Smell Detector
dc.typeSenior Project Paper
dspace.entity.typePublication

Files

Original bundle

Now showing 1 - 1 of 1
Thumbnail Image
Name:
SeniorThesis.pdf
Size:
817.83 KB
Format:
Adobe Portable Document Format