Robustness Hinting will provide
analysis of error handling to an underlying subsystem. This will
determine
when it is necessary to take additional and perhaps costly, in terms
of system resources, measures to overcome failure conditions. Additional
measures should only be taken when there is no application code to handle
the failure condition.
Robustness Hinting requires two types of solutions. The first is an analysis of the application to direct the automatic insertion of hints. We are pursuing this using both static and dynamic program analysis techniques. The second need is the intelligent usage of the robustness hint in order to improve overall performance.
Dynamic Program Analysis examines the ability of applications to handle error conditions. We use callee-generated software fault generation to determine an applicatin's ability to handle error conditions. Does the application handle the errors generated by the subsystem or called module. If an error is generated by the code that you call, how does your software behave?
Static Program Analysis is a mechanism for providing a robustness
metric of an application. The identification of general robustness problems
can be used to provide feedback to the programmer to direct the manual
insertion of error checks into the application code at the
most appropriate location.
Michael Bigrigg
Project Scientist, Institute for Complex Engineered Systems, Carnegie
Mellon University
Student Research Programmers, Carnegie Mellon
University
Madhur Joshi, Jeff Knupp, Morgan Linton
Student Research Programmers, University of
Pittsburgh
Michael Finnerty, Alexander Poulis, Joe Slember, Julie Sperow, Jacob
Vos, Christy Wilson
Student Research Programmers, University of
North Carolina
Amit Mathew
Static Program Analysis for Robustness Checking
Dynamic Program Analysis for Robustness Checking