Robustness Hinting
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.
People
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
Publications
- Robustness Hinting for Improving End-to-End Dependability. Michael W. Bigrigg. Second Workshop on Evaluating and Architecting
System Dependability (EASY). In conjunction with ASPLOS-X, San Jose,
CA, USA, October 2002.
Abstract / PDF
- The Set-Check-Use Methodology for Detecting Error Propagation
Failures in I/O Routines. Michael W. Bigrigg, Jacob J. Vos.
Workshop on Dependability Benchmarking in conjunction with The International
Conference on Dependable Systems and Networks, DSN-2002. Washington
DC, June 2002.
Abstract / PDF
- Testing the Portability of Desktop Applications to a Networked
Embedded System. Michael W. Bigrigg and Joseph G. Slember. Workshop on Reliable Embedded Systems, in conjunction with the 20th
IEEE Symposium on Reliable Distributed Systems, October 28, 2001,
New Orleans, LA.
Abstract / PDF
Related Projects
Static Program Analysis for Robustness Checking
- LcLint, University of Virginia
- Software Productivity Tools, Microsoft Research
- Meta-level Compilation, Stanford
- Open Source Quality, Berkeley
- CodeWizard, Parasoft
- Extended Static Checking, Compaq Research
Dynamic Program Analysis for Robustness Checking
Associated Departments, Institutes and Labs at CMU
- Institute for Complex Engineered Systems
- Department of Electrical and Computer Engineering
- Embedded and Reliable Information Systems Laboratory
- Parallel Data Laboratory
Sponsors