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
.jpg)
- Institución
- Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
- OAI Identificador
- paperaa:paper_03029743_v6605LNCS_n_p65_Garbervetsky
Ver los metadatos del registro completo
| 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 |