DocumentCode
3142704
Title
Automatic recovery from runtime failures
Author
Carzaniga, Antonio ; Gorla, Alessandra ; Mattavelli, Andrea ; Perino, Nicolo ; Pezze, Mauro
Author_Institution
Univ. of Lugano, Lugano, Switzerland
fYear
2013
fDate
18-26 May 2013
Firstpage
782
Lastpage
791
Abstract
We present a technique to make applications resilient to failures. This technique is intended to maintain a faulty application functional in the field while the developers work on permanent and radical fixes. We target field failures in applications built on reusable components. In particular, the technique exploits the intrinsic redundancy of those components by identifying workarounds consisting of alternative uses of the faulty components that avoid the failure. The technique is currently implemented for Java applications but makes little or no assumptions about the nature of the application, and works without interrupting the execution flow of the application and without restarting its components. We demonstrate and evaluate this technique on four mid-size applications and two popular libraries of reusable components affected by real and seeded faults. In these cases the technique is effective, maintaining the application fully functional with between 19% and 48% of the failure-causing faults, depending on the application. The experiments also show that the technique incurs an acceptable runtime overhead in all cases.
Keywords
object-oriented programming; software libraries; software maintenance; software reusability; system recovery; automatic recovery; faulty application maintenance; field failures; intrinsic redundancy; reusable component libraries; runtime failures; workaround identification; Encapsulation; Java; Libraries; Redundancy; Runtime; Software;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2013 35th International Conference on
Conference_Location
San Francisco, CA
Print_ISBN
978-1-4673-3073-2
Type
conf
DOI
10.1109/ICSE.2013.6606624
Filename
6606624
Link To Document