DocumentCode
2175211
Title
An automated approach to increasing the robustness of C libraries
Author
Fetzer, Christof ; Xiao, Zhen
Author_Institution
AT&T Labs - Res., Florham Park, NJ, USA
fYear
2002
fDate
2002
Firstpage
155
Lastpage
164
Abstract
As our reliance on computers increases, so does the need for robust software. Previous studies have shown that many C libraries exhibit robustness problems due to exceptional inputs. This paper describes the HEALERS system that uses an automated approach to increasing the robustness of C libraries without source code access. The system extracts the C type information for a shared library using header files and manual pages. Then it generates for each global function a fault-injector to determine a "robust " argument type for each argument. Based on this information and optionally, some manual editing, the system generates a robustness wrapper that performs careful argument checking before invoking C library functions. A robustness evaluation using Ballista tests has shown that our wrapper can prevent crash, hang, and abort failures. Moreover the wrapper generation process is highly automated and can easily adapt to new library releases.
Keywords
C language; software libraries; software reliability; Ballista tests; C library robustness; HEALERS system; argument checking; exceptional inputs; fault-injector; header files; robust software; robustness wrapper; shared library; software reliability; source code access; Automatic control; Computer crashes; Control systems; Data mining; Java; Memory management; Programming profession; Robustness; Software libraries; Vehicle crash testing;
fLanguage
English
Publisher
ieee
Conference_Titel
Dependable Systems and Networks, 2002. DSN 2002. Proceedings. International Conference on
Print_ISBN
0-7695-1101-5
Type
conf
DOI
10.1109/DSN.2002.1028896
Filename
1028896
Link To Document