CS 481 Group Design Project

Fall 2002 Projects

Last Updated January 02, 2004

WB01591.gif (3829 bytes)

Project Title: Code Health Audit & Reporting System (CARS)

Team 16 Developers
Stephen Haler, Pranesh Narayanaswami, Marcus Sipe, Husan Smith & Kris Weed

 
Sponsor
Troy Pearse
Hewlett-Packard Co, Boise, ID
208-396-4557
Troy_Pearse@hp.com
Sponsor
Bruce Mayes
Hewlett-Packard Co, Boise, ID
208-396-2805
Bruce_Mayes@hp.com

Project Description:  The CARS project is a series of modules that collectively measure the "Code Health" of a set of software subsystems and then generates web and email reports with the test results. "Code Health" is a term the HP LaserJet Lab uses to describe certain aspects of the firmware related to coding standards and defect prevention. These code health criteria are typically things that we have learned can cause failures if not detected and fixed. Compiler warnings is a good example of a code health metric. Having many compiler warnings is indicative that a body of code has poor health and may experience unexpected failures.

The CARS project modules will include the following:

WB01727.gif (697 bytes)

Project Title: Automated Crash Reporting System

Team 17 Developers
Armand Bankhead, Micah Delfino, Nick Orr, & Pat Simposn
Sponsor
Don Moreaux,
Hewlett-Packard Co., Boise, ID
208-396-5235
Don_Moreaux@hp.com

Project Description: HP uses early development testing units (printer hardware) to test printer firmware in the mid to late stages of its development. These test units occasionally crash, storing and sending useful debugging information (stack trace) to the unit's Control Panel display (if it has one) and down the serial port connection.  Currently there is no efficient method in place to monitor the frequency of the failures or capture stack trace information that would point to the cause of the failure.  This early testing, known as Delta and Beta Test attempt to closely emulate "real world" use of the complete printing system. If information regarding the cause and frequency of firmware crashes during this type of testing were available, it would be a valuable tool in determining the stability of the firmware under development.

Solution:  Since the firmware dumps stack trace information through the serial port when it encounters a fatal error, it's possible to automatically record and report events.  Client PCs would be used to monitor the serial ports on the printers under test in Software and System Test. Another PC, acting as a Server, would record, and report on, the crash  information from numerous Client PCs. Two software utilities are needed for this project:

1. On the Client PC, a software program is needed to monitor the data sent from the printer, to the PC via its serial port. This client utility would parse the serial data sent by the printer. When an error condition is detected, the utility would record the error, collect stack information, then send the information across the network to the Server PC.

2. On the Server PC, a software program is needed to collect, analyze, and report on the crash data that it receives from the Clients.

WB01727.gif (697 bytes)

E-mail: billjunk@cs.uidaho.edu