[The Moss Logo]

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).



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:

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