Contract-based resource verification for higher-order functions with memoization

R Madhavan, S Kulal, V Kuncak - Acm Sigplan Notices, 2017 - dl.acm.org
We present a new approach for specifying and verifying resource utilization of higher-order
functional programs that use lazy evaluation and memoization. In our approach, users can …

Gradual verification of recursive heap data structures

J Wise, J Bader, C Wong, J Aldrich, É Tanter… - Proceedings of the …, 2020 - dl.acm.org
Current static verification techniques do not provide good support for incrementality, making
it difficult for developers to focus on specifying and verifying the properties and components …

Verified resource guarantees for heap manipulating programs

E Albert, R Bubel, S Genaim, R Hähnle… - … 2012, Held as Part of the …, 2012 - Springer
Program properties that are automatically inferred by static analysis tools are generally not
considered to be completely trustworthy, unless the tool implementation or the results are …

Model-checking higher-order functions

N Kobayashi - Proceedings of the 11th ACM SIGPLAN conference on …, 2009 - dl.acm.org
We propose a novel type-based model checking algorithm for higher-order recursion
schemes. As shown by Kobayashi, verification problems of higher-order functional programs …

Automatically refining partial specifications for program verification

S Qin, C Luo, WN Chin, G He - International Symposium on Formal …, 2011 - Springer
Automatically verifying heap-manipulating programs is a challenging task, especially when
dealing with complex data structures with strong invariants, such as sorted lists and AVL/red …

Automatically refining partial specifications for heap-manipulating programs

S Qin, G He, C Luo, WN Chin, H Yang - Science of Computer Programming, 2014 - Elsevier
Automatically verifying heap-manipulating programs is a challenging task, especially when
dealing with complex data structures with strong invariants, such as sorted lists and AVL/red …

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

N Grimm, K Maillard, C Fournet, C Hriţcu… - Proceedings of the 7th …, 2018 - dl.acm.org
Relational properties describe multiple runs of one or more programs. They characterize
many useful notions of security, program refinement, and equivalence for programs with …

Verification by reduction to functional programs

RW Blanc - 2017 - infoscience.epfl.ch
In this thesis, we explore techniques for the development and verification of programs in a
high-level, expressive, and safe programming language. Our programs can express …

Effective interactive proofs for higher-order imperative programs

A Chlipala, G Malecha, G Morrisett, A Shinnar… - ACM Sigplan …, 2009 - dl.acm.org
We present a new approach for constructing and verifying higher-order, imperative
programs using the Coq proof assistant. We build on the past work on the Ynot system …

Amortised resource analysis with separation logic

R Atkey - Logical Methods in Computer Science, 2011 - lmcs.episciences.org
Type-based amortised resource analysis following Hofmann and Jost---where resources are
associated with individual elements of data structures and doled out to the programmer …