Skip to content

vikiru/CodeSmell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeSmell

Project Description

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

Fig. 1 System Diagram of the CodeSmell tool

A diagram of the most important architectural components of the tool is shown above. In this package view, many components are omitted in order to keep the diagram readable and emphasize the important components. Java classes are shown in blue to differentiate them from components written in other languages.

Authors

  • Golan Hassin
  • Visakan Kirubakaran
  • Sabin Plaiasu
  • Martin Rivard

Relevant Links

Prerequisites

Make sure that the following prerequisites are successfully installed on your machine:

Build and Run Instructions

Setup

Ensure the relevant environment variables are set properly:

  • JAVA_HOME
  • MAVEN_HOME
  • joern

dot, joern, maven, java and python must also be part of your system PATH variable to use this program.

Build Instructions

Run the following command to clean and package the project:

mvn clean package

Build the project files with Maven:

mvn install

Run Instructions

In order to execute the main program via the terminal, run the following:

mvn clean javafx:run

In order to run the program through the executable jar via the terminal, the following command can be used:

java -jar ./target/CodeSmell-1.0-SNAPSHOT-shaded.jar

Testing Instructions

Run the following command to execute all of the tests:

mvn test

In order to skip invoking Joern (which can take a significant amount of time on older hardware), pass the command line argument to skip joern through maven like so:

mvn -Dskip=true javafx:run

License

MIT © 2023 Golan Hassin, Visakan Kirubakaran, Sabin Plaiasu, Martin Rivard.