Architecture-based Strategy for Interface Fault Injection

This paper presents a strategy that is an adaptation and an evolution of a previous one proposed to validate an isolated component. Faults are injected using a previously developed tool, Jaca that has the ability to inject faults into Java objects’ attributes and methods. One of the key issues in component-based systems is its architecture, not only for development but also for testing. By analyzing the architecture we can define the points of control and observation of the system’s components during testing. Another important issue is the selection of components to be injected and monitored. A risk-based strategy is proposed, in order to prioritize the components for testing which represent higher risks for the system. In this way, test costs can be reduced without undermining the system’s quality.

[1]  Ram Chillarege,et al.  Generation of an error set that emulates software faults based on field data , 1996, Proceedings of Annual Symposium on Fault Tolerant Computing.

[2]  Cecília M. F. Rubira,et al.  Jaca: a reflective fault injection tool based on patterns , 2002, Proceedings International Conference on Dependable Systems and Networks.

[3]  James Bach,et al.  Heuristic Risk-Based Testing , 1999 .

[4]  Eliane Martins,et al.  A Strategy for Validating an ODBMS Component Using a High-Level Software Fault Injection Tool , 2003, LADC.

[5]  Cecília M. F. Rubira,et al.  A Java component model for evolving software systems , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[6]  Gary McGraw,et al.  Software fault injection: inoculating programs against errors , 1997 .

[7]  Mary Shaw,et al.  Toward boxology: preliminary classification of architectural styles , 1996, ISAW '96.

[8]  Peter Neumann,et al.  Safeware: System Safety and Computers , 1995, SOEN.

[9]  Shigeru Chiba Javassist - A Reflection-based Programming Wizard for Java , 1998 .

[10]  Christof Fetzer,et al.  Automatic detection and masking of non-atomic exception handling , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[11]  Linda H. Rosenberg,et al.  Risk-Based Object Oriented Testing , 2000 .

[12]  William E. Perry,et al.  Effective methods for software testing , 1995 .

[13]  Witold Pedrycz,et al.  Software Engineering: An Engineering Approach , 1999 .

[14]  Jean Arlat,et al.  Fault Injection for Dependability Validation: A Methodology and Some Applications , 1990, IEEE Trans. Software Eng..

[15]  John Daniels,et al.  UML Components: A Simple Process for Specifying Component-Based Software , 2000 .

[16]  Kang G. Shin,et al.  Fault Injection Techniques and Tools , 1997, Computer.