Skip to content

iakotey-cmu-F24/moss-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moss-rs

Moss-rs is an implementation of the MOSS client in pure Rust. Moss-rs currenly exports a library to provide reusable access to it's components, as well as a binary that acts as a client for the Moss service.

About Moss

Moss is a code similarity analysis tool developed by Alex Aiken, Daniel S. Wilkerson and Saul Schleimer. It is useful as a tool for detecting similarity and possible plagiarism. It is not, in itself, a plagiarism checker as it cannot deterministically ascertain whether or not plagiarism occured.

Moss is provided as an internet service. This project is just an implementation of the reference client, found here.

Installation (Binary)

Installation instructions for moss can be found here

Build from source

Prerequisites

  1. Rust Compiler. Install using rustup
  2. Git
  3. Basic familiarity with your terminal

Build steps

  1. clone the repository
git clone https://github.com/ianakotey/moss-rs
  1. Change directory (cd) into repository directory
cd MOSS-RS # folder name might not be uppercase
  1. Build moss-rs
cargo build --release
  1. The binary will be found at project/target/release/moss[.exe], where project is the project directory. It is recommended to copy/move the binary to a location of your choice and add that location to your system's PATH variable. See this article for help if needed.

Usage

Binary

Most users will be interested in the binary executable. Usage instructions can be found here

Library

More documentation will be provided once the library is ready to publish.

Future works

  • A GUI desktop application
  • Extra features like regex transforms for display names

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please mark it with the feature label

For bugs, documentation, and any questions, please create an issue with the appropriate label.

Please make sure to update any tests as appropriate.

Credits

  • Moss
  • Hjalti Magnussion, for mossum. Awesome projects like these inspire folks like me to make something that might help others too.
  • Banahene Osei-Owusu, for ideas, support and project management.

License

GPL3

About

Implementation of the MOSS client in pure Rust

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages