ATR: Template-based repair for alloy specifications
"Automatic Program Repair (APR) is a practical research topic that studies techniques to automatically repair programs to fix bugs. Most existing APR techniques are designed for imperative programming languages, such as C and Java, and rely on analyzing correct and incorrect executions of progr...
Guardado en:
| Autores principales: | , , , , , , |
|---|---|
| Formato: | Artículo de Publicación Periódica acceptedVersion |
| Lenguaje: | Inglés |
| Publicado: |
2023
|
| Materias: | |
| Acceso en línea: | https://ri.itba.edu.ar/handle/123456789/4144 |
| Aporte de: |
| id |
I32-R138-123456789-4144 |
|---|---|
| record_format |
dspace |
| spelling |
I32-R138-123456789-41442023-01-12T03:00:59Z ATR: Template-based repair for alloy specifications Zheng, Guolong Vu Nguyen, Thanh Gutiérrez Brida, Simón Regis, Germán Aguirre, Nazareno Frías, Marcelo F. Bagheri, Hamid REPARACIONES ALEACIONES "Automatic Program Repair (APR) is a practical research topic that studies techniques to automatically repair programs to fix bugs. Most existing APR techniques are designed for imperative programming languages, such as C and Java, and rely on analyzing correct and incorrect executions of programs to identify and repair suspicious statements. We introduce a new APR approach for software specifications written in the Alloy declarative language, where specifications are not “executed”, but rather converted into logical formulas and analyzed using backend constraint solvers, to find specification instances and counterexamples to assertions. We present ATR, a technique that takes as input an Alloy specification with some violated assertion and returns a repaired specification that satisfies the assertion. The key ideas are (i) analyzing the differences between counterexamples that do not satisfy the assertion and instances that do satisfy the assertion to guide the repair and (ii) generating repair candidates from specific templates and pruning the space of repair candidates using the counterexamples and satisfying instances. Experimental results using existing large Alloy benchmarks show that ATR is effective in generating difficult repairs. ATR repairs 66.3% of 1974 fault specifications, including specification repairs that cannot be handled by existing Alloy repair techniques." 2023-01-11T18:26:55Z 2023-01-11T18:26:55Z 2022 Artículo de Publicación Periódica info:eu-repo/semantics/acceptedVersion 978-1-4503-9379-9 https://ri.itba.edu.ar/handle/123456789/4144 en info:eu-repo/grantAgreement/NSF/1755890/US. Virginia. Alexandria info:eu-repo/grantAgreement/NSF/1618132/US. Virginia. Alexandria info:eu-repo/grantAgreement/NSF/2139845/US. Virginia. Alexandria info:eu-repo/grantAgreement/NSF/1948536/US. Virginia. Alexandria info:eu-repo/grantAgreement/NSF/2107035/US. Virginia. Alexandria info:eu-repo/grantAgreement/CONICET/PICT 2017-2622/AR. Ciudad Autónoma de Buenos Aires info:eu-repo/grantAgreement/CONICET/2019-2050/AR. Ciudad Autónoma de Buenos Aires info:eu-repo/semantics/altIdentifier/doi/10.1145/3533767.3534369 application/pdf |
| institution |
Instituto Tecnológico de Buenos Aires (ITBA) |
| institution_str |
I-32 |
| repository_str |
R-138 |
| collection |
Repositorio Institucional Instituto Tecnológico de Buenos Aires (ITBA) |
| language |
Inglés |
| topic |
REPARACIONES ALEACIONES |
| spellingShingle |
REPARACIONES ALEACIONES Zheng, Guolong Vu Nguyen, Thanh Gutiérrez Brida, Simón Regis, Germán Aguirre, Nazareno Frías, Marcelo F. Bagheri, Hamid ATR: Template-based repair for alloy specifications |
| topic_facet |
REPARACIONES ALEACIONES |
| description |
"Automatic Program Repair (APR) is a practical research topic that studies techniques to automatically repair programs to fix bugs. Most existing APR techniques are designed for imperative programming languages, such as C and Java, and rely on analyzing correct and incorrect executions of programs to identify and repair suspicious statements. We introduce a new APR approach for software specifications written in the Alloy declarative language, where specifications
are not “executed”, but rather converted into logical formulas and analyzed using backend constraint solvers, to find specification instances and counterexamples to assertions. We present ATR, a technique that takes as input an Alloy specification with some violated assertion and returns a repaired specification that satisfies the assertion. The key ideas are (i) analyzing the differences between counterexamples that do not satisfy the assertion and instances that
do satisfy the assertion to guide the repair and (ii) generating repair candidates from specific templates and pruning the space of repair candidates using the counterexamples and satisfying instances. Experimental results using existing large Alloy benchmarks show that ATR is effective in generating difficult repairs. ATR repairs 66.3% of 1974 fault specifications, including specification repairs that cannot be handled by existing Alloy repair techniques." |
| format |
Artículo de Publicación Periódica acceptedVersion |
| author |
Zheng, Guolong Vu Nguyen, Thanh Gutiérrez Brida, Simón Regis, Germán Aguirre, Nazareno Frías, Marcelo F. Bagheri, Hamid |
| author_facet |
Zheng, Guolong Vu Nguyen, Thanh Gutiérrez Brida, Simón Regis, Germán Aguirre, Nazareno Frías, Marcelo F. Bagheri, Hamid |
| author_sort |
Zheng, Guolong |
| title |
ATR: Template-based repair for alloy specifications |
| title_short |
ATR: Template-based repair for alloy specifications |
| title_full |
ATR: Template-based repair for alloy specifications |
| title_fullStr |
ATR: Template-based repair for alloy specifications |
| title_full_unstemmed |
ATR: Template-based repair for alloy specifications |
| title_sort |
atr: template-based repair for alloy specifications |
| publishDate |
2023 |
| url |
https://ri.itba.edu.ar/handle/123456789/4144 |
| work_keys_str_mv |
AT zhengguolong atrtemplatebasedrepairforalloyspecifications AT vunguyenthanh atrtemplatebasedrepairforalloyspecifications AT gutierrezbridasimon atrtemplatebasedrepairforalloyspecifications AT regisgerman atrtemplatebasedrepairforalloyspecifications AT aguirrenazareno atrtemplatebasedrepairforalloyspecifications AT friasmarcelof atrtemplatebasedrepairforalloyspecifications AT bagherihamid atrtemplatebasedrepairforalloyspecifications |
| _version_ |
1766727851883626496 |