A system and method of automatically injecting faults and errors into a
JAVA application or program to test the reliable and proper handling of
various faults and exceptions under various conditions. An automatic fault
injector is coupled to the Java Virtual Machine (JVM). The JAVA program is
initiated to inject the faults by determining locations within the JAVA
program to where respective faults are to be injected. All the faults are
found from the JAVA objects by traversing the class for each of the JAVA
objects and searching for all exceptions from the classes, their methods,
and their respective attributes. Determination is made of whether and when
one of the respective faults should be injected. An exception is
automatically and timely triggered to inject a respective fault by the
automatic fault injector at a corresponding locations when the
corresponding location has been reached and when it has determined that
the respective fault should be injected at an appropriate time. The
determination of whether and when a fault or error is to be automatically
injected is based on the setting of an automatic fault injection option.
Um sistema e um método automaticamente de injetar falhas e erros em uma aplicação de JAVA ou um programa para testar a manipulação de confiança e apropriada de várias falhas e exceções sob várias circunstâncias. Um injector automático da falha é acoplado à máquina virtual de Java (JVM). O programa de JAVA é iniciado para injetar as falhas determinando as posições dentro do programa de JAVA a onde as falhas respectivas devem ser injetadas. Todas as falhas são encontradas dos objetos de JAVA atravessando a classe para cada um dos objetos de JAVA e procurarando por todas as exceções das classes, de seus métodos, e de seus atributos respectivos. A determinação é feita de se e quando uma das falhas respectivas dever ser injetado. Uma exceção é automaticamente e oportunos provocados a injetam uma falha respectiva pelo injector automático da falha no posições correspondentes quando a posição correspondente foi alcançada e quando determinou que a falha respectiva deve ser injetada em uma estadia apropriada. A determinação de se e quando uma falha ou um erro deverem ser injetados automaticamente é baseado no ajuste de uma opção automática da injeção da falha.