BibBibliography

Resources cited in this volume

An extended related work section on the history of Separation Logic may be found in the companion course notes, available from: http://www.chargueraud.org/teach/verif/slf_notes.pdf
The references most relevant to the contents of the course appear below.
[Birkedal, Torp-Smith and Yang 2006] Lars Birkedal, Noah Torp-smith, and Hongseok Yang. Semantics of separation-logic typing and higher-order frame rules for algol-like languages. In Logical Methods in Computer Science.
[Burstall 1972] R. M. Burstall. Some Techniques for Proving Correctness of Programs which Alter Data Structures. In Machine Intelligence 7, Edinburgh University Press.
[Charguéraud 2010] Arthur Charguéraud. Characteristic Formulae for Mechanized Program Verification. PhD thesis, Université Paris Diderot, December 2010.
[Charguéraud 2011] Arthur Charguéraud. Characteristic Formulae for the Verification of Imperative Programs. In International Conference on Functional Programming (ICFP). https://doi.org/10.1145/2034773.2034828
[Charguéraud 2020] Arthur Charguéraud. Separation Logic for Sequential Programs. In Internation Conference on Function Programming (ICFP). https://dl.acm.org/doi/abs/10.1145/3408998
[Charguéraud 2023] Arthur Charguéraud. A Modern Eye on Separation Logic for Sequential Programs. Habilitation Manuscript. https://www.chargueraud.org/research/2023/hdr/chargueraud_hdr.pdf https://inria.hal.science/tel-04076725/
[Charguéraud et al 2023] Arthur Charguéraud, Adam Chlipala, Andres Erbsen, and Samuel Gruetter. Omnisemantics: Smoother Handling of Nondeterminism (TOPLAS). http://www.chargueraud.org/research/2022/omnisemantics/omnisemantics.pdf.
[Chlipala et al 2009] Adam Chlipala, Gregory Malecha, Greg Morrisett, Avraham Shinnar, and Ryan Wisnesky. Effective Interactive Proofs for Higher-Order Imperative Programs. In International Conference on Functional Programming (ICFP). https://doi.org/10.1145/1596550. See also the other papers: https://ynot.cs.harvard.edu/
[Guéneau, Jourdan, Charguéraud, and Pottier 2019] Armaël Guéneau, Jacques-Henri Jourdan, Arthur Charguéraud, and François Pottier. Formal Proof and Analysis of an Incremental Cycle Detection Algorithm. In Interactive Theorem Proving (ITP). https://doi.org/10.4230/LIPIcs.ITP.2019.18
[Guéneau, Myreen, Kumar and Norrish 2017] Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, and Michael Norrish. Verified Characteristic Formulae for CakeML. In European Symposium on Programming (ESOP). https://doi.org/10.1007/978-3-662-54434-1_22
[Dijstra 1975] Edsger W. Dijkstra. Guarded commands, nondeterminacy and formal derivation of programs. Communications of the ACM. https://doi.org/10.1145/360933.360975
[Gordon 1989] Michael J. C. Gordon. Mechanizing Programming Logics in Higher Order Logic. Springer-Verlag, Berlin, Heidelberg, https://doi.org/10.1007/978-1-4612-3658-0_10
[Krishnaswami, Birkedal, and Aldrich 2010] Neel R. Krishnaswami, Lars Birkedal, and Jonathan Aldrich. Verifying Event-Driven Programs Using Ramified Frame Properties. In Workshop on Types in Language Design and Implementation (TLDI). https://doi.org/10.1145/1708016.1708025
[Hennessy and Milner 1985] Matthew Hennessy and Robin Milner. Algebraic laws for nondeterminism and concurrency. Journal of the ACM, 32. https://dl.acm.org/doi/10.1145/2455.2460
[Honda, Berger, and Yoshida 2006] Kohei Honda, Martin Berger, and Nobuko Yoshida. Descriptive and relative completeness of logics for higher-order functions. International Colloquium on Automata, Languages and Programming (ICALP). https://doi.org/10.1007/11787006_31
[Hobor and Villard 2013] Aquinas Hobor and Jules Villard. The Ramifications of Sharing in Data Structures. In Symposium on Principles of Programming Languages (POPL). https://doi.org/10.1145/2429069.2429131
[Ishtiaq and O'Hearn 2001] Samin S. Ishtiaq and Peter W. O’Hearn. BI as an Assertion Language for Mutable Data Structures. SIGPLAN Notice 36. https://doi.org/10.1145/373243.375719
[Jung et al 2018] Ralf Jung, Robbert Krebbers, Jacques-Henri Jourdan, Ale{\v{s}} Bizjak, Lars Birkedal, Derek Dreyer. Iris from the ground up: A modular foundation for higher-order concurrent separation logic. Journal of Functional Programming. https://doi.org/10.1017/S0956796818000151
[O'Hearn and Pym 1999] Peter W. O’Hearn and David J. Pym. The Logic of Bunched Implications. The Bulletin of Symbolic Logic 5. https://doi.org/10.2307/421090
[O'Hearn, Reynolds, and Yang 2001] Peter W. O’Hearn, John C. Reynolds, and Hongseok Yang. Local Reasoning about Programs that Alter Data Structures. Workshop on Computer Science Logic (CSL). https://doi.org/10.1007/3-540-44802-0_1
[Ni, Shao 2006] Zhaozhong Ni and Zhong Shao. Certified Assembly Programming with Embedded Code Pointers. Symposium on Principles of Programming Languages (POPL). https://doi.org/10.1145/1111037.1111066
[Reynolds 2002] John C. Reynolds. Separation Logic: A Logic for Shared Mutable Data Structures. Annual IEEE Symposium on Logic in Computer Science (LICS). 10.1109/LICS.2002.1029817
[Reynolds 2000] John C. Reynolds. Intuitionistic Reasoning about Shared Mutable Data Structure http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.11.5999&rep=rep1&type=pdf
[Schäfer et al 2016] Steven Schäfer, Sigurd Schneider, Gert Smolka. Axiomatic Semantics for Compiler Verification. In Conference on Certified Programs and Proofs (CPP). https://dl.acm.org/doi/10.1145/2854065.2854083
[Tuerk 2010] Thomas Tuerk. Local Reasoning about While-Loops. In International Conference on Verified Software: Theories, Tools and Experiments (VSTTE).
[Weber 2004] Tjark Weber. Towards Mechanized Program Verification with Separation Logic. In Computer Science Logic (CSL) https://doi.org/10.1007/978-3-540-30124-0_21
[Yu, Hamid, and Shao 2003] Dachuan Yu, Nadeem A. Hamid, and Zhong Shao. Building Certified Libraries for PCC: Dynamic Storage Allocation. European Symposium on Programming (ESOP). https://doi.org/10.1007/3-540-36575-3_25
(* 2024-11-04 20:38 *)