Projects

CodeSmell

A tool for detection and visualization of code smells for object-oriented languages.

Technologies Used

JavaPythonMavenJUnitJavaFXHTMLCSSJavaScript

Timeline

Sept 2022 - Apr 2023

Co-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.