Filters








772 Hits in 2.7 sec

Gradual Verification of Recursive Heap Data Structures

Jenna Wise, Johannes Bader, Cameron Wong, Jonathan Aldrich, Éric Tanter, Joshua Sunshine
2020 Zenodo  
This paper extends gradual verification to programs that manipulate recursive, mutable data structures on the heap.  ...  The prior approach to gradual verification, however, was limited to programs without recursive data structures.  ...  Gradual Verification of Recursive Heap Data Structures 228:23 Gradual Verification of Recursive Heap Data Structures 228:29 A APPENDIX A.1 Full gradual verification examples 1 class Node  ... 
doi:10.5281/zenodo.4085933 fatcat:ms3i5evb7napfl6jgucf3um5ka

Gradual Verification of Recursive Heap Data Structures

Jenna Wise, Johannes Bader, Cameron Wong, Jonathan Aldrich, Éric Tanter, Joshua Sunshine
2020 Zenodo  
This paper extends gradual verification to programs that manipulate recursive, mutable data structures on the heap.  ...  The prior approach to gradual verification, however, was limited to programs without recursive data structures.  ...  Verification of Recursive Heap Data Structures 228:39 Since ⟨⟨ ⌊ ⌋ , ⟩⟩ is defined, then ⌊ ⌋ , must be defined.  ... 
doi:10.5281/zenodo.4091690 fatcat:np4cjwd3rbhk7guyjvi5wo62xi

Effective interactive proofs for higher-order imperative programs

Adam Chlipala, Gregory Malecha, Greg Morrisett, Avraham Shinnar, Ryan Wisnesky
2009 Proceedings of the 14th ACM SIGPLAN international conference on Functional programming - ICFP '09  
Both versions of the system have been evaluated with case studies in the verification of imperative data structures, such as hash tables with higher-order iterators.  ...  Compared to competing approaches to data structure verification, our system includes much less code that must be trusted; namely, about a hundred lines of Coq code defining a program logic.  ...  The Jahob (Zee et al. 2008 ) system allows the specification and verification of recursive, linked data structures in a fragment of Java.  ... 
doi:10.1145/1596550.1596565 dblp:conf/icfp/ChlipalaMMSW09 fatcat:qc5rox6vt5bchijlgkp6sw4ckm

Effective interactive proofs for higher-order imperative programs

Adam Chlipala, Gregory Malecha, Greg Morrisett, Avraham Shinnar, Ryan Wisnesky
2009 SIGPLAN notices  
Both versions of the system have been evaluated with case studies in the verification of imperative data structures, such as hash tables with higher-order iterators.  ...  Compared to competing approaches to data structure verification, our system includes much less code that must be trusted; namely, about a hundred lines of Coq code defining a program logic.  ...  The Jahob (Zee et al. 2008 ) system allows the specification and verification of recursive, linked data structures in a fragment of Java.  ... 
doi:10.1145/1631687.1596565 fatcat:2dayvkbzdza53ge7eypfv3iq3e

Separation logic

Peter O'Hearn
2019 Communications of the ACM  
This article is dedicated to the memory of John C. Reynolds (1935Reynolds ( -2013)). Our work together at the formative stage of separation logic was incredibly intense, exciting, and huge fun.  ...  I thank my many other collaborators in the development of this research, particularly David Pym, Hongseok Yang, Richard Bornat, Cristiano Calcagno, Josh Berdine, Dino Distefano, Steve Brookes, Matthew  ...  fundamental problem of reasoning about programs that mutate data structures.  ... 
doi:10.1145/3211968 fatcat:a3cqq4nstzabnl5m57nclz7xwi

Automated verification of shape, size and bag properties via user-defined predicates in separation logic

Wei-Ngan Chin, Cristina David, Huu Hai Nguyen, Shengchao Qin
2012 Science of Computer Programming  
Our approach uses user-definable predicates to allow programmers to describe a wide range of data structures with their associated shape, size and bag (multi-set) properties.  ...  To support automatic verification, we design a new entailment checking procedure that can handle well-founded predicates (that may be recursively defined) using unfold/fold reasoning.  ...  Furthermore, we make use of unfold/fold reasoning to handle the properties of recursive data structures.  ... 
doi:10.1016/j.scico.2010.07.004 fatcat:2735ufdfe5d7pbb6nmhsnunzxa

Structuring the synthesis of heap-manipulating programs

Nadia Polikarpova, Ilya Sergey
2019 Proceedings of the ACM on Programming Languages (PACMPL)  
linked data structures.  ...  , guided by the shape of the heap.  ...  Their technical feedback has helped immensely to bring out the best of this paper. We also wish to thank Shachar Itzhaky and Ranjit Jhala for their comments on the draft.  ... 
doi:10.1145/3290385 fatcat:ixjdyxkr4fewvgbdottph6nvje

Rely-guarantee references for refinement types over aliased mutable data

Colin S. Gordon, Michael D. Ernst, Dan Grossman
2013 Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation - PLDI '13  
Dependent types whose denotation is stable over the actions of the rely and guarantee conditions for a reference and its data will not be invalidated by any action through any alias.  ...  We demonstrate this with refinement (subset) types that may depend on mutable data. As a special case, we derive the first reference immutability type system with dependent types over immutable data.  ...  → heap → Prop and hprop(τ) def = τ → heap → Prop Implementation To understand RGREF's effect on data structure design and the effort required for verification, we have implemented RGREF as a shallow  ... 
doi:10.1145/2491956.2462160 dblp:conf/pldi/GordonEG13 fatcat:6vdcelh32jb3vchvjc4bcwxft4

Rely-guarantee references for refinement types over aliased mutable data

Colin S. Gordon, Michael D. Ernst, Dan Grossman
2013 SIGPLAN notices  
Dependent types whose denotation is stable over the actions of the rely and guarantee conditions for a reference and its data will not be invalidated by any action through any alias.  ...  We demonstrate this with refinement (subset) types that may depend on mutable data. As a special case, we derive the first reference immutability type system with dependent types over immutable data.  ...  → heap → Prop and hprop(τ) def = τ → heap → Prop Implementation To understand RGREF's effect on data structure design and the effort required for verification, we have implemented RGREF as a shallow  ... 
doi:10.1145/2499370.2462160 fatcat:zdqpb3knx5fynevwbtb3cozyse

Logical Reasoning for Disjoint Permissions [chapter]

Xuan-Bach Le, Aquinas Hobor
2018 Lecture Notes in Computer Science  
Our framework is applicable to sophisticated verification tasks such as doing induction over the finiteness of the heap within the object logic or carrying out biabductive inference.  ...  Logics for verification need to capture the notion of permission ownership and transfer.  ...  Predicate Axioms To support reasoning over recursive data structure such as lists or trees, the assertion language is enriched with the corresponding inductive predicates.  ... 
doi:10.1007/978-3-319-89884-1_14 fatcat:cqhp5lzdwzgpvgahlh2eftdvoq

2LS: Memory Safety and Non-termination [chapter]

Viktor Malík, Štefan Martiček, Peter Schrammel, Mandayam Srivas, Tomáš Vojnar, Johanan Wahlang
2018 Lecture Notes in Computer Science  
New features in this year's version are improved handling of heapallocated data structures using a template domain for shape analysis and two approaches to prove program non-termination.  ...  It first performs various static analyses and transformations of the program, including resolution of function pointers, points-to analysis, and insertion of assertions guarding against The Czech authors  ...  To support shape analysis of dynamic data structures, a new abstract domain has been added to 2LS to express invariants describing heap configurations in the context of the bitvector logic used by 2LS  ... 
doi:10.1007/978-3-319-89963-3_24 fatcat:npxjj6yqubbazdmi7qn3umu2g4

A monadic framework for relational verification: applied to information security, program equivalence, and optimizations

Niklas Grimm, Santiago Zanella-Béguelin, Kenji Maillard, Cédric Fournet, Cătălin Hriţcu, Matteo Maffei, Jonathan Protzenko, Tahina Ramananandro, Aseem Rastogi, Nikhil Swamy
2018 Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs - CPP 2018  
Rather than developing separate tools for special classes of effects and relational properties, we advocate using a general purpose proof assistant as a unifying framework for the relational verification  ...  of effectful programs.  ...  We also want to memoize the intermediate recursive calls, and in order to achieve it, we need an explicit representation of the recursive structure of the function.  ... 
doi:10.1145/3167090 dblp:conf/cpp/GrimmMFHMPRRSB18 fatcat:ukl6fkzg4nhu7i4q46bofirszy

Analysing memory resource bounds for low-level programs

Wei-Ngan Chin, Huu Hai Nguyen, Corneliu Popeea, Shengchao Qin
2008 Proceedings of the 7th international symposium on Memory management - ISMM '08  
Our inference process captures the memory needs of each method in terms of the symbolic values of its parameters.  ...  Programming models for these systems should take into formal consideration resources such as stack and heap.  ...  The reviewers of ISMM08 provided professional and helpful comments that led to improvements to the paper's presentation.  ... 
doi:10.1145/1375634.1375656 dblp:conf/iwmm/ChinNPQ08 fatcat:76rqrztdcja4jbp2dvqx5ysk6i

Dependent Type Theory for Verification of Information Flow and Access Control Policies

Aleksandar Nanevski, Anindya Banerjee, Deepak Garg
2013 ACM Transactions on Programming Languages and Systems  
data structures.  ...  There has been little work on confidentiality policies pertaining to linked data structures (lists, trees, graphs, etc.), and even less work exists for structures that are heterogeneous; that is, data  ...  A related property is parametricity of the type system of Coq: that opaque sealing does not divulge the actual implementation of the sealed data.  ... 
doi:10.1145/2491522.2491523 fatcat:jbtjngt3e5fdtkvyntam2bx33u

A Monadic Framework for Relational Verification: Applied to Information Security, Program Equivalence, and Optimizations [article]

Niklas Grimm, Kenji Maillard, Cédric Fournet, Catalin Hritcu, Matteo Maffei, Jonathan Protzenko, Tahina Ramananandro, Aseem Rastogi, Nikhil Swamy, Santiago Zanella-Béguelin
2019 arXiv   pre-print
Rather than developing separate tools for special classes of effects and relational properties, we advocate using a general purpose proof assistant as a unifying framework for the relational verification  ...  of effectful programs.  ...  Acknowledgments The work of Cătălin Hriţcu and Kenji Maillard is in part supported by the European Research Council under ERC Starting Grant SECOMP (715753).  ... 
arXiv:1703.00055v7 fatcat:ojjt7hwkrngxrpskzdkxtvnbd4
« Previous Showing results 1 — 15 out of 772 results