Subir material

Suba sus trabajos a SEDICI, para mejorar notoriamente su visibilidad e impacto

 

Mostrar el registro sencillo del ítem

dc.date.accessioned 2022-08-09T19:04:35Z
dc.date.available 2022-08-09T19:04:35Z
dc.date.issued 2021
dc.identifier.uri http://sedici.unlp.edu.ar/handle/10915/140263
dc.description.abstract Alloy is a specification language that has been used in a wide range of applications, such as program verification, test case generation, IoT and Android security, etc. Unlike imperative languages, such as C or Java, Alloy is declarative, which describes the logic of a computation without describing its control flow and does not generate traces during the execution. Thus, traditional fault localization techniques developed for imperative programs based on analyzing the control flows of passing and failing tests do not directly apply to Alloy. To aid developers in debugging Alloy models, we develop FLACK, a tool to automatically localize Alloy buggy expressions. Given an Alloy model with violated assertions, FLACK automatically outputs a ranking list of expressions based on their spaciousness to the assertions violations. For each assertion, FLACK first queries the Alloy analyzer for counterexamples, i.e. instances of the model that violate the asserted property. FLACK then uses a Partial Max-SAT (PMAXSAT) solver to find instances that satisfy the asserted property and are most similar to the counterexamples. FLACK then identifies the relations and atoms that are different between the counterexamples and the satisfying instances. The differences illustrate how the counterexamples violate the assertion. The PMAXSAT solver guarantees that these differences are “minimal”, containing only essential information related to the assertion violation. By finding expressions most related to these differences, FLACK identifies the potential expressions causing the assertion violation. FLACK is different than the state of the art on Alloy fault localization in that it does not rely on unit tests which are not commonly found accompanying Alloy models. Instead, FLACK relies on assertions and constraint solvers to obtain counterexamples and satisfying instances, which are the main underlying technology in Alloy and commonly used by the Alloy developers. en
dc.format.extent 37-37 es
dc.language en es
dc.subject Alloy es
dc.subject Alloy buggy expressions es
dc.title FLACK: Counterexample-Guided Fault Localization for Alloy Models en
dc.type Objeto de conferencia es
sedici.identifier.uri http://50jaiio.sadio.org.ar/pdfs/asse/ASSE-04.pdf es
sedici.identifier.issn 2451-7593 es
sedici.creator.person Zheng, Guolong es
sedici.creator.person Nguyen, ThanhVu es
sedici.creator.person Gutiérrez Brida, Simón es
sedici.creator.person Regis, Germán es
sedici.creator.person Frias, Marcelo F. es
sedici.creator.person Aguirre, Nazareno Matías es
sedici.creator.person Bagheri, Hamid es
sedici.subject.materias Ciencias Informáticas es
sedici.description.fulltext true es
mods.originInfo.place Sociedad Argentina de Informática e Investigación Operativa es
sedici.subtype Resumen es
sedici.rights.license Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
sedici.rights.uri http://creativecommons.org/licenses/by-nc-sa/4.0/
sedici.date.exposure 2021-10
sedici.relation.event XXII Simposio Argentino de Ingeniería de Software (ASSE 2021) - JAIIO 50 (Modalidad virtual) es
sedici.description.peerReview peer-review es


Descargar archivos

Este ítem aparece en la(s) siguiente(s) colección(ones)

Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) Excepto donde se diga explícitamente, este item se publica bajo la siguiente licencia Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)