TACO: efficient SAT-based bounded verification using symmetry breaking and tight bounds

Autores
Galeotti, Juan Pablo; Rosner, Nicolas Leandro; Lopez Pombo, Carlos Gustavo; Frias, Marcelo Fabian
Año de publicación
2013
Idioma
inglés
Tipo de recurso
artículo
Estado
versión publicada
Descripción
SAT-based bounded verification of annotated code consists of translating the code together with the annotations to a propositional formula, and analyzing the formula for specification violations using a SAT-solver. If a violation is found, an execution trace exposing the failure is exhibited. Code involving linked data structures with intricate invariants is particularly hard to analyze using these techniques. In this paper, we present Translation of Annotated COde (TACO), a prototype tool which implements a novel, general, and fully automated technique for the SAT-based analysis of JML-annotated Java sequential programs dealing with complex linked data structures. We instrument code analysis with a symmetry-breaking predicate which, on one hand, reduces the size of the search space by ignoring certain classes of isomorphic models and, on the other hand, allows for the parallel, automated computation of tight bounds for Java fields. Experiments show that the translations to propositional formulas require significantly less propositional variables, leading to an improvement of the efficiency of the analysis of orders of magnitude, compared to the noninstrumented SAT--based analysis. We show that in some cases our tool can uncover bugs that cannot be detected by state-of-the-art tools based on SAT-solving, model checking, or SMT-solving.
Fil: Galeotti, Juan Pablo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
Fil: Rosner, Nicolas Leandro. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
Fil: Lopez Pombo, Carlos Gustavo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
Fil: Frias, Marcelo Fabian. Instituto Tecnológico de Buenos Aires; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
Materia
Software Engineering
Software Verification
Java Program Analysis
Alloy
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Repositorio
CONICET Digital (CONICET)
Institución
Consejo Nacional de Investigaciones Científicas y Técnicas
OAI Identificador
oai:ri.conicet.gov.ar:11336/15644

id CONICETDig_0a5a987caba0af5eabfca8c9bda67290
oai_identifier_str oai:ri.conicet.gov.ar:11336/15644
network_acronym_str CONICETDig
repository_id_str 3498
network_name_str CONICET Digital (CONICET)
spelling TACO: efficient SAT-based bounded verification using symmetry breaking and tight boundsGaleotti, Juan PabloRosner, Nicolas LeandroLopez Pombo, Carlos GustavoFrias, Marcelo FabianSoftware EngineeringSoftware VerificationJava Program AnalysisAlloyhttps://purl.org/becyt/ford/1.2https://purl.org/becyt/ford/1SAT-based bounded verification of annotated code consists of translating the code together with the annotations to a propositional formula, and analyzing the formula for specification violations using a SAT-solver. If a violation is found, an execution trace exposing the failure is exhibited. Code involving linked data structures with intricate invariants is particularly hard to analyze using these techniques. In this paper, we present Translation of Annotated COde (TACO), a prototype tool which implements a novel, general, and fully automated technique for the SAT-based analysis of JML-annotated Java sequential programs dealing with complex linked data structures. We instrument code analysis with a symmetry-breaking predicate which, on one hand, reduces the size of the search space by ignoring certain classes of isomorphic models and, on the other hand, allows for the parallel, automated computation of tight bounds for Java fields. Experiments show that the translations to propositional formulas require significantly less propositional variables, leading to an improvement of the efficiency of the analysis of orders of magnitude, compared to the noninstrumented SAT--based analysis. We show that in some cases our tool can uncover bugs that cannot be detected by state-of-the-art tools based on SAT-solving, model checking, or SMT-solving.Fil: Galeotti, Juan Pablo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; ArgentinaFil: Rosner, Nicolas Leandro. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; ArgentinaFil: Lopez Pombo, Carlos Gustavo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; ArgentinaFil: Frias, Marcelo Fabian. Instituto Tecnológico de Buenos Aires; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; ArgentinaIEEE Computer Society2013-03info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_6501info:ar-repo/semantics/articuloapplication/pdfapplication/pdfhttp://hdl.handle.net/11336/15644Galeotti, Juan Pablo; Rosner, Nicolas Leandro; Lopez Pombo, Carlos Gustavo; Frias, Marcelo Fabian; TACO: efficient SAT-based bounded verification using symmetry breaking and tight bounds; IEEE Computer Society; IEEE Transactions On Software Engineering; 39; 9; 3-2013; 1283-13070098-55891939-3520enginfo:eu-repo/semantics/altIdentifier/doi/10.1109/TSE.2013.15info:eu-repo/semantics/altIdentifier/url/http://ieeexplore.ieee.org/document/6482141/info:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/ar/reponame:CONICET Digital (CONICET)instname:Consejo Nacional de Investigaciones Científicas y Técnicas2025-09-29T09:46:23Zoai:ri.conicet.gov.ar:11336/15644instacron:CONICETInstitucionalhttp://ri.conicet.gov.ar/Organismo científico-tecnológicoNo correspondehttp://ri.conicet.gov.ar/oai/requestdasensio@conicet.gov.ar; lcarlino@conicet.gov.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:34982025-09-29 09:46:24.275CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicasfalse
dc.title.none.fl_str_mv TACO: efficient SAT-based bounded verification using symmetry breaking and tight bounds
title TACO: efficient SAT-based bounded verification using symmetry breaking and tight bounds
spellingShingle TACO: efficient SAT-based bounded verification using symmetry breaking and tight bounds
Galeotti, Juan Pablo
Software Engineering
Software Verification
Java Program Analysis
Alloy
title_short TACO: efficient SAT-based bounded verification using symmetry breaking and tight bounds
title_full TACO: efficient SAT-based bounded verification using symmetry breaking and tight bounds
title_fullStr TACO: efficient SAT-based bounded verification using symmetry breaking and tight bounds
title_full_unstemmed TACO: efficient SAT-based bounded verification using symmetry breaking and tight bounds
title_sort TACO: efficient SAT-based bounded verification using symmetry breaking and tight bounds
dc.creator.none.fl_str_mv Galeotti, Juan Pablo
Rosner, Nicolas Leandro
Lopez Pombo, Carlos Gustavo
Frias, Marcelo Fabian
author Galeotti, Juan Pablo
author_facet Galeotti, Juan Pablo
Rosner, Nicolas Leandro
Lopez Pombo, Carlos Gustavo
Frias, Marcelo Fabian
author_role author
author2 Rosner, Nicolas Leandro
Lopez Pombo, Carlos Gustavo
Frias, Marcelo Fabian
author2_role author
author
author
dc.subject.none.fl_str_mv Software Engineering
Software Verification
Java Program Analysis
Alloy
topic Software Engineering
Software Verification
Java Program Analysis
Alloy
purl_subject.fl_str_mv https://purl.org/becyt/ford/1.2
https://purl.org/becyt/ford/1
dc.description.none.fl_txt_mv SAT-based bounded verification of annotated code consists of translating the code together with the annotations to a propositional formula, and analyzing the formula for specification violations using a SAT-solver. If a violation is found, an execution trace exposing the failure is exhibited. Code involving linked data structures with intricate invariants is particularly hard to analyze using these techniques. In this paper, we present Translation of Annotated COde (TACO), a prototype tool which implements a novel, general, and fully automated technique for the SAT-based analysis of JML-annotated Java sequential programs dealing with complex linked data structures. We instrument code analysis with a symmetry-breaking predicate which, on one hand, reduces the size of the search space by ignoring certain classes of isomorphic models and, on the other hand, allows for the parallel, automated computation of tight bounds for Java fields. Experiments show that the translations to propositional formulas require significantly less propositional variables, leading to an improvement of the efficiency of the analysis of orders of magnitude, compared to the noninstrumented SAT--based analysis. We show that in some cases our tool can uncover bugs that cannot be detected by state-of-the-art tools based on SAT-solving, model checking, or SMT-solving.
Fil: Galeotti, Juan Pablo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
Fil: Rosner, Nicolas Leandro. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
Fil: Lopez Pombo, Carlos Gustavo. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
Fil: Frias, Marcelo Fabian. Instituto Tecnológico de Buenos Aires; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
description SAT-based bounded verification of annotated code consists of translating the code together with the annotations to a propositional formula, and analyzing the formula for specification violations using a SAT-solver. If a violation is found, an execution trace exposing the failure is exhibited. Code involving linked data structures with intricate invariants is particularly hard to analyze using these techniques. In this paper, we present Translation of Annotated COde (TACO), a prototype tool which implements a novel, general, and fully automated technique for the SAT-based analysis of JML-annotated Java sequential programs dealing with complex linked data structures. We instrument code analysis with a symmetry-breaking predicate which, on one hand, reduces the size of the search space by ignoring certain classes of isomorphic models and, on the other hand, allows for the parallel, automated computation of tight bounds for Java fields. Experiments show that the translations to propositional formulas require significantly less propositional variables, leading to an improvement of the efficiency of the analysis of orders of magnitude, compared to the noninstrumented SAT--based analysis. We show that in some cases our tool can uncover bugs that cannot be detected by state-of-the-art tools based on SAT-solving, model checking, or SMT-solving.
publishDate 2013
dc.date.none.fl_str_mv 2013-03
dc.type.none.fl_str_mv info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_6501
info:ar-repo/semantics/articulo
format article
status_str publishedVersion
dc.identifier.none.fl_str_mv http://hdl.handle.net/11336/15644
Galeotti, Juan Pablo; Rosner, Nicolas Leandro; Lopez Pombo, Carlos Gustavo; Frias, Marcelo Fabian; TACO: efficient SAT-based bounded verification using symmetry breaking and tight bounds; IEEE Computer Society; IEEE Transactions On Software Engineering; 39; 9; 3-2013; 1283-1307
0098-5589
1939-3520
url http://hdl.handle.net/11336/15644
identifier_str_mv Galeotti, Juan Pablo; Rosner, Nicolas Leandro; Lopez Pombo, Carlos Gustavo; Frias, Marcelo Fabian; TACO: efficient SAT-based bounded verification using symmetry breaking and tight bounds; IEEE Computer Society; IEEE Transactions On Software Engineering; 39; 9; 3-2013; 1283-1307
0098-5589
1939-3520
dc.language.none.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv info:eu-repo/semantics/altIdentifier/doi/10.1109/TSE.2013.15
info:eu-repo/semantics/altIdentifier/url/http://ieeexplore.ieee.org/document/6482141/
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
dc.format.none.fl_str_mv application/pdf
application/pdf
dc.publisher.none.fl_str_mv IEEE Computer Society
publisher.none.fl_str_mv IEEE Computer Society
dc.source.none.fl_str_mv reponame:CONICET Digital (CONICET)
instname:Consejo Nacional de Investigaciones Científicas y Técnicas
reponame_str CONICET Digital (CONICET)
collection CONICET Digital (CONICET)
instname_str Consejo Nacional de Investigaciones Científicas y Técnicas
repository.name.fl_str_mv CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicas
repository.mail.fl_str_mv dasensio@conicet.gov.ar; lcarlino@conicet.gov.ar
_version_ 1844613449333604352
score 13.070432