An Automated Approach to Increasing the Robustness of C Libraries
Publikation: Beitrag zu Konferenzen › Paper › Beigetragen › Begutachtung
Beitragende
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.
Details
Originalsprache | Englisch |
---|---|
Seiten | 155-166 |
Seitenumfang | 12 |
Publikationsstatus | Veröffentlicht - 2002 |
Peer-Review-Status | Ja |
Konferenz
Titel | International Conference on Dependable Systems and Networks 2002 |
---|---|
Kurztitel | DSN '02 |
Dauer | 23 - 26 Juni 2002 |
Bekanntheitsgrad | Internationale Veranstaltung |
Stadt | Washington |
Land | USA/Vereinigte Staaten |
Schlagworte
Forschungsprofillinien der TU Dresden
DFG-Fachsystematik nach Fachkollegium
Schlagwörter
- Robustness, Software libraries, Computer crashes, Data mining, Programming profession, Automatic control, Control systems, Vehicle creash testing, Java, memory management, C language, software reliability, C library robustness, robust softwarea, exceptional inputs, HEALERS system, Source code access, shared library, header files, fault-injector, robustness wrapper, argument checking, Ballista test