Enforcing structural invariants using dynamic frames

Autores
Garbervetsky, D.; Gorín, D.; Neisen, A.
Año de publicación
2011
Idioma
inglés
Tipo de recurso
artículo
Estado
versión publicada
Descripción
The theory of dynamic frames is a promising approach to handle the so-called framing problem, that is, giving a precise characterizations of the locations in the heap that a procedure may modify. In this paper, we show that the machinery used for dynamic frames may be exploited even further. In particular, we use it to check that implementations of abstract data types maintain certain structural invariants that are very hard to express with usual means, including being acyclic (like non-circular linked lists and trees) and having a unique path between nodes (like in a tree). The idea is that regions in this formalism over-approximate the set of reachable objects. We can then maintain this structural invariants by including special preconditions in assignments, of the kind that can be verified by state-of-the-art SMT-based tools. To test this approach we modified the verifier for the Dafny programming language in a suitable way and were able to enforce these invariants in non-trivial examples. © 2011 Springer-Verlag.
Fil:Garbervetsky, D. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Fil:Gorín, D. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Fuente
Lect. Notes Comput. Sci. 2011;6605 LNCS:65-80
Materia
Abstract data types
Dynamic frame
Non-circular
Non-trivial
Programming language
Structural invariants
Theory of dynamics
Algorithms
Machinery
Trees (mathematics)
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by/2.5/ar
Repositorio
Biblioteca Digital (UBA-FCEN)
Institución
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
OAI Identificador
paperaa:paper_03029743_v6605LNCS_n_p65_Garbervetsky

id BDUBAFCEN_0ccee707368df5d18d2244867ab680c3
oai_identifier_str paperaa:paper_03029743_v6605LNCS_n_p65_Garbervetsky
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Enforcing structural invariants using dynamic framesGarbervetsky, D.Gorín, D.Neisen, A.Abstract data typesDynamic frameNon-circularNon-trivialProgramming languageStructural invariantsTheory of dynamicsAlgorithmsMachineryTrees (mathematics)The theory of dynamic frames is a promising approach to handle the so-called framing problem, that is, giving a precise characterizations of the locations in the heap that a procedure may modify. In this paper, we show that the machinery used for dynamic frames may be exploited even further. In particular, we use it to check that implementations of abstract data types maintain certain structural invariants that are very hard to express with usual means, including being acyclic (like non-circular linked lists and trees) and having a unique path between nodes (like in a tree). The idea is that regions in this formalism over-approximate the set of reachable objects. We can then maintain this structural invariants by including special preconditions in assignments, of the kind that can be verified by state-of-the-art SMT-based tools. To test this approach we modified the verifier for the Dafny programming language in a suitable way and were able to enforce these invariants in non-trivial examples. © 2011 Springer-Verlag.Fil:Garbervetsky, D. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Fil:Gorín, D. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.2011info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_6501info:ar-repo/semantics/articuloapplication/pdfhttp://hdl.handle.net/20.500.12110/paper_03029743_v6605LNCS_n_p65_GarbervetskyLect. Notes Comput. Sci. 2011;6605 LNCS:65-80reponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCENenginfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by/2.5/ar2025-10-23T11:18:14Zpaperaa:paper_03029743_v6605LNCS_n_p65_GarbervetskyInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962025-10-23 11:18:16.11Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv Enforcing structural invariants using dynamic frames
title Enforcing structural invariants using dynamic frames
spellingShingle Enforcing structural invariants using dynamic frames
Garbervetsky, D.
Abstract data types
Dynamic frame
Non-circular
Non-trivial
Programming language
Structural invariants
Theory of dynamics
Algorithms
Machinery
Trees (mathematics)
title_short Enforcing structural invariants using dynamic frames
title_full Enforcing structural invariants using dynamic frames
title_fullStr Enforcing structural invariants using dynamic frames
title_full_unstemmed Enforcing structural invariants using dynamic frames
title_sort Enforcing structural invariants using dynamic frames
dc.creator.none.fl_str_mv Garbervetsky, D.
Gorín, D.
Neisen, A.
author Garbervetsky, D.
author_facet Garbervetsky, D.
Gorín, D.
Neisen, A.
author_role author
author2 Gorín, D.
Neisen, A.
author2_role author
author
dc.subject.none.fl_str_mv Abstract data types
Dynamic frame
Non-circular
Non-trivial
Programming language
Structural invariants
Theory of dynamics
Algorithms
Machinery
Trees (mathematics)
topic Abstract data types
Dynamic frame
Non-circular
Non-trivial
Programming language
Structural invariants
Theory of dynamics
Algorithms
Machinery
Trees (mathematics)
dc.description.none.fl_txt_mv The theory of dynamic frames is a promising approach to handle the so-called framing problem, that is, giving a precise characterizations of the locations in the heap that a procedure may modify. In this paper, we show that the machinery used for dynamic frames may be exploited even further. In particular, we use it to check that implementations of abstract data types maintain certain structural invariants that are very hard to express with usual means, including being acyclic (like non-circular linked lists and trees) and having a unique path between nodes (like in a tree). The idea is that regions in this formalism over-approximate the set of reachable objects. We can then maintain this structural invariants by including special preconditions in assignments, of the kind that can be verified by state-of-the-art SMT-based tools. To test this approach we modified the verifier for the Dafny programming language in a suitable way and were able to enforce these invariants in non-trivial examples. © 2011 Springer-Verlag.
Fil:Garbervetsky, D. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Fil:Gorín, D. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description The theory of dynamic frames is a promising approach to handle the so-called framing problem, that is, giving a precise characterizations of the locations in the heap that a procedure may modify. In this paper, we show that the machinery used for dynamic frames may be exploited even further. In particular, we use it to check that implementations of abstract data types maintain certain structural invariants that are very hard to express with usual means, including being acyclic (like non-circular linked lists and trees) and having a unique path between nodes (like in a tree). The idea is that regions in this formalism over-approximate the set of reachable objects. We can then maintain this structural invariants by including special preconditions in assignments, of the kind that can be verified by state-of-the-art SMT-based tools. To test this approach we modified the verifier for the Dafny programming language in a suitable way and were able to enforce these invariants in non-trivial examples. © 2011 Springer-Verlag.
publishDate 2011
dc.date.none.fl_str_mv 2011
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/20.500.12110/paper_03029743_v6605LNCS_n_p65_Garbervetsky
url http://hdl.handle.net/20.500.12110/paper_03029743_v6605LNCS_n_p65_Garbervetsky
dc.language.none.fl_str_mv eng
language eng
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by/2.5/ar
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by/2.5/ar
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv Lect. Notes Comput. Sci. 2011;6605 LNCS:65-80
reponame:Biblioteca Digital (UBA-FCEN)
instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron:UBA-FCEN
reponame_str Biblioteca Digital (UBA-FCEN)
collection Biblioteca Digital (UBA-FCEN)
instname_str Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron_str UBA-FCEN
institution UBA-FCEN
repository.name.fl_str_mv Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
repository.mail.fl_str_mv ana@bl.fcen.uba.ar
_version_ 1846784875428839424
score 12.982451