A System for Detecting Software Plagiarism
UPDATES
- June 9, 2011 There were two outages over the last couple of days that lasted no more than a hour each (I think). I've made some changes to the disk management software that should prevent these problems from recurring.
- April 29, 2011 There was an outage lasting a few hours today, the first since last summer, but everything is back up.
- August 1, 2010 Everything is back to normal.
- July 27, 2010 The Moss server is back on line. There may be some more tuning and possibly downtime in the coming weeks, but any outages should be brief. New registrations are not yet working, but people with existing accounts can submit jobs.
- July 25, 2010 As many (many!) people have noticed, the Moss server has been down for all of July. Unfortunately the hardware failed while I was away on a trip. I am hopeful it will be back up within a few days.
What is Moss?
Moss (for a Measure Of Software Similarity) is an automatic system for determining
the similarity of programs. To date, the main
application of Moss has been in detecting plagiarism in programming
classes. Since its development in 1994, Moss has been very
effective in this role. The algorithm behind moss is a significant improvement over other
cheating detection algorithms (at least, over those known to us).
Languages
Moss can currently analyze code written in the following languages:
C, C++, Java, C#, Python, Visual Basic, Javascript, FORTRAN, ML, Haskell, Lisp, Scheme, Pascal, Modula2, Ada, Perl, TCL,
Matlab, VHDL, Verilog, Spice, MIPS assembly, a8086 assembly,
a8086 assembly, MIPS assembly, HCL2.
An Internet Service
Moss is being provided as an Internet service.
The service has been designed to be very easy to use--you
supply a list of files to compare and Moss does the rest.
The current Moss submission script is for Linux.
In response to a query the Moss server produces HTML pages listing
pairs of programs with similar code. Moss also highlights
individual passages in programs that appear the same, making it easy
to quickly compare the files. Finally, Moss can automatically
eliminate matches to code that one expects to be shared (e.g.,
libraries or instructor-supplied code), thereby eliminating false
positives that arise from legitimate sharing of code.
Registering for Moss
Moss is being provided in the hope that it will benefit the
educational community. Moss is fast, easy to use, and free. In the
past, access has been restricted to instructors and staff of programming courses. This is no longer the case, and anyone may obtain a Moss account.
However, Moss is for non-commercial use. If you are interested in commercial uses
of Moss, or for some reason you prefer a local installation instead of the internet service,
contact Similix Corporation.
To obtain a Moss account, send a mail message to
moss@moss.stanford.edu.
The body of the message should appear exactly as follows:
registeruser
mail username@domain
where the last bit in italics is your email address.
If you already have an account, the latest submission script
can be downloaded here.
How Does it Work?
A paper on the ideas behind Moss can be found here.
Back to Alex Aiken's Homepage