This project is a software analyzer designed to identify modules in object-oriented applications, create a coupling graph, and transform the results into a dendrogram using JDT and Spoon.
- Java 17 or OpenJDK 17
If OpenJDK 17 is not installed, you can install it using the following commands:
sudo apt install openjdk-17-jdkbrew install openjdk@17After installation, verify the installation:
java -versionDownload the project as a .zip file from the GitHub repository and extract it to your desired location.
Navigate to the directory where the software-comprehension.jar file is located. Then, run the analyzer using the following command:
java -jar software-comprehension.jarThe analyzer will prompt you to enter the path to the project you wish to analyze. You can use the sample project located in resources/LibraryManagement by entering its path:
Please provide the project path you want to work on: resources/LibraryManagementNext, provide the path to your JDK. You can retrieve this path with:
echo $JAVA_HOMEThen, enter the path in the analyzer prompt:
Please provide the JDK path: /path/to/your/jdkChoose which tool to use for analysis:
Menu:
1 : Analyze using JDT.
2 : Analyze using Spoon.
0 : Exit.
What do you choose:The analyzer will process the project and output key metrics, including:
- Identified classes and method calls
- Total method invocations
- Generated call graph
- Coupling graph
- Dendrogram showing module clustering