A System for Detecting Software Plagiarism
What is Moss?
Moss (for a Measure Of Software Similarity) is an
automatic system for determining the similarity of C, C++, Java, Pascal, Ada,
ML, Lisp, or Scheme 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).
News
10/25/03 There are currently two versions of Moss available: the
old email-based system and a new network-based system. The network-based moss
does not use email for transporting submissions and replies, and instead a
direct network connection is made to the server. This design is both more
efficient and easier to install and use (especially on Windows systems).
The network-based system is still in beta. By default, when you register for
moss you receive a submission script for the network-based Moss. If you have
problems (and there are believed to be some bugs still in the new version) you
can download
the submission script for the email-based Moss and use that instead.
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.
You can use Moss from either Unix or Windows systems. To use the Windows
submission script you will need to replace the script you receive via email with
the Windows version (see instructions for downloading scripts below).
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. Moss
is, however, not to be used for commercial purposes.
To obtain a Moss account, send a mail message to mailto:"moss@moss.cs.berkeley.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