Skip to content

Latest commit

 

History

75 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors MIT License

Plagiarism Detector

Plagiarism Checker for .c and .txt files built using C Programming Language.


Logo

A C-based plagiarism detection tool that efficiently compares text files to identify similarities with the extensive use of different Data Structures and Algorithms. It ensures accurate and fast detection, making it ideal for academic and professional use.

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. License
  5. Contact
  6. Acknowledgments

About The Project

This is a CLI tool built using C with the use of Various Data Structures and Algorithms. It is a part of the DSA Mini Project (OddSem 24-25). As of now the tool support Plagiarism Checking for .c and .txt and .pdf files only. Support for other types of files can be added with the relevant grammar for the corresponding language. List of Data Structures Used --

  • Singly Linked List
  • Doubly Linked List
  • Binary Search Tree
  • Arrays
  • Stack
  • Custom Pair DataStructure for Efficient Memory Management

List of Algorithms Used --

  • N-gram Similarity Algorithm for .txt Files
  • Modified Sim-Utiliy Algorithm & JPlag for .c Files

Features:

  1. Free and Open Source: Distributed under the permissive MIT License, fostering collaboration and innovation.
  2. Intuitive Result Visualization: Presents results as interactive graphs rendered in an HTML file for easy analysis.
  3. PDF File Support: Includes a precise and reliable PDF parser for seamless comparison of text within PDF documents.
  4. Batch File Comparison: Allows comparison across multiple files or entire directories for comprehensive analysis.
  5. Bidirectional Similarity Check: Generates results for both directions— 1-to-2 similarity and 2-to-1 similarity—for thorough detection.
  6. Fast and Accurate: Delivers results quickly and with high precision, rivalling leading plagiarism detection tools.

This tool offers a robust and user-friendly solution for all plagiarism detection needs.

Built With

The Major Programming Languages/Libraries Used are :

  • C Programming Language
  • Flex Tool for Efficient Tokenization
  • Poppler Library for PDF Parsing
  • PbPlot Library for Graph Plotting and Result Visualization

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • Flex-Tool Installation for Debian based Systems.
  sudo apt install flex

For other Linux Distros, use the corresponding package manager

Installation

Below is an example of how you can instruct your audience on installing and setting up your app. This template doesn't rely on any external dependencies or services.

  1. Clone the repo

    git clone https://github.com/HardikMutha/Plagiarism_Detection_Using_C.git
    cd ./Plagiarism_Detection_Using_C/
  2. Install poppler Library

     sudo apt install libpoppler-dev

    (back to top)

Usage

Use MakeFile to run the Project. The type parameter should either be c or txt depending upon the type of file being checked. The Directory parameter should specify the directory of the files to be checked.

  make type=c/txt directory=directoryname

Example

If the type of the files being checked is C and the files are located in ~/CPlagiarism/Tests/, then command should look like,

  make type=c directory=  ~/CPlagiarism/Tests/

Expected Output - The resultant index.html file contains the results in the form of bar-graphs.

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact_Contributors

Hardik Mutha
Tanmay Karad
Suswan Joglekar

(back to top)

Acknowledgments

We would like to express great thanks to the following resources which greatly helped us to design and build our Project :

(back to top)

About

Plagiarism Detection System written in C. Using String Algorithms such as Greedy String Tiling, Rabin Karp Algorithm etc., to achieve Results

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages