![]()
Project Title: Code Health Audit & Reporting System (CARS)
|
|
|
Team
16 Developers |
![]() |
|
| 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:
![]()
![]() |
|
| 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.
![]()