Automatic recovery from runtime failures

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 t...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Carzaniga, Antonio, Gorla, Alessandra, Mattavelli, Andrea, Perino, Nicolò, Pezzè, Mauro
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 791
container_issue
container_start_page 782
container_title
container_volume
creator Carzaniga, Antonio
Gorla, Alessandra
Mattavelli, Andrea
Perino, Nicolò
Pezzè, Mauro
description 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.
doi_str_mv 10.5555/2486788.2486891
format Conference Proceeding
fullrecord <record><control><sourceid>acm</sourceid><recordid>TN_cdi_acm_books_10_5555_2486788_2486891</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>acm_books_10_5555_2486788_2486891</sourcerecordid><originalsourceid>FETCH-LOGICAL-a157t-336dc6945af068db1aad8e66ad658b0e1d13d57adb7fd55f01bfb3d7705209803</originalsourceid><addsrcrecordid>eNqNj8tqwzAURAWhkDTNulsvs7F7b2Q9vAyhLwh006zFlSWBmzgCyS707-tQf0AHhtkcBg5jjwiVmPK0q7VUWle31Q0u2D3WUnEOSsKSbXL-AgDEZqpase1-HGJPQ9cWybfx26efIqTYF2m8Dl3vi0DdZUw-P7C7QJfsN_Ou2enl-fPwVh4_Xt8P-2NJKNRQci5dK5taUACpnUUip72U5KTQFjw65E4oclYFJ0QAtMFypxSIHTQa-Jpt_36p7Y2N8ZwNgrmZmdnMzGYTWv0TNTZ1PvBfNWFPHQ</addsrcrecordid><sourcetype>Publisher</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>Automatic recovery from runtime failures</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Carzaniga, Antonio ; Gorla, Alessandra ; Mattavelli, Andrea ; Perino, Nicolò ; Pezzè, Mauro</creator><creatorcontrib>Carzaniga, Antonio ; Gorla, Alessandra ; Mattavelli, Andrea ; Perino, Nicolò ; Pezzè, Mauro</creatorcontrib><description>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.</description><identifier>ISBN: 1467330760</identifier><identifier>ISBN: 9781467330763</identifier><identifier>DOI: 10.5555/2486788.2486891</identifier><language>eng</language><publisher>Piscataway, NJ, USA: IEEE Press</publisher><subject>Computer systems organization -- Dependable and fault-tolerant systems and networks -- Availability ; Computer systems organization -- Dependable and fault-tolerant systems and networks -- Maintainability and maintenance ; Computer systems organization -- Dependable and fault-tolerant systems and networks -- Reliability ; General and reference -- Cross-computing tools and techniques -- Reliability ; Software and its engineering -- Software creation and management -- Software development techniques -- Error handling and recovery</subject><ispartof>Proceedings of the 2013 International Conference on Software Engineering, 2013, p.782-791</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>309,310,780,784,789,790,27924</link.rule.ids></links><search><creatorcontrib>Carzaniga, Antonio</creatorcontrib><creatorcontrib>Gorla, Alessandra</creatorcontrib><creatorcontrib>Mattavelli, Andrea</creatorcontrib><creatorcontrib>Perino, Nicolò</creatorcontrib><creatorcontrib>Pezzè, Mauro</creatorcontrib><title>Automatic recovery from runtime failures</title><title>Proceedings of the 2013 International Conference on Software Engineering</title><description>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.</description><subject>Computer systems organization -- Dependable and fault-tolerant systems and networks -- Availability</subject><subject>Computer systems organization -- Dependable and fault-tolerant systems and networks -- Maintainability and maintenance</subject><subject>Computer systems organization -- Dependable and fault-tolerant systems and networks -- Reliability</subject><subject>General and reference -- Cross-computing tools and techniques -- Reliability</subject><subject>Software and its engineering -- Software creation and management -- Software development techniques -- Error handling and recovery</subject><isbn>1467330760</isbn><isbn>9781467330763</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2013</creationdate><recordtype>conference_proceeding</recordtype><sourceid/><recordid>eNqNj8tqwzAURAWhkDTNulsvs7F7b2Q9vAyhLwh006zFlSWBmzgCyS707-tQf0AHhtkcBg5jjwiVmPK0q7VUWle31Q0u2D3WUnEOSsKSbXL-AgDEZqpase1-HGJPQ9cWybfx26efIqTYF2m8Dl3vi0DdZUw-P7C7QJfsN_Ou2enl-fPwVh4_Xt8P-2NJKNRQci5dK5taUACpnUUip72U5KTQFjw65E4oclYFJ0QAtMFypxSIHTQa-Jpt_36p7Y2N8ZwNgrmZmdnMzGYTWv0TNTZ1PvBfNWFPHQ</recordid><startdate>20130518</startdate><enddate>20130518</enddate><creator>Carzaniga, Antonio</creator><creator>Gorla, Alessandra</creator><creator>Mattavelli, Andrea</creator><creator>Perino, Nicolò</creator><creator>Pezzè, Mauro</creator><general>IEEE Press</general><scope/></search><sort><creationdate>20130518</creationdate><title>Automatic recovery from runtime failures</title><author>Carzaniga, Antonio ; Gorla, Alessandra ; Mattavelli, Andrea ; Perino, Nicolò ; Pezzè, Mauro</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a157t-336dc6945af068db1aad8e66ad658b0e1d13d57adb7fd55f01bfb3d7705209803</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2013</creationdate><topic>Computer systems organization -- Dependable and fault-tolerant systems and networks -- Availability</topic><topic>Computer systems organization -- Dependable and fault-tolerant systems and networks -- Maintainability and maintenance</topic><topic>Computer systems organization -- Dependable and fault-tolerant systems and networks -- Reliability</topic><topic>General and reference -- Cross-computing tools and techniques -- Reliability</topic><topic>Software and its engineering -- Software creation and management -- Software development techniques -- Error handling and recovery</topic><toplevel>online_resources</toplevel><creatorcontrib>Carzaniga, Antonio</creatorcontrib><creatorcontrib>Gorla, Alessandra</creatorcontrib><creatorcontrib>Mattavelli, Andrea</creatorcontrib><creatorcontrib>Perino, Nicolò</creatorcontrib><creatorcontrib>Pezzè, Mauro</creatorcontrib></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Carzaniga, Antonio</au><au>Gorla, Alessandra</au><au>Mattavelli, Andrea</au><au>Perino, Nicolò</au><au>Pezzè, Mauro</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Automatic recovery from runtime failures</atitle><btitle>Proceedings of the 2013 International Conference on Software Engineering</btitle><date>2013-05-18</date><risdate>2013</risdate><spage>782</spage><epage>791</epage><pages>782-791</pages><isbn>1467330760</isbn><isbn>9781467330763</isbn><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.</abstract><cop>Piscataway, NJ, USA</cop><pub>IEEE Press</pub><doi>10.5555/2486788.2486891</doi><tpages>10</tpages></addata></record>
fulltext fulltext
identifier ISBN: 1467330760
ispartof Proceedings of the 2013 International Conference on Software Engineering, 2013, p.782-791
issn
language eng
recordid cdi_acm_books_10_5555_2486788_2486891
source IEEE Electronic Library (IEL) Conference Proceedings
subjects Computer systems organization -- Dependable and fault-tolerant systems and networks -- Availability
Computer systems organization -- Dependable and fault-tolerant systems and networks -- Maintainability and maintenance
Computer systems organization -- Dependable and fault-tolerant systems and networks -- Reliability
General and reference -- Cross-computing tools and techniques -- Reliability
Software and its engineering -- Software creation and management -- Software development techniques -- Error handling and recovery
title Automatic recovery from runtime failures
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-11T11%3A14%3A46IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-acm&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Automatic%20recovery%20from%20runtime%20failures&rft.btitle=Proceedings%20of%20the%202013%20International%20Conference%20on%20Software%20Engineering&rft.au=Carzaniga,%20Antonio&rft.date=2013-05-18&rft.spage=782&rft.epage=791&rft.pages=782-791&rft.isbn=1467330760&rft.isbn_list=9781467330763&rft_id=info:doi/10.5555/2486788.2486891&rft_dat=%3Cacm%3Eacm_books_10_5555_2486788_2486891%3C/acm%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true