Mostrar el registro sencillo del ítem
dc.contributor.author
Uva, Marcelo Ariel
dc.contributor.author
Ponzio, Pablo Daniel
dc.contributor.author
Regis, Germán
dc.contributor.author
Aguirre, Nazareno Matias
dc.contributor.author
Frias, Marcelo Fabian
dc.date.available
2020-03-10T21:34:17Z
dc.date.issued
2018-11
dc.identifier.citation
Uva, Marcelo Ariel; Ponzio, Pablo Daniel; Regis, Germán; Aguirre, Nazareno Matias; Frias, Marcelo Fabian; Automated Workarounds from Java Program Specifications based on SAT Solving; Springer Verlag; International Journal on Software Tools for Technology Transfer; 20; 6; 11-2018; 665-688
dc.identifier.issn
1433-2787
dc.identifier.uri
http://hdl.handle.net/11336/99078
dc.description.abstract
The failures that bugs in software lead to can sometimes be bypassed by the so-called workarounds: when a (faulty) routine fails, alternative routines that the system offers can be used in place of the failing one, to circumvent the failure. Existing approaches to workaround-based system recovery consider workarounds that are produced from equivalent method sequences, automatically computed from user-provided abstract models, or directly produced from user-provided equivalent sequences of operations. In this paper, we present two techniques for computing workarounds from Java code equipped with formal specifications, that improve previous approaches in two respects. First, the particular state where the failure originated is actively involved in computing workarounds, thus leading to repairs that are more state specific. Second, our techniques automatically compute workarounds on concrete program state characterizations, avoiding abstract software models and user-provided equivalences. The first technique uses SAT solving to compute a sequence of methods that is equivalent to a failing method on a specific failing state, but which can also be generalized to schemas for workaround reuse. The second technique directly exploits SAT to circumvent a failing method, building a state that mimics the (correct) behaviour of a failing routine, from a specific program state too. We perform an experimental evaluation based on case studies involving implementations of collections and a library for date arithmetic, showing that the techniques can effectively compute workarounds from complex contracts in an important number of cases, in time that makes them feasible to be used for run-time repairs. Our results also show that our state-specific workarounds enable us to produce repairs in many cases where previous workaround-based approaches are inapplicable.
dc.format
application/pdf
dc.language.iso
eng
dc.publisher
Springer Verlag
dc.rights
info:eu-repo/semantics/openAccess
dc.rights.uri
https://creativecommons.org/licenses/by-nc-nd/2.5/ar/
dc.subject
RUNTIME RECOVERY
dc.subject
SAT SOLVING
dc.subject
WORKAROUNDS
dc.subject.classification
Ciencias de la Computación
dc.subject.classification
Ciencias de la Computación e Información
dc.subject.classification
CIENCIAS NATURALES Y EXACTAS
dc.title
Automated Workarounds from Java Program Specifications based on SAT Solving
dc.type
info:eu-repo/semantics/article
dc.type
info:ar-repo/semantics/artículo
dc.type
info:eu-repo/semantics/publishedVersion
dc.date.updated
2020-02-12T17:50:12Z
dc.journal.volume
20
dc.journal.number
6
dc.journal.pagination
665-688
dc.journal.pais
Alemania
dc.journal.ciudad
Berlín
dc.description.fil
Fil: Uva, Marcelo Ariel. Universidad Nacional de Río Cuarto; Argentina
dc.description.fil
Fil: Ponzio, Pablo Daniel. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Río Cuarto; Argentina
dc.description.fil
Fil: Regis, Germán. Universidad Nacional de Río Cuarto; Argentina
dc.description.fil
Fil: Aguirre, Nazareno Matias. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Río Cuarto; Argentina
dc.description.fil
Fil: Frias, Marcelo Fabian. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Instituto Tecnológico de Buenos Aires; Argentina
dc.journal.title
International Journal on Software Tools for Technology Transfer
dc.relation.alternativeid
info:eu-repo/semantics/altIdentifier/url/https://link.springer.com/article/10.1007/s10009-018-0503-8
dc.relation.alternativeid
info:eu-repo/semantics/altIdentifier/doi/https://doi.org/10.1007/s10009-018-0503-8
Archivos asociados