Artículo de Publicación Periódica:
Automated workarounds from Java program specifications based on SAT solving

dc.contributor.authorUva, Marcelo
dc.contributor.authorPonzio, Pablo
dc.contributor.authorRegis, Germán
dc.contributor.authorAguirre, Nazareno
dc.contributor.authorFrías, Marcelo
dc.date.accessioned2019-07-11T14:35:28Z
dc.date.available2019-07-11T14:35:28Z
dc.date.issued2018-11
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, utomatically 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."en
dc.identifier.issn1433-2779
dc.identifier.urihttp://ri.itba.edu.ar/handle/123456789/1642
dc.language.isoenen
dc.relationinfo:eu-repo/semantics/altIdentifier/doi/10.1007/s10009-018-0503-8
dc.subjectANALISIS DE FALLASes
dc.subjectSOFTWAREen
dc.subjectESPECIFICACIONESes
dc.subjectJAVAen
dc.subjectDEPURACION DE PROGRAMASes
dc.subjectLENGUAJES DE PROGRAMACIONes
dc.titleAutomated workarounds from Java program specifications based on SAT solvingen
dc.typeArtículos de Publicaciones Periódicases
dc.typeinfo:eu-repo/semantics/acceptedVersion
dspace.entity.typeArtículo de Publicación Periódica
itba.description.filiationFil: Uva, Marcelo. Universidad Nacional de Río Cuarto; Argentina.
itba.description.filiationFil: Ponzio, Pablo. Universidad Nacional de Río Cuarto; Argentina.
itba.description.filiationFil: Ponzio, Pablo. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina.
itba.description.filiationFil: Regis, Germán. Universidad Nacional de Río Cuarto; Argentina.
itba.description.filiationFil: Aguirre, Nazareno. Universidad Nacional de Río Cuarto; Argentina.
itba.description.filiationFil: Aguirre, Nazareno. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina.
itba.description.filiationFil: Frías, Marcelo. Instituto Tecnológico de Buenos Aires; Argentina.
itba.description.filiationFil: Frías, Marcelo. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina.

Archivos

Bloque original
Mostrando 1 - 1 de 1
Cargando...
Miniatura
Nombre:
Uva_2018.pdf
Tamaño:
525.28 KB
Formato:
Adobe Portable Document Format
Descripción:
Artículo_Uva
Bloque de licencias
Mostrando 1 - 1 de 1
No hay miniatura disponible
Nombre:
license.txt
Tamaño:
1.6 KB
Formato:
Item-specific license agreed upon to submission
Descripción: