Byte Inspector is a professional static code analysis toolkit for C++, CUDA, and Python, developed as a project for the MSc Mathematics (Java course requirement).
- C++ Analyzer: Detects unsafe functions, code complexity, memory issues, OOP metrics, and more.
- CUDA Analyzer: Analyzes CUDA-specific code for performance, memory, and correctness.
- Python Analyzer: Flags unsafe Python patterns, code complexity, and best practices.
- JavaFX GUI: User-friendly dashboard for uploading code and viewing analysis reports.
- SimpleServer: Java server for handling file uploads and dispatching analysis.
analyzer/— Java source for analyzers (CppAnalyzer, CudaAnalyzer, PythonAnalyzer)bin/— Compiled Java classes and resourcescpp-analyzer/— Standalone C++/CUDA/Python analyzer modulesrc/,uploads/— (Legacy/empty or for future use)automate.sh— Script to automate compilation and GUI launchMakefile.mak,Make.mak,Makegui.mak— Build scripts for analyzers and GUISimpleServer.java— Java server for file uploads and analysis
For detailed setup and usage, see cpp-analyzer/instructions.md.
- Compile analyzers:
make -f Makefile.mak compile
- Compile and run GUI:
make -f Makegui.mak compile make -f Makegui.mak run
- Automate everything:
./automate.sh
- Upload files:
- Place files in the
uploads/directory or use the GUI.
- Place files in the
- View reports:
- Reports are generated in
cpp-analyzer/output/.
- Reports are generated in
- Java 17+
- JavaFX SDK (update
PATH_TO_FXinMakegui.mak) - Linux (for
inotifywaitinautomate.sh) - GNU Make
Contributions are welcome! Please open an issue or pull request.
- Developed for MSc Mathematics, 1st year Java course, 2025-26.
- Author: Saketh S.
For detailed analyzer and GUI usage, troubleshooting, and advanced options, see cpp-analyzer/instructions.md.