Dependability Benchmarking for Computer Systems 2008
DOI: 10.1002/9780470370506.ch11
|View full text |Cite
|
Sign up to set email alerts
|

Interface Robustness Testing: Experience and Lessons Learned from the Ballista Project

Abstract: When the Ballista project started in 1996 as a 3-year DARPA-funded research project, the original goal was to create a Web-based testing service to identify robustness faults in software running on client computers via the Internet. Previous experience suggested that such tests would find interesting problems but it was unclear how to make robustness testing scalable to large interfaces. A major challenge was finding a way to test something as large and complex as an operating system (OS) application programmi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
11
1

Year Published

2012
2012
2021
2021

Publication Types

Select...
4
2
2

Relationship

1
7

Authors

Journals

citations
Cited by 16 publications
(15 citation statements)
references
References 32 publications
0
11
1
Order By: Relevance
“…The authors do not differentiate between valid and invalid parameters that are combined it the tests and do not quantitatively analyze the impact of simultaneous injections, i.e., the combination of invalid inputs. However, they report that simultaneous injections have not had a significant impact on the detection probability of robustness vulnerabilities [34], [28], which contradicts our results. We see three possible reasons for this deviation, which we are planning to investigate in more depth in the future: (1) Ballista and our work target different interfaces of the OS (driver interface vs. API), (2) the quoted Ballista results were obtained more than a decade ago and may not hold for newer systems, and (3) the results may significantly differ due to the different fault models.…”
Section: A Simultaneous Injections Into Function Call Parameterscontrasting
confidence: 99%
See 1 more Smart Citation
“…The authors do not differentiate between valid and invalid parameters that are combined it the tests and do not quantitatively analyze the impact of simultaneous injections, i.e., the combination of invalid inputs. However, they report that simultaneous injections have not had a significant impact on the detection probability of robustness vulnerabilities [34], [28], which contradicts our results. We see three possible reasons for this deviation, which we are planning to investigate in more depth in the future: (1) Ballista and our work target different interfaces of the OS (driver interface vs. API), (2) the quoted Ballista results were obtained more than a decade ago and may not hold for newer systems, and (3) the results may significantly differ due to the different fault models.…”
Section: A Simultaneous Injections Into Function Call Parameterscontrasting
confidence: 99%
“…Service invocations at the kernel/driver interface are triggered by synthetic workloads designed to trigger executions of the targeted drivers. The applied failure detectors are capable of detecting four different classically known outcomes of an injection run [28]. Upon fault injection the system may respond with the following:…”
Section: A Experimental Setupmentioning
confidence: 99%
“…Our approach is closely related to an interface-level automated robustness testing [14,13]. Kropp et al implemented Ballista [14] to automate a robustness testing of POSIX API, but they typically focus on exercising exceptional parameters, rather than generating the sequence of API calls.…”
Section: Related Workmentioning
confidence: 99%
“…Additionally, it has been shown that even very good designers often have blind spots and miss exceptional situations in comparatively simple software systems. [32] Fault injection and robustness testing are relatively mature technologies for assessing the performance of a system under exceptional conditions [33], and can help avoid designer and tester blind spots when testing exceptional condition responses. Traditional fault injection involves inserting bit flips into memory and communication networks.…”
Section: Fault Injectionmentioning
confidence: 99%