Applying dependability aspects on top of "aspectized" software layers
Proceedings of the tenth international conference on Aspect-oriented software development
The impact of fault models on software robustness evaluations
Proceedings of the 33rd International Conference on Software Engineering
A self-healing component sandbox for untrustworthy third party code execution
CBSE'10 Proceedings of the 13th international conference on Component-Based Software Engineering
A systematic review of software robustness
Information and Software Technology
Journal of Systems and Software
Hi-index | 0.00 |
The injection of interface faults through API parameter corruption is a technique commonly used in experimental dependability evaluation. Although the interface faults injected by this approach can be considered as a possible consequence of actual software faults in real applications, the question of whether the typical exceptional inputs and invalid parameters used in these techniques do represent the consequences of software bugs is largely an open issue. This question may not be an issue in the context of robustness testing aimed at the identification of weaknesses in software components. However, the use of interface faults by API parameter corruption as a general approach for dependability evaluation in component-based systems requires an in depth study of interface faults and a close observation of the way internal component faults propagate to the component interfaces. In this work we present the results of experimental evaluation of realistic component-based applications developed in Java and C using the injection of interface faults by API parameter corruption and the injection of software faults inside the components by modification of the target code. The faults injected inside software components emulate typical programming errors and are based on an extensive field data study previously published. The results show the consequences of internal component faults in several operational scenarios and provide empirical evidences that interface faults and software component faults cause different impact in the system.