Skip to content
Sandesh Gharge edited this page Jan 14, 2024 · 1 revision

Welcome to the thesis-automaticSourceCodeAnalysis wiki!

Gharge, Sandesh, 00821875

Thesis Title - Automatic Source Code Analysis

AutomaticSourceCodeAnalysis

Desktop Application designed specifically to get an overview of any project which includes

- Number of files
- Number of lines
- Number of code
- Number of comments

This software was designed along with the mentorship of Prof. Udo Garmaan, a tool that can help professors evaluate the list of projects submitted by students as assignments or projects. Aim of this software is to ease out the effort professor face during evaluation by providing the necessary details required for grading. Results can be stored offline in an Excel file in the form of grades, comments, etc. and can be used later for reference.

Please refer to the User Guide from the Report to test the working of the project.

Prerequisites:

Python version 3.10

pyqt6 (PyQt 6.4): Install command - pip install pyqt6

pandas (for data analysis): Install command - pip install pandas

pygount (for code Analysis). Install command - pip install pygount

pyjslint (for analysis of Javascript files): Install command - pip install pyjslint

pyinstaller (for creating executable files for desktop): Install command - pip install pyinstaller Build command - pyinstaller --onefile main.py

pip install requests

Project Outline

The project has 3 files at the moment:

  • main.py
  • listmodel.py
  • analyserWindow.py

main.py reads a ZIP. In the GUI it is possible to set a name. This name is used as a subfolder name (course folder) in the ./data folder, where the ZIP is extracted. Then the files and subfolders of the course folder are analysed. A list with the submissions is created.

listmodel.py is mainly used at the moment for the list representation of the submissions.

analyserWindow.py is dialog that opens for evaluation of a project, by default it analyses the file types, and code written along with the comments added. It has a grading tab to grade the window and, a remark text field to add comments.

How to run

  1. Download or clone the project from git Sample Link - https://github.com/sandeshgharge/thesis-automaticSourceCodeAnalysis

  2. Run the application using main.py

  3. Upload the zip file and Start the analysis

Links

1. Code Repository

https://github.com/sandeshgharge/thesis-automaticSourceCodeAnalysis

Clone this wiki locally