Using Stanford's moss with Web-CAT submissions?

I'm new to Web-CAT.  I just got it up and running to serve my 100 AP CS students.

I would like to gather up all of the students' final program submissions for a particular assignment and submit them to moss. Stanford provides a submission script. Has anyone done anything like this already?

For those unfamiliar with moss, it is a plagiarism detection system.


Bob Breum
Lake Brantley High School
Altamonte Spring, FL


Stephen Edwards

The MossBatchPlugin is now available for installation

If you go to your Grading->Batch Actions page and look in the "Batch Actions Available for Web-Based Installation" section at the bottom, it may already be listed there.  If not, use this URL in the text box there to install the plugin on your server:

Once installed, on the same page look for it listed in the top section to "Run a Batch Action".  Look for the edit action icon on the right, and click on it.  Then enter your MOSS user token and save.  Only one user token is needed for your server--everyone using the plugin will use the same user token.

If you don't have a MOSS user token, read "Registering for MOSS" at


is the MossBatchPlugin (v.1.0.0) available for download?


I've been able to use the MossBatchPlugin on, and am wondering if it's available for download so that we can run it on our local web-cat server?



Stephen Edwards

It is not available for download

It is not available for download, due to some maintenance issues that are pending in the batch subsystem.  However, I can send you a copy for manual upload so you can install it if you want.  Let me know.


MossBatchPlugin Copy

I would be very interested in a copy of the MossBatchPlugin for manual upload. Please send me a copy at your convenioence.

George Peck

Jeremy W

Tested on 10/3/13 -- works great!

I thought I had to get my own MOSS account.  But that's not required.

Just sent a bunch of programs using the batch command.  It works great!  Thank you!

Stephen Edwards

MossBatchPlugin now available on VT server

It took a little time (and a break to attend SIGCSE) before I could get this working well enough for others to try it. I've now enabled the MossBatchPlugin for public use by instructors served by the Web-CAT server at Virginia Tech.

To use it, go to Grading->Batch Actions. Just click on the MossBatchPlugin link in the top "Run a Batch Action" section of the page, and continue from there.

Note that you can specify Moss' maximum occurrence limit (i.e., set it to 5 to tell Moss to ignore all source code that is repeated by more than 5 students, for example), which is very useful for pinpointing how much "highly unique" code is duplicated by a small group of cheaters.

The plug-in is tell Moss that the programming language is "java" by default, but you can set this to a different value (e.g., "c++", "c", etc.) when you are about to run your comparison.

The plug-in provides (and saves) a direct link to the HTML Moss results that are hosted on the Moss server, but Moss only retains those results for two weeks, after which they are no longer accessible (Web-CAT doesn't make a local copy of the full comparison results--it only retains the link to the original on the Moss server at Stanford).

Soon, I'll be able to make this available for web-based installation on other servers as well.


Web-based Installation on Other Servers

Has the MossBatchPlugin been made available for web-based installation on other servers? If so, how do I get ahold of it. If not, when will it be available?


Jessica Schmidt


Is this plugin available for web-based installation on other servers yet?



Available for other servers yet?

Is this moss plugin available for web-based installations on other servers yet?  If so, how would I go about installing it?


-Phil Schielke

Ian Hickey

Moss Plugin

Darn, you're too fast for me. I just wrote a NetBeans plugin that does the Moss submission from our Amazon ec2 cloud. I used a java ssh library to get into the file system, sorted the most recent submission jars and unzipped them (using *.java) keeping track of the unzip paths (to account for students using non-standard directory structures in their projects) and then submitted it all and returned the link. It works great but is a little specific to our setup. I look forward to when its it's available for web-based installation.

On another note; I'm incorperating many the standard code-style rules for the Java plugin into a C++ version based on Googles cpplint script. Maybe this isn't a project you're working on?


Ian Hickey


Stephen Edwards

OK, we're trying to work out

OK, we're trying to work out the appropriate details for making this available ...  I'll keep you posted.

Stephen Edwards

Hello, and welcome! We have a

Hello, and welcome!

We have a prototype MOSS submission plug-in on our production server at VT, but haven't released it for general use yet (still needs a bit more testing).  It allows you to take the final submissions from all students in your course and submit them to MOSS, and then later see the results on-line.

One of the issues is providing an appropriate interface for instructor customizations of the submission (i.e., providing common code, and setting some of the comparison parameters).  However, it isn't too far from being usefully operational.  I'm guessing you'd be interested in testing it out and providing some feedback?


I am also interested!

Hi Steve,

Would it be possible for me to participate in this as well - testing it out and providing feedback ?



Stephen Edwards

Anton, use the Grading->Batch

Anton, use the Grading->Batch Actions menu.

Click on the MossBatch Plugin link at the top to start a job.

Choose "Get submissions for an assignment" on the next page, and expand the tree on the left to select the course offering(s) you want to check.  In the tree on the right (might have to scroll up a bit), select the assignment you want to check.

Set any parameters at the bottom, if needed, and finally click the "Run Action" button at the bottom right of the page.

Sit back and wait for your results :-).




Early attempt did not work. Here's the result:

This job was suspended due to an error during execution. Information about the error is shown below. Click the Restart Job button to place it back into the queue to run again, or click Delete Job to remove it.

Restart Job Delete Job

Reason for suspension:

Received invalid response "ant [options] [target [target2 [target3] ...]]" from plug-in during iteration; valid responses are "continue", "break", and "die"

Thanks for your help!






Thanks! I am trying it out.



MOSS submission plug-in

You are correct! I would love to test it. My students should give it a good workout.

Of course, I will provide you with feedback in the process.

I am grateful for the opportunity.