CS736 Project Suggestions from Prof. Bart Miller:

  1. More Fuzz
  2. Web-Based Performance Toolkit:

(1) More Fuzz:

The goal of this project is to evaluate the robustness of Windows-based application programs. Several years ago, we built tools to test UNIX application programs by feeding them random input. The result of this study was that we were able to crash 25-33% of the standard UNIX utilities. Almost every UNIX manufacturer adopted our Fuzz testing tools as part of their release process. In 1995, we repeated and expanded these tests on more platforms and included X-window applications. It was distressing to find that most vendors' systems still had significant reliability problems. Over 10,000 copies of the tech report describing these results have been fetched from our Web site. It is crucial to apply the same type of tests to Windows (95 and NT) application programs.

Previously, we developed several tools for testing application programs. These included the fuzz generator. This is a program that generates a random character stream. We used the fuzz generator to attack as many UNIX utilities as possible, with the goal of trying to break them. For the utilities that broke, we determined the the cause of the break. There was also a tool called ptyjig that allows random input to be fed to interactive programs. Tools were built to intercept and modify the X-Windows event streams. A similar tool needs to be built and applied to the Microsoft Windows environment.

(This project come from Bart Miller and he has offered to act as advisor for the project.)

Web-Based Performance Toolkit:

Gathering data about computer and network performance and visualizing this data is a crucial part of administration. It has been proposed (by Prof. Diane Rover of Michigan State) to set up standard web-based protocols for data collectors and data displayers. The goal of this project is to build a simple toolkit of data gathering modules (that would be based on standard local tools, such as vmstat, iostat, etc.), HTTP access to these modules, and browser interfaces to this data. Current system and network management tools use special protocols and are not universally available. Easy and ubiquitous access to such data is very important.

Here are some issues to consider:

(This project come from Bart Miller and he has offered to act as advisor for the project.)