This web site is the home of Web-CAT: the Web-based Center for Automated Testing. Web-CAT developers, administrators, or users can keep track of changes to this wiki using our Recent Changes RSS Feed [ ].

If you wish to become involved in this project, read about our SourceForgeProject and HowToContribute.

Other visitors may be interested in OurPublications or our ReadingList of relevant publications and links by others. Feel free to add new links of your own!

[ Note: if you are an IE user with a Dell widescreen notebook or a Dell that shipped with a hi-res widescreen display, and the images/layout on this page look all funky and ugly, read this blog entry on how IE may be improperly auto-scaling your images. ]


Web-CAT is an advanced automated grading system that can grade students on how well they test their own code. It is highly customizable and extensible, and supports virtually any model of program grading, assessment, and feedback generation. Web-CAT is implemented a web application with a plug-in-style architecture so that it also can serve as a platform for providing additional student support services to help students learn programming or software testing.

You can find out more through the following pages:

GUI Testing for Swing and the JTF Library

To support testing of graphical programs, we provide a library with student-oriented testing features:

Eclipse Plugins

As part of this project, we have also developed a number of plug-ins and features for the Eclipse IDE. These plug-ins are included under the umbrella of our SourceForgeProject. You can find out more through the following pages:


ReflectionSupport is a high level abstaction for java reflection. It provides static helper methods for common tasks of reflection such as object creation, method invocation and field manipulation.

Why use?

Source code can be downloaded from here.

Visual Studio Packages

As with our Eclipse plug-ins above, we now provide similar add-on packages for users of Visual Studio.NET 2005 and higher. These packages are included under the umbrella of our SourceForgeProject. You can find out more through the following pages:


Dereferee is a C++ template library intended for introductory C++ students learning about manual memory management and pointers. It provides a pointer template class that is instrumented to give highly detailed diagnostics about memory leaks, pointer-related errors that would normally cause a program crash, and other unwise behavior that may not cause an immediate failure but lead to one further down the line.


Our SourceForge project download page provides access to all of our principal downloads. Individual files can also be accessed in our CVS repository.

Our Eclipse update site allows you to install all of our Eclipse features with Eclipse's built-in update capabilities.

Independent Study/Undergrad Research Project Ideas

Are you a student interested in contributing to Web-CAT or one of our other ongoing CS education projects, for undergrad research, independent study, or just for fun? If so, check out the page on ResearchProjectIdeas.

This Site is a Wiki

A wiki (short for a WikiWikiWeb) is a collaborative web site where all users can edit existing pages or create new pages. While participation on this wiki requires self-registration, you can read all public pages without registering. To contribute to this site, read AboutThisWiki.


We gratefully acknowledge the support provided to this work by our sponsors. Web-CAT is supported in part by the National Science Foundation under Grant Nos. DUE-0633594, DUE-0618663 and DUE-0127225, as well as by Virginia Tech's Institute for Distance and Distributed Learning. Eclipse plug-in development is supported in part by an Eclipse Innovation Grant from IBM. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation, IDDL, or IBM.