Repository logo
Log In(current)
  1. Home
  2. Works by Students
  3. Senior Projects
  4. Projects by Departments / Programs
  5. Computer and Information Science
  6. TreeNose: A Language-Independent Code Smell Detector
Details

TreeNose: A Language-Independent Code Smell Detector

Persistent URL
https://hdl.handle.net/10456/57745
Author(s)
Chen, Yanqiao
Date Issued
May 3, 2024
Abstract
Code 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.
Major
Computer Science
Honors
Computer Science, 2024
First Reader(s)
Kapfhammer, Gregory
Other Reader(s)
Jumadinova, Janyl A.
Department
Computer and Information Science
Type of Publication
Senior Project Paper
Subjects

Code Smell

Software Engineering

Code Design

File(s)
Thumbnail Image
Name

SeniorThesis.pdf

Size

817.83 KB

Format

Adobe PDF

Checksum (MD5)

a1b60dc6823a02026dddd83225c9dc5d

Allegheny Logo

814-332-4312

dspace-help@allegheny.edu

Built with DSpace-CRIS software - Extension maintained and optimized by 4Science

  • Accessibility settings
  • Privacy policy
  • End User Agreement
  • Send Feedback
Repository logo COAR Notify