JACA Software Fault Injection Tool

Description


JACA is a new Software Fault Injection tool, written in Java. It uses Javassist, a Meta-Object Protocol, in order to inject faults inside a system being tested. It also monitors that system to verify if it gives the expected outputs even in the presence of faults.

JACA can perform high-level fault injection in object oriented systems. Namely, it can inject faults related to atributes and methods of objects of a Java program. JACA can also be easily extended to perform low-level fault injection, affecting Assembly-language elements (CPU registers, buses, etc).

JACA was designed to be highly adaptable and portable: it runs on every platform running the Java Virtual Machine (JVM).

JACA does not need an application's source code: instrumentation necessary for fault injection and monitoring purposes are introduced at bytecode level.

A user-interface provides menu-driven access to the tool's functions.

In a joint project with University of Coimbra, Jaca was improved, giving origin to JacaC3.  Among other things,  Jaca can now generate reports based on .CVS file format. These reports allow statistical analysis and require less effort to handle the experiments results. Jaca monitoring abilities provide detailed information to observe exceptional behavior during the execution of fault injection campaign.


Availability

To download Jaca's latest version, click here.


 

Publications


A Software Fault Injection Pattern System
Nelson G. M. Leme, Eliane Martins, Cecília M. F. Rubira
 In PLoP 2001 - Pattern Languages of Programs (PLoP) Conference

Uma Arquitetura para Injeção de Falhas
(An Architecture for Fault Injection)
Nelson G. M. Leme, Eliane Martins, Cecília M. F. Rubira
In "Anais do II WTF" (Second Fault Tolerance Workshop) August, 2000.

JACA: A reflective fault injection tool based on patterns
Eliane Martins, Cecilia M.F. Rubira, Nelson G.M.Leme
In Proc. International Performance and Dependability Symposium (IPDS) June, 2002.
Abstract.         Slides.
 
Validating an ODBMS Component using a High-Level Software Fault Injection Tool
Regina Lúcia de Oliveira Moraes, Eliane Martins
In Proc. 1st. Latin American Symposium on Dependable Computing (LADC), October, 2003.
Abstract.

Jaca Tool Improvements for Speeding Up Fault Injection Campaigns.
MENDES, N. V. ; MORAES, R. ; MARTINS, E. ; MADEIRA, H. In: Simposio Brasileiro de Engenharia de Software, 2006, Florianópolis. Simpósio Brasileiro de Engenharia de Software (SBES) 2006, Sessão de Ferramentas.



 

Acknowledgments

The development of JACA was supported by the research support foundation FAPESP ("Fundação de Amparo à Pesquisa do Estado de São Paulo").

JACAC3
was developed with the support of a CAPES-GRICES project.




[Created by Nelson Guilherme M. Leme on September, 2001].
[Last Updated by Eliane Martins: July, 2009]