  In this paper, we present a novel resilience improvement system for Java
applications. The unique feature of this system is to combine automated
monitoring, automated perturbation injection, and automated resilience
improvement. The latter is achieved thanks to the failure-oblivious computing,
a concept introduced in 2004 by Rinard and colleagues. We design and implement
the system as agents for the Java virtual machine. We evaluate the system on
two real-world applications: a file transfer client and an email server. Our
results show that it is possible to automatically improve the resilience of
Java applications with respect to uncaught or mishandled exceptions.
