CodeSmell
A tool for detection and visualization of code smells for object-oriented languages.
Technologies Used
JavaPythonMavenJUnitJavaFXHTMLCSSJavaScript
Timeline
Sept 2022 - Apr 2023Co-Authors
This project was completed as a group, with 3 co-authors.Key Accomplishments
- Integrated Maven and Joern, an existing external static analysis tool via Python.
- Optimized data retrieval from local Joern server instance by 80%, reducing time to 180s from 840s (or less depending on hardware and os).
- Contributed to the development and enhancement of a collection of classes representing Java's OOP Model.
- Contributed to the development of a Parser class to convert JSON data from Joern to Java objects.
- Designed classes for UML relationship assignment and code smell detection statistics.
- Implemented and tested algorithms for three specific code smells (Inappropriate Intimacy, Refused Bequest, and Orphan Variable).
- Created a wiki that traces the project’s milestone-wise evolution, team member contributions, and setup procedures, paired with explanatory gifs and screenshots.