HashTrace is a modern and efficient plagiarism detection system built using Qt (QML) for the frontend and C++ as the backend. It uses the Rabin-Karp rolling hash algorithm to identify code/text similarities between files and highlights them with an intuitive interface.
Output.mp4
- Drag-and-drop support for adding files
- Rabin-Karp algorithm for efficient hash-based comparison
- Side-by-side file comparison with highlighted duplicate content
- Similarity score between files
- Minimal, responsive UI using QML
- Handles preprocessing like removing comments and reserved keywords
- Preprocessing: Cleans the source code (removes comments, blank lines, reserved words).
- Hashing: Uses Rabin-Karp rolling hash to generate fingerprints.
- Comparison: Compares hashes and highlights matched segments.
- Visualization: Displays the results with matching blocks and similarity percentage.
- Frontend: Qt 6, QML
- Backend: C++17
- Build System: CMake
- Algorithm: Rabin-Karp Rolling Hash
# Clone the repository
git clone https://github.com/your-username/HashTrace.git
cd HashTrace
# Build the project
mkdir build && cd build
cmake ..
make./HashTrace- This project is licensed under the MIT License.
Praveen Kumar praveenrajagopal45@gmail.com