english.bib

@inproceedings{aarssen-van-der-storm-20,
  author = {Rodin T. A. Aarssen and Tijs van der Storm},
  title = {High-fidelity metaprogramming with separator syntax
                 trees},
  booktitle = {Workshop on Evaluation and Semantics-Based Program
                 Manipulation ({PEPM})},
  pages = {27--37},
  month = jan,
  year = {2020},
  url = {https://doi.org/10.1145/3372884.3373162}
}
@inproceedings{abadi-blanchet-01,
  author = {Martín Abadi and Bruno Blanchet},
  title = {Secrecy Types for Asymmetric Communication},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  month = apr,
  year = {2001},
  volume = {2030},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  pages = {25--41},
  url = {http://www.di.ens.fr/~blanchet/publications/AbadiBlanchetFOSSACS01.html}
}
@article{abadi-cardelli-94,
  author = {Mart{\'\i}n Abadi and Luca Cardelli},
  title = {A Theory of Primitive Objects: Untyped and First-Order
                 Systems},
  journal = {Information and Computation},
  year = {1996},
  volume = {125},
  number = {2},
  pages = {78--102},
  month = mar,
  url = {http://research.microsoft.com/Users/luca/Papers/PrimObj1stOrder.pdf}
}
@article{abadi-cardelli-94b,
  author = {Mart{\'\i}n Abadi and Luca Cardelli},
  title = {A Theory of Primitive Objects: Second-Order Systems},
  journal = {Science of Computer Programming},
  year = {1995},
  volume = {25},
  number = {2--3},
  pages = {81--116},
  month = dec,
  url = {http://research.microsoft.com/Users/luca/Papers/PrimObj2ndOrder.pdf}
}
@inproceedings{abadi-dcc-99,
  title = {A Core Calculus of Dependency},
  author = {Martín Abadi and Anindya Banerjee and Nevin Heintze
                 and Jon G. Riecke},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1999},
  pages = {147--160},
  url = {http://www.soe.ucsc.edu/~abadi/Papers/flowpopl.ps}
}
@inproceedings{abadi-fiore-96,
  author = {Mart{\'\i}n Abadi and Marcelo P. Fiore},
  title = {Syntactic Considerations on Recursive Types},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {242--252},
  year = {1996},
  month = jul,
  url = {http://www.soe.ucsc.edu/~abadi/Papers/rec.ps}
}
@inproceedings{abadi-lamport-88,
  author = {Martin Abadi and Leslie Lamport},
  title = {The Existence of Refinement Mappings},
  booktitle = {Logic in Computer Science (LICS)},
  year = {1988},
  month = jul,
  url = {https://www.microsoft.com/en-us/research/publication/the-existence-of-refinement-mappings/},
  pages = {165--175}
}
@inproceedings{abadi-lampson-levy-96,
  title = {Analysis and Caching of Dependencies},
  author = {Martín Abadi and Butler Lampson and Jean-Jacques
                 Lévy},
  pages = {83--91},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = may,
  year = {1996},
  url = {http://www.soe.ucsc.edu/~abadi/Papers/make-preprint.ps}
}
@article{abadi-pierce-plotkin-91,
  author = {Martín Abadi and Benjamin Pierce and Gordon Plotkin},
  title = {Faithful Ideal Models for Recursive Polymorphic
                 Types},
  journal = {International Journal of Foundations of Computer
                 Science},
  volume = {2},
  number = {1},
  month = mar,
  year = {1991},
  pages = {1--21},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/ideals.ps}
}
@article{abadi-plotkin-20,
  author = {Mart{\'{\i}}n Abadi and Gordon D. Plotkin},
  title = {A simple differentiable programming language},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {{POPL}},
  pages = {38:1--38:28},
  year = {2020},
  url = {https://doi.org/10.1145/3371106}
}
@article{abel-04,
  author = {Andreas Abel},
  title = {Termination Checking with Types},
  journal = {RAIRO Theoretical Informatics and Applications},
  year = {2004},
  volume = {38},
  number = {4},
  pages = {277--319},
  url = {http://www2.tcs.ifi.lmu.de/~abel/rairo04.pdf}
}
@inproceedings{abel-haskell-05,
  author = {Andreas Abel and Marcin Benke and Ana Bove and John
                 Hughes and Ulf Norell},
  title = {Verifying {Haskell} programs using constructive type
                 theory},
  booktitle = {Haskell workshop},
  month = sep,
  year = {2005},
  pages = {62--73},
  url = {http://www.tcs.informatik.uni-muenchen.de/~abel/haskell05.pdf}
}
@inproceedings{abel-miniagda-10,
  author = {Andreas Abel},
  title = {{MiniAgda}: Integrating Sized and Dependent Types},
  booktitle = {Workshop on Partiality And Recursion in Interactive
                 Theorem Provers {(PAR)}},
  month = jul,
  year = {2010},
  url = {http://www2.tcs.ifi.lmu.de/~abel/par10.pdf}
}
@article{abramsky-91,
  author = {Samson Abramsky},
  title = {Domain Theory in Logical Form},
  journal = {Annals of Pure and Applied Logic},
  year = {1991},
  volume = {51},
  pages = {1--77},
  url = {http://web.comlab.ox.ac.uk/oucl/work/samson.abramsky/dtlf.ps.gz}
}
@inproceedings{abramsky-honda-mccusker-98,
  author = {Samson Abramsky and Kohei Honda and Guy McCusker},
  title = {A fully abstract game semantics for general
                 references},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {334--344},
  year = {1998},
  url = {http://web.comlab.ox.ac.uk/people/Samson.Abramsky/lics98.ps.gz}
}
@inproceedings{acar-aksenov-chargueraud-rainey-19,
  author = {Umut A. Acar and Vitaly Aksenov and Arthur
                 Charguéraud and Mike Rainey},
  title = {Provably and practically efficient granularity
                 control},
  booktitle = {Principles and Practice of Parallel Programming
                 (PPoPP)},
  pages = {214--228},
  month = feb,
  year = {2019},
  url = {https://doi.org/10.1145/3293883.3295725}
}
@misc{acar-blelloch-notes,
  author = {Umut A. Acar and Guy E. Blelloch},
  title = {Algorithms: Parallel and Sequential},
  howpublished = {Online lecture notes},
  month = may,
  year = {2022},
  url = {https://drive.google.com/file/d/1nuRlrqrRRsxMhX20NTd9YTPVANQi5Of-/view}
}
@inproceedings{acar-chargueraud-rainey-13,
  author = {Umut A. Acar and Arthur Charguéraud and Mike Rainey},
  title = {Scheduling parallel programs by work stealing with
                 private deques},
  booktitle = {Principles and Practice of Parallel Programming
                 (PPoPP)},
  pages = {219--228},
  month = feb,
  year = {2013},
  url = {http://www.chargueraud.org/research/2013/ppopp/full.pdf}
}
@inproceedings{acar-chargueraud-rainey-14,
  author = {Umut A. Acar and Arthur Charguéraud and Mike Rainey},
  title = {Theory and Practice of Chunked Sequences},
  booktitle = {Algorithms (ESA)},
  pages = {25--36},
  volume = {8737},
  publisher = {Springer},
  month = sep,
  year = {2014},
  url = {https://www.chargueraud.org/research/2014/chunkedseq/chunkedseq.pdf}
}
@article{achten-plasmeijer-95,
  author = {Peter Achten and Marinus J. Plasmeijer},
  title = {The Ins and Outs of {Clean} {I/O}},
  journal = {Journal of Functional Programming},
  volume = {5},
  number = {1},
  year = {1995},
  pages = {81--110},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.17.935}
}
@article{aczel-adamek-milius-velebil-03,
  author = {Peter Aczel and Jirí Adámek and Stefan Milius and
                 Jirí Velebil},
  title = {Infinite trees and completely iterative theories: a
                 coalgebraic view},
  journal = {Theoretical Computer Science},
  volume = {300},
  number = {1-3},
  pages = {1--45},
  year = {2003},
  url = {https://doi.org/10.1016/S0304-3975(02)00728-4}
}
@article{adams-might-17,
  author = {Michael D. Adams and Matthew Might},
  title = {Restricting grammars with tree automata},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {1},
  number = {{OOPSLA}},
  pages = {82:1--82:25},
  year = {2017},
  url = {https://doi.org/10.1145/3133906}
}
@inproceedings{adbmal,
  author = {Dimitri Hendriks and Vincent van Oostrom},
  title = {adbmal},
  booktitle = {International Conference on Automated Deduction
                 (CADE)},
  series = {Lecture Notes in Computer Science},
  volume = {2741},
  pages = {136--150},
  publisher = {Springer},
  month = aug,
  year = {2003},
  url = {https://doi.org/10.1007/978-3-540-45085-6_11}
}
@article{affeldt-cohen-rouhling-18,
  author = {Reynald Affeldt and Cyril Cohen and Damien Rouhling},
  title = {Formalization Techniques for Asymptotic Reasoning in
                 Classical Analysis},
  journal = {Journal of Formalized Reasoning},
  volume = {11},
  number = {1},
  pages = {43--76},
  year = {2018},
  url = {http://www-sop.inria.fr/members/Damien.Rouhling/data/papers/JFR2018.pdf}
}
@unpublished{affeldt-garrigue-saikawa-23,
  author = {Reynald Affeldt and Jacques Garrigue and Takafumi
                 Saikawa},
  title = {A Practical Formalization of Monadic Equational
                 Reasoning in Dependent-type Theory},
  year = {2023},
  url = {https://arxiv.org/abs/2312.06103},
  note = {Unpublished}
}
@inproceedings{affeldt-nowak-oiwa-12,
  author = {Reynald Affeldt and David Nowak and Yutaka Oiwa},
  title = {Formal network packet processing with minimal fuss:
                 invertible syntax descriptions at work},
  booktitle = {Programming Languages Meets Program Verification
                 (PLPV)},
  pages = {27--36},
  year = {2012},
  url = {https://doi.org/10.1145/2103776.2103781}
}
@techreport{agerholm-examples-94,
  author = {Sten Agerholm},
  title = {{LCF} Examples in {HOL}},
  institution = {BRICS},
  month = jun,
  year = {1994},
  number = {RS-94-18},
  url = {http://www.brics.dk/RS/94/18/BRICS-RS-94-18.ps.gz}
}
@techreport{agerholm-holcpo-94,
  author = {Sten Agerholm},
  title = {A {HOL} Basis for Reasoning about Functional
                 Programs},
  institution = {BRICS},
  year = {1994},
  number = {RS-94-44},
  month = dec,
  url = {http://www.brics.dk/RS/94/44/BRICS-RS-94-44.ps.gz}
}
@article{aguirre-19,
  author = {Alejandro Aguirre and Gilles Barthe and Marco Gaboardi
                 and Deepak Garg and Pierre{-}Yves Strub},
  title = {A relational logic for higher-order programs},
  journal = {Journal of Functional Programming},
  volume = {29},
  pages = {e16},
  year = {2019},
  url = {https://arxiv.org/abs/1703.05042}
}
@article{ahman-18,
  author = {Danel Ahman and Cédric Fournet and Catalin Hritcu and
                 Kenji Maillard and Aseem Rastogi and Nikhil Swamy},
  title = {Recalling a witness: foundations and applications of
                 monotonic state},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {2},
  number = {{POPL}},
  pages = {65:1--65:30},
  year = {2018},
  url = {https://doi.org/10.1145/3158153}
}
@inproceedings{ahman-al-17,
  author = {Danel Ahman and Catalin Hritcu and Kenji Maillard and
                 Guido Mart{\'{\i}}nez and Gordon D. Plotkin and
                 Jonathan Protzenko and Aseem Rastogi and Nikhil Swamy},
  title = {Dijkstra monads for free},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {515--529},
  month = jan,
  year = {2017},
  url = {https://arxiv.org/abs/1608.06499}
}
@phdthesis{ahmed-04,
  author = {Amal Jamil Ahmed},
  title = {Semantics of Types for Mutable State},
  school = {Princeton University},
  year = {2004},
  url = {http://www.cs.indiana.edu/~amal/ahmedsthesis.pdf}
}
@inproceedings{ahmed-appel-virga-02,
  author = {Amal J. Ahmed and Andrew W. Appel and Roberto Virga},
  title = {A Stratified Semantics of General References
                 Embeddable in Higher-Order Logic},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {75--86},
  month = jul,
  year = {2002},
  url = {http://www.cs.princeton.edu/sip/pub/stratified-lics02.pdf}
}
@inproceedings{ahmed-blume-08,
  author = {Amal Ahmed and Matthias Blume},
  title = {Typed closure conversion preserves observational
                 equivalence},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2008},
  pages = {157--168},
  url = {http://ttic.uchicago.edu/~amal/papers/tccpoe.pdf}
}
@inproceedings{ahmed-dreyer-rossberg-09,
  author = {Amal Ahmed and Derek Dreyer and Andreas Rossberg},
  title = {State-dependent representation independence},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2009},
  pages = {340--353},
  url = {http://ttic.uchicago.edu/~amal/papers/sdri.pdf}
}
@inproceedings{ahmed-fluet-morrisett-05,
  author = {Amal J. Ahmed and Matthew Fluet and Greg Morrisett},
  title = {A step-indexed model of substructural state},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2005},
  pages = {78--91},
  url = {http://www.cs.rit.edu/~mtf/research/substruct-state/ICFP05/icfp05.pdf}
}
@article{ahmed-semantic-tal-10,
  author = {Amal Ahmed and Andrew W. Appel and Christopher D.
                 Richards and Kedar N. Swadi and Gang Tan and Daniel C.
                 Wang},
  title = {Semantic foundations for typed assembly languages},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {32},
  number = {3},
  year = {2010},
  url = {http://www.cs.princeton.edu/~appel/papers/sftal.pdf}
}
@inproceedings{ahn-vezzosi-16,
  author = {Ki Yung Ahn and Andrea Vezzosi},
  title = {Executable Relational Specifications of Polymorphic
                 Type Systems Using {Prolog}},
  booktitle = {Functional and Logic Programming},
  series = {Lecture Notes in Computer Science},
  volume = {9613},
  pages = {109--125},
  publisher = {Springer},
  month = mar,
  year = {2016},
  url = {https://doi.org/10.1007/978-3-319-29604-3_8}
}
@book{aho-86,
  author = {Alfred V. Aho and Ravi Sethi and Jeffrey D. Ullman},
  title = {Compilers: Principles, Techniques, and Tools},
  publisher = {Addison-Wesley},
  year = {1986}
}
@book{aho-89,
  author = {Alfred Aho and Ravi Sethi and Jeffrey Ullman},
  title = {Compilateurs: principes, techniques et outils},
  publisher = {InterEditions},
  year = {1989}
}
@book{aho-hopcroft-ullman-74,
  author = {Alfred V. Aho and John E. Hopcroft and Jeffrey D.
                 Ullman},
  title = {The Design and Analysis of Computer Algorithms},
  publisher = {Addison-Wesley},
  year = {1974}
}
@book{aho-hopcroft-ullman-83,
  author = {Alfred V. Aho and John E. Hopcroft and Jeffrey D.
                 Ullman},
  title = {Data Structures and Algorithms},
  year = {1983},
  publisher = {Addison-Wesley}
}
@article{aho-johnson-ullman-75,
  author = {Alfred V. Aho and Stephen C. Johnson and Jeffrey D.
                 Ullman},
  title = {Deterministic Parsing of Ambiguous Grammars},
  journal = {Communications of the {ACM}},
  volume = {18},
  number = {8},
  pages = {441--452},
  year = {1975},
  url = {https://doi.org/10.1145/360933.360969}
}
@article{aho-optim-72,
  author = {Alfred V. Aho and Jeffrey D. Ullman},
  title = {Optimization of {LR(k)} parsers},
  journal = {Journal of Computer and System Sciences},
  volume = {6},
  number = {6},
  pages = {573--602},
  year = {1972},
  url = {http://www.sciencedirect.com/science/article/pii/S002200007280031X}
}
@book{aho-ullman-72,
  author = {Alfred V. Aho and Jeffrey D. Ullman},
  title = {The theory of parsing, translation, and compiling},
  year = {1972},
  publisher = {Prentice Hall},
  url = {http://portal.acm.org/citation.cfm?id=SERIES11430.578789}
}
@article{aho-ullman-73,
  author = {Alfred V. Aho and Jeffrey D. Ullman},
  title = {A Technique for Speeding up {LR(k)} Parsers},
  journal = {SIAM Journal on Computing},
  volume = {2},
  number = {2},
  pages = {106--127},
  year = {1973},
  url = {http://dx.doi.org/10.1137/0202010}
}
@article{aiken-bane-98,
  author = {Alexander Aiken and Manuel Fähndrich and Jeffrey S.
                 Foster and Zhendong Su},
  title = {A Toolkit for Constructing Type- and Constraint-Based
                 Program Analyses},
  journal = {Lecture Notes in Computer Science},
  volume = {1473},
  pages = {76--96},
  year = {1998},
  url = {http://theory.stanford.edu/~aiken/publications/papers/tic98.pdf}
}
@article{aiken-faehndrich-levien-95,
  author = {Alexander Aiken and Manuel F{\"a}hndrich and Raph
                 Levien},
  title = {Better static memory management: improving
                 region-based analysis of higher-order languages},
  journal = {{ACM} {SIGPLAN} Notices},
  volume = {30},
  number = {6},
  pages = {174--185},
  month = jun,
  year = {1995},
  url = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1995/CSD-95-866.pdf}
}
@inproceedings{aiken-faehndrich-mixed-97,
  author = {Alexander S. Aiken and Manuel F{\"a}hndrich},
  title = {Program Analysis Using Mixed Term and Set
                 Constraints},
  pages = {114--126},
  booktitle = {Static Analysis Symposium (SAS)},
  month = sep,
  year = {1997},
  url = {http://theory.stanford.edu/~aiken/publications/papers/sas97.pdf}
}
@techreport{aiken-faehndrich-scale-96,
  number = {CSD-96-917},
  institution = {University of California, Berkeley},
  title = {Making Set-Constraint Based Program Analyses Scale},
  year = {1996},
  month = sep,
  author = {Alexander S. Aiken and Manuel F{\"a}hndrich},
  url = {http://research.microsoft.com/pubs/67469/scw96.pdf}
}
@techreport{aiken-faehndrich-subtyping-96,
  number = {CSD-96-898},
  institution = {University of California, Berkeley},
  title = {Subtyping Polymorphic Constrained Types},
  year = {1996},
  month = mar,
  author = {Alexander S. Aiken and Manuel F{\"a}hndrich}
}
@misc{aiken-illyria,
  author = {Alexander S. Aiken},
  title = {The {Illyria} system},
  year = {1994},
  url = {http://http.cs.berkeley.edu:80/~aiken/Illyria-demo.html}
}
@article{aiken-intro-99,
  author = {Alexander Aiken},
  title = {Introduction to Set Constraint-Based Program
                 Analysis},
  journal = {Science of Computer Programming},
  year = {1999},
  volume = {35},
  pages = {79--111},
  url = {http://theory.stanford.edu/~aiken/publications/papers/scp99.pdf}
}
@techreport{aiken-palsberg-wimmers-optimal-96,
  number = {CSD-96-909},
  institution = {University of California, Berkeley},
  title = {Optimal Representations of Polymorphic Types with
                 Subtyping},
  year = {1996},
  month = jul,
  pages = {31},
  author = {Alexander S. Aiken and Edward L. Wimmers and Jens
                 Palsberg},
  url = {http://digitalassets.lib.berkeley.edu/techreports/ucb/text/CSD-96-909.pdf}
}
@inproceedings{aiken-wimmers-92,
  author = {Alexander S. Aiken and Edward L. Wimmers},
  title = {Solving Systems of Set Constraints},
  pages = {329--340},
  booktitle = {Logic in Computer Science (LICS)},
  month = jun,
  year = {1992},
  url = {http://theory.stanford.edu/~aiken/publications/papers/lics92.pdf}
}
@inproceedings{aiken-wimmers-93,
  author = {Alexander S. Aiken and Edward L. Wimmers},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  publisher = {ACM Press},
  title = {Type Inclusion Constraints and Type Inference},
  year = {1993},
  pages = {31--41},
  url = {http://theory.stanford.edu/~aiken/publications/papers/fpca93.pdf}
}
@inproceedings{aiken-wimmers-lakshman-94,
  author = {Alexander S. Aiken and Edward L. Wimmers and T. K.
                 Lakshman},
  booktitle = {Principles of Programming Languages ({POPL})},
  title = {Soft Typing with Conditional Types},
  year = {1994},
  month = jan,
  pages = {163--173},
  url = {http://theory.stanford.edu/~aiken/publications/papers/popl94.pdf}
}
@inproceedings{albert-09,
  author = {Elvira Albert and Samir Genaim and Miguel
                 G{\'{o}}mez{-}Zamalloa},
  title = {Live heap space analysis for languages with garbage
                 collection},
  booktitle = {International Symposium on Memory Management},
  pages = {129--138},
  month = jun,
  year = {2009},
  url = {http://oa.upm.es/5699/2/INVE_MEM_2009_70439.pdf}
}
@inproceedings{albert-10,
  author = {Elvira Albert and Samir Genaim and Miguel
                 G{\'{o}}mez{-}Zamalloa},
  title = {Parametric inference of memory requirements for
                 garbage collected languages},
  booktitle = {International Symposium on Memory Management},
  pages = {121--130},
  month = jun,
  year = {2010},
  url = {https://cliplab.org/papers/heap-usage-ISMM10.pdf}
}
@article{albert-13,
  author = {Elvira Albert and Samir Genaim and Miguel
                 G{\'{o}}mez{-}Zamalloa},
  title = {Heap space analysis for garbage collected languages},
  journal = {Science of Computer Programming},
  volume = {78},
  number = {9},
  pages = {1427--1448},
  year = {2013},
  url = {https://doi.org/10.1016/j.scico.2012.10.008}
}
@inproceedings{albert-esop-07,
  author = {Elvira Albert and Puri Arenas and Samir Genaim and
                 Germ{\'{a}}n Puebla and Damiano Zanardini},
  title = {Cost Analysis of Java Bytecode},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {4421},
  pages = {157--172},
  publisher = {Springer},
  month = apr,
  year = {2007},
  url = {https://doi.org/10.1007/978-3-540-71316-6_12}
}
@inproceedings{albert-ismm-07,
  author = {Elvira Albert and Samir Genaim and Miguel
                 G{\'{o}}mez{-}Zamalloa},
  title = {Heap space analysis for {Java} bytecode},
  booktitle = {International Symposium on Memory Management},
  pages = {105--116},
  month = oct,
  year = {2007},
  url = {http://cliplab.org/papers/jvm-heap-ismm07.pdf}
}
@inproceedings{aldrich-borrowing-12,
  title = {A type system for borrowing permissions},
  author = {Karl Naden and Robert Bocchino and Jonathan Aldrich
                 and Kevin Bierhoff},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2012},
  pages = {557--570},
  url = {http://cs.cmu.edu/afs/cs.cmu.edu/Web/People/kbn/pubs/poplBorrowing.pdf}
}
@inproceedings{aldrich-objects-13,
  author = {Jonathan Aldrich},
  title = {The power of interoperability: why objects are
                 inevitable},
  booktitle = {{ACM} Symposium on New Ideas in Programming and
                 Reflections on Software (Onward!)},
  month = oct,
  year = {2013},
  pages = {101--116},
  url = {http://www.cs.cmu.edu/~aldrich/papers/objects-essay.pdf}
}
@unpublished{aldrich-plaid-10,
  author = {Jonathan Aldrich},
  title = {Resource-Based Programming in {Plaid}},
  note = {Fun Ideas and Thoughts},
  year = {2010},
  month = jun,
  url = {http://www.cs.cmu.edu/~aldrich/papers/pldi-fit10.pdf}
}
@inproceedings{aldrich-typestate-09,
  author = {Jonathan Aldrich and Joshua Sunshine and Darpan Saini
                 and {Zacha\-ry} Sparks},
  title = {Typestate-Oriented Programming},
  booktitle = {Companion to Object-Oriented Programming, Systems,
                 Languages, and Applications (OOPSLA)},
  pages = {1015--1022},
  year = {2009},
  month = oct,
  url = {http://www.cs.cmu.edu/~aldrich/papers/onward2009-state.pdf}
}
@inproceedings{alias-types-00,
  author = {Frederick Smith and David Walker and Greg Morrisett},
  title = {Alias Types},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {366--381},
  year = {2000},
  volume = {1782},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://www.cs.cornell.edu/talc/papers/alias.pdf}
}
@inproceedings{allais-cpp-17,
  author = {Guillaume Allais and James Chapman and Conor McBride
                 and James McKinna},
  title = {Type-and-scope Safe Programs and Their Proofs},
  booktitle = {Certified Programs and Proofs (CPP)},
  pages = {195--207},
  month = jan,
  year = {2017},
  url = {http://gallais.github.io/pdf/cpp2017.pdf}
}
@inproceedings{almeida-97,
  author = {Paulo S{\'e}rgio Almeida},
  title = {Balloon Types: Controlling Sharing of State in Data
                 Types},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jun,
  year = {1997},
  pages = {32--59},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1241},
  url = {http://gsd.di.uminho.pt/publications/gsd-1997-04/file/at_download}
}
@misc{alphalib,
  author = {François Pottier},
  title = {\texttt{AlphaLib}},
  year = {2017},
  howpublished = {\url{https://gitlab.inria.fr/fpottier/alphaLib}}
}
@article{alstrup-al-14,
  author = {Stephen Alstrup and Mikkel Thorup and Inge Li G{\o}rtz
                 and Theis Rauhe and Uri Zwick},
  title = {Union-Find with Constant Time Deletions},
  journal = {{ACM} Transactions on Algorithms},
  volume = {11},
  number = {1},
  pages = {6:1--6:28},
  year = {2014},
  url = {http://doi.acm.org/10.1145/2636922}
}
@inproceedings{altenkirch-pisigma-10,
  author = {Thorsten Altenkirch and Nils Anders Danielsson and
                 Andres L{\"o}h and Nicolas Oury},
  title = {{$\Pi$}{$\Sigma$}: Dependent Types Without the Sugar},
  booktitle = {Functional and Logic Programming},
  pages = {40--55},
  month = apr,
  year = {2010},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6009},
  url = {http://www.cs.nott.ac.uk/~txa/publ/pisigma-new.pdf}
}
@inproceedings{altenkirch-reus-99,
  author = {Thorsten Altenkirch and Bernhard Reus},
  title = {Monadic Presentations of Lambda Terms Using
                 Generalized Inductive Types},
  booktitle = {Computer Science Logic},
  year = {1999},
  pages = {453--468},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1683},
  url = {http://www.cs.nott.ac.uk/~txa/publ/csl99.pdf}
}
@article{amadio-cardelli-93,
  author = {Roberto M. Amadio and Luca Cardelli},
  title = {Subtyping Recursive Types},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {15},
  number = {4},
  pages = {575--631},
  month = sep,
  year = {1993},
  url = {http://research.microsoft.com/Users/luca/Papers/SRT.pdf}
}
@inproceedings{amadio-regis-gianas-11,
  author = {Roberto Amadio and Yann Régis{-}Gianas},
  title = {Certifying and Reasoning on Cost Annotations of
                 Functional Programs},
  booktitle = {Foundational and Practical Aspects of Resource
                 Analysis},
  pages = {72--89},
  month = may,
  year = {2011},
  series = {Lecture Notes in Computer Science},
  volume = {7177},
  publisher = {Springer},
  url = {https://hal.inria.fr/inria-00629473v1}
}
@article{amadio-regis-gianas-13,
  title = {Certifying and reasoning about cost annotations of
                 functional programs},
  author = {Roberto Amadio and Yann R{\'e}gis-Gianas},
  url = {https://hal.inria.fr/inria-00629473},
  journal = {Higher-Order and Symbolic Computation},
  year = {2013},
  month = jan
}
@inproceedings{ambal-lenglet-schmitt-22,
  author = {Guillaume Ambal and Sergueï Lenglet and Alan
                 Schmitt},
  title = {Certified abstract machines for skeletal semantics},
  booktitle = {Certified Programs and Proofs (CPP)},
  pages = {55--67},
  month = jan,
  year = {2022},
  url = {https://inria.hal.science/hal-03466807/}
}
@inproceedings{ambal-lenglet-schmitt-nous-22,
  author = {Guillaume Ambal and Sergueï Lenglet and Alan Schmitt
                 and Camille Noûs},
  title = {Certified Derivation of Small-Step From Big-Step
                 Skeletal Semantics},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  pages = {11:1--11:48},
  month = sep,
  year = {2022},
  url = {https://inria.hal.science/hal-03768820/}
}
@inproceedings{america-rutten-88,
  author = {Pierre America and Jan Rutten},
  title = {Solving reflexive domain equations in a category of
                 complete metric spaces},
  booktitle = {Mathematical Foundations of Programming Semantics},
  pages = {254--288},
  year = {1988},
  volume = {298},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-19020-1_13}
}
@article{amighi-15,
  author = {Afshin Amighi and Christian Haack and Marieke Huisman
                 and Clément Hurlin},
  title = {Permission-based separation logic for multithreaded
                 {Java} programs},
  journal = {Logical Methods in Computer Science},
  year = {2015},
  volume = {11},
  number = {1},
  pages = {1--66},
  url = {http://arxiv.org/abs/1411.0851}
}
@inproceedings{amin-essence-16,
  author = {Nada Amin and Samuel Gr{\"{u}}tter and Martin Odersky
                 and Tiark Rompf and Sandro Stucki},
  title = {The Essence of Dependent Object Types},
  booktitle = {A List of Successes That Can Change the World --
                 Essays Dedicated to {Philip Wadler} on the Occasion of
                 His 60th Birthday},
  series = {Lecture Notes in Computer Science},
  volume = {9600},
  publisher = {Springer},
  pages = {249--272},
  year = {2016},
  url = {https://infoscience.epfl.ch/record/215280/files/paper_1.pdf}
}
@inproceedings{amin-rompf-17,
  author = {Nada Amin and Tiark Rompf},
  title = {Type Soundness Proofs with Definitional Interpreters},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2017},
  pages = {666--679},
  month = jan,
  url = {http://lampwww.epfl.ch/~amin/pub/big-step.pdf}
}
@article{anand-13,
  author = {Saswat Anand and Edmund K. Burke and Tsong Yueh Chen
                 and John A. Clark and Myra B. Cohen and Wolfgang
                 Grieskamp and Mark Harman and Mary Jean Harrold and
                 Phil McMinn},
  title = {An orchestrated survey of methodologies for automated
                 software test case generation},
  journal = {Journal of Systems and Software},
  volume = {86},
  number = {8},
  pages = {1978--2001},
  year = {2013},
  url = {https://core.ac.uk/display/36855508}
}
@article{andersen-94,
  author = {Henrik Reif Andersen},
  title = {Model checking and {Boolean} graphs},
  journal = {Theoretical Computer Science},
  volume = {126},
  number = {1},
  year = {1994},
  pages = {3--30},
  url = {http://dx.doi.org/10.1016/0304-3975(94)90266-6}
}
@article{anderson-eve-horning-73,
  author = {T. Anderson and J. Eve and J. J. Horning},
  title = {Efficient ${LR}(1)$ parsers},
  journal = {Acta Informatica},
  year = {1973},
  volume = {2},
  pages = {12--39},
  url = {http://dx.doi.org/10.1007/BF00571461}
}
@book{andrews-00,
  author = {Gregory R. Andrews},
  title = {Foundations of Multithreaded, Parallel, and
                 Distributed Programming},
  publisher = {Addison-Wesley},
  year = {2000}
}
@book{andrews-86,
  author = {Peter B. Andrews},
  title = {An introduction to mathematical logic and type theory:
                 to truth through proof},
  year = {1986},
  publisher = {Academic Press}
}
@article{andrews-reitman-80,
  author = {Gregory R. Andrews and Richard P. Reitman},
  title = {An Axiomatic Approach to Information Flow in
                 Programs},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {2},
  number = {1},
  pages = {56--76},
  month = jan,
  year = {1980}
}
@inproceedings{aneris,
  author = {Morten Krogh{-}Jespersen and Amin Timany and Marit
                 Edna Ohlenbusch and Simon Oddershede Gregersen and Lars
                 Birkedal},
  title = {Aneris: {A} Mechanised Logic for Modular Reasoning
                 about Distributed Systems},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {12075},
  pages = {336--365},
  publisher = {Springer},
  month = apr,
  year = {2020},
  url = {https://iris-project.org/pdfs/2020-esop-aneris-final.pdf}
}
@book{antlr,
  author = {Terence Parr},
  title = {The Definitive {ANTLR 4} Reference, 2nd edition},
  year = {2013},
  publisher = {Pragmatic Bookshelf}
}
@inproceedings{antonopoulos-14,
  author = {Timos Antonopoulos and Nikos Gorogiannis and Christoph
                 Haase and Max I. Kanovich and Jo{\"{e}}l Ouaknine},
  title = {Foundations for Decision Problems in Separation Logic
                 with General Inductive Predicates},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  pages = {411--425},
  month = apr,
  year = {2014},
  series = {Lecture Notes in Computer Science},
  volume = {8412},
  publisher = {Springer},
  url = {http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/AGHKO-fossacs14.pdf}
}
@inproceedings{apinis-seidl-vojdani-16,
  author = {Kalmer Apinis and Helmut Seidl and Vesal Vojdani},
  title = {Enhancing Top-Down Solving with Widening and
                 Narrowing},
  booktitle = {Semantics, Logics, and Calculi -- Essays Dedicated to
                 Hanne Riis Nielson and Flemming Nielson on the Occasion
                 of Their 60th Birthdays},
  pages = {272--288},
  year = {2016},
  series = {Lecture Notes in Computer Science},
  volume = {9560},
  publisher = {Springer},
  url = {http://kodu.ut.ee/~vesal/papers/Apinis_2015_ETS.pdf}
}
@inproceedings{aponte-dicosmo-96,
  author = {Maria-Virginia Aponte and Roberto {Di Cosmo}},
  title = {Type isomorphisms for module signatures},
  month = sep,
  year = {1996},
  booktitle = {Programming Languages: Implementations, Logics, and
                 Programs (PLILP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1140},
  pages = {334--346},
  url = {http://dx.doi.org/10.1007/3-540-61756-6_95}
}
@book{appel-92,
  author = {Andrew W. Appel},
  title = {Compiling with Continuations},
  publisher = {Cambridge University Press},
  year = {1992},
  url = {http://www.cambridge.org/9780521033114}
}
@article{appel-jim-97,
  author = {Andrew W. Appel and Trevor Jim},
  title = {Shrinking lambda expressions in linear time},
  journal = {Journal of Functional Programming},
  volume = {7},
  number = {5},
  year = {1997},
  pages = {515--540},
  url = {http://www.research.att.com/~trevor/papers/shrinking.ps.gz}
}
@inproceedings{appel-major-07,
  author = {Andrew W. Appel and Paul-Andr\'{e} Melli\`{e}s and
                 Christopher D. Richards and J\'{e}r\^{o}me Vouillon},
  title = {A very modal model of a modern, major, general type
                 system},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2007},
  pages = {109--122},
  url = {http://www.cs.princeton.edu/~appel/papers/modalmodel.pdf}
}
@book{appel-tiger-98,
  author = {Andrew Appel},
  title = {Modern Compiler Implementation in {ML}},
  publisher = {Cambridge University Press},
  year = {1998},
  url = {http://www.cs.princeton.edu/~appel/modern/ml/}
}
@inproceedings{appel-verismall-11,
  author = {Andrew W. Appel},
  title = {{VeriSmall}: Verified {Smallfoot} Shape Analysis},
  booktitle = {Certified Programs and Proofs (CPP)},
  month = dec,
  year = {2011},
  pages = {231--246},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {7086},
  url = {http://www.cs.princeton.edu/~appel/papers/verismall.pdf}
}
@inproceedings{appel-vst-11,
  author = {Andrew W. Appel},
  title = {Verified Software Toolchain},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {1--17},
  month = mar,
  year = {2011},
  series = {Lecture Notes in Computer Science},
  volume = {6602},
  publisher = {Springer},
  url = {https://www.cs.princeton.edu/~appel/papers/vst.pdf}
}
@article{apt-81,
  author = {Krzysztof R. Apt},
  title = {Ten Years of {Hoare's} Logic: {A} Survey---Part {I}},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {3},
  number = {4},
  year = {1981},
  pages = {431--483},
  url = {http://doi.acm.org/10.1145/357146.357150}
}
@article{ariola-klop-95,
  author = {Zena M. Ariola and Jan Willem Klop},
  title = {Equational term graph rewriting},
  journal = {Fundamenta Informaticæ},
  volume = {26},
  number = {3--4},
  year = {1996},
  pages = {207--240},
  url = {http://www.cwi.nl/ftp/CWIreports/AP/CS-R9552.ps.Z}
}
@article{arnold-crubille-88,
  author = {Andr{\'e} Arnold and Paul Crubillé},
  title = {A Linear Algorithm to Solve Fixed-Point Equations on
                 Transition Systems},
  journal = {Information Processing Letters},
  volume = {29},
  number = {2},
  year = {1988},
  pages = {57--66},
  url = {http://dx.doi.org/10.1016/0020-0190(88)90029-4}
}
@article{arnold-nivat-80,
  author = {André Arnold and Maurice Nivat},
  year = {1980},
  journal = {Fundamenta Informaticæ},
  volume = {3},
  number = {4},
  pages = {181--205},
  title = {{T}he Metric Space of Infinite Trees. {A}lgebraic And
                 Topological Properties}
}
@book{arnoldus-12,
  author = {Jeroen Arnoldus and Mark G. J. van den Brand and
                 Alexander Serebrenik and Jacob Brunekreef},
  title = {Code Generation with Templates},
  series = {Atlantis Studies in Computing},
  volume = {1},
  publisher = {Atlantis Press},
  year = {2012},
  url = {https://link.springer.com/book/10.2991/978-94-91216-56-5}
}
@inproceedings{articheck,
  title = {Articheck: well-typed generic fuzzing for module
                 interfaces},
  author = {Thomas Braibant and Jonathan Protzenko and Gabriel
                 Scherer},
  booktitle = {ACM Workshop on ML},
  year = {2014},
  month = aug,
  url = {http://www.lix.polytechnique.fr/Labo/Gabriel.Scherer/doc/articheck-long.pdf}
}
@article{asai-09,
  author = {Kenichi Asai},
  title = {On typing delimited continuations: three new solutions
                 to the printf problem},
  journal = {Higher-Order and Symbolic Computation},
  volume = {22},
  number = {3},
  pages = {275--291},
  year = {2009},
  url = {http://pllab.is.ocha.ac.jp/~asai/papers/tr08-2.pdf}
}
@inproceedings{asai-kameyama-07,
  author = {Kenichi Asai and Yukiyoshi Kameyama},
  title = {Polymorphic Delimited Continuations},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  pages = {239--254},
  month = nov,
  year = {2007},
  series = {Lecture Notes in Computer Science},
  volume = {4807},
  publisher = {Springer},
  url = {http://logic.cs.tsukuba.ac.jp/~kam/paper/aplas07.pdf}
}
@article{asai-kiselyov-shan-11,
  author = {Kenichi Asai and Oleg Kiselyov and Chung{-}chieh
                 Shan},
  title = {Functional un{\(\vert\)}unparsing},
  journal = {Higher-Order and Symbolic Computation},
  volume = {24},
  number = {4},
  pages = {311--340},
  year = {2011},
  url = {https://doi.org/10.1007/s10990-012-9087-2}
}
@article{aspinall-07,
  author = {David Aspinall and Lennart Beringer and Martin Hofmann
                 and Hans{-}Wolfgang Loidl and Alberto Momigliano},
  title = {A program logic for resources},
  journal = {Theoretical Computer Science},
  volume = {389},
  number = {3},
  pages = {411--445},
  year = {2007},
  url = {https://doi.org/10.1016/j.tcs.2007.09.003}
}
@article{aspinall-compagnoni-03,
  author = {David Aspinall and Adriana B. Compagnoni},
  title = {Heap-Bounded Assembly Language},
  journal = {Journal of Automated Reasoning},
  volume = {31},
  number = {3-4},
  pages = {261--302},
  year = {2003},
  url = {https://doi.org/10.1023/B:JARS.0000021014.79255.33}
}
@inproceedings{aspinall-hofmann-02,
  author = {David Aspinall and Martin Hofmann},
  title = {Another Type System for In-Place Update},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {36--52},
  month = apr,
  year = {2002},
  series = {Lecture Notes in Computer Science},
  volume = {2305},
  publisher = {Springer},
  url = {https://homepages.inf.ed.ac.uk/da/papers/readonly/readonly.pdf}
}
@article{aspinall-hofmann-konecky-08,
  author = {David Aspinall and Martin Hofmann and Michal Kone{\v
                 c}n{\'{y}}},
  title = {A type system with usage aspects},
  journal = {Journal of Functional Programming},
  volume = {18},
  number = {2},
  pages = {141--178},
  year = {2008},
  url = {http://dx.doi.org/10.1017/S0956796807006399}
}
@misc{astree,
  author = {Patrick Cousot and Radhia Cousot and Jérôme Feret
                 and Antoine Miné and Xavier Rival},
  title = {The {Astrée} Static Analyzer},
  year = {2011},
  note = {\url{http://www.astree.ens.fr/}},
  url = {http://www.astree.ens.fr/}
}
@article{atkey-09,
  author = {Robert Atkey},
  title = {Parameterised Notions of Computation},
  journal = {Journal of Functional Programming},
  year = {2009},
  volume = {19},
  number = {3--4},
  pages = {355--376},
  url = {http://homepages.inf.ed.ac.uk/ratkey/paramnotions-jfp.pdf}
}
@article{atkey-11,
  title = {Amortised Resource Analysis with Separation Logic},
  author = {Robert Atkey},
  year = {2011},
  journal = {Logical Methods in Computer Science},
  volume = {7},
  number = {2:17},
  pages = {1--33},
  url = {https://lmcs.episciences.org/685/pdf}
}
@inproceedings{atkey-amortised-10,
  author = {Robert Atkey},
  title = {Amortised Resource Analysis with Separation Logic},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {85--103},
  year = {2010},
  volume = {6012},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://personal.cis.strath.ac.uk/~raa/amortised-sep-logic.pdf}
}
@inproceedings{atkey-hoas-09,
  author = {Robert Atkey},
  title = {Syntax for free: representing syntax with binding
                 using parametricity},
  booktitle = {Typed Lambda Calculi and Applications (TLCA)},
  pages = {35--49},
  year = {2009},
  volume = {5608},
  series = {Lecture Notes in Computer Science},
  month = jul,
  publisher = {Springer},
  url = {https://personal.cis.strath.ac.uk/~raa/syntaxforfree.pdf}
}
@inproceedings{atkey-lindley-yallop-09,
  author = {Robert Atkey and Sam Lindley and Jeremy Yallop},
  title = {Unembedding Domain-Specific languages},
  booktitle = {Haskell symposium},
  pages = {37--48},
  year = {2009},
  month = sep,
  url = {http://personal.cis.strath.ac.uk/~raa/unembedding.pdf}
}
@article{audebaud-zucca-99,
  author = {Philippe Audebaud and Elena Zucca},
  title = {Deriving Proof Rules from Continuation Semantics},
  journal = {Formal Aspects of Computing},
  volume = {11},
  number = {4},
  pages = {426--447},
  year = {1999},
  url = {https://doi.org/10.1007/s001650050041}
}
@inproceedings{augustsson-93,
  author = {Lennart Augustsson},
  title = {Implementing {Haskell} Overloading},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  pages = {65--73},
  year = {1993},
  url = {http://dl.acm.org/citation.cfm?id=165191}
}
@unpublished{augustsson-carlsson-99,
  title = {An Exercise in Dependent Types: A Well-Typed
                 Interpreter},
  author = {Lennart Augustsson and Magnus Carlsson},
  note = {Workshop on Dependent Types in Programming},
  year = {1999},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.2895}
}
@book{autebert-94,
  author = {Jean-Michel Autebert},
  title = {Théorie des langages et des automates},
  publisher = {Masson},
  year = {1994}
}
@incollection{autebert-97,
  author = {Jean-Michel Autebert and Jean Berstel and Luc
                 Boasson},
  booktitle = {Handbook of Formal Languages},
  title = {Context-Free Languages and Push-Down Automata},
  publisher = {Springer},
  year = {1997},
  volume = {1},
  pages = {111--174},
  url = {http://www-igm.univ-mlv.fr/~berstel/Articles/CFLPDA.ps.gz}
}
@inproceedings{autosubst-15,
  author = {Steven Sch{\"{a}}fer and Tobias Tebbi and Gert
                 Smolka},
  title = {{Autosubst}: Reasoning with {de Bruijn} Terms and
                 Parallel Substitutions},
  booktitle = {Interactive Theorem Proving (ITP)},
  pages = {359--374},
  month = aug,
  year = {2015},
  series = {Lecture Notes in Computer Science},
  volume = {9236},
  publisher = {Springer},
  url = {https://www.ps.uni-saarland.de/Publications/documents/SchaeferEtAl_2015_Autosubst_-Reasoning.pdf}
}
@inproceedings{avigad-donnelly-04,
  author = {Jeremy Avigad and Kevin Donnelly},
  title = {Formalizing {$O$} Notation in {Isabelle/HOL}},
  booktitle = {International Joint Conference on Automated
                 Reasoning},
  pages = {357--371},
  month = jul,
  year = {2004},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {3097},
  url = {https://www.andrew.cmu.edu/user/avigad/Papers/bigo.pdf}
}
@inproceedings{ayache-amadio-regis-gianas-12,
  author = {Nicholas Ayache and Roberto M. Amadio and Yann
                 Régis{-}Gianas},
  title = {Certifying and Reasoning on Cost Annotations in {C}
                 Programs},
  booktitle = {Formal Methods for Industrial Critical Systems},
  pages = {32--46},
  month = aug,
  year = {2012},
  series = {Lecture Notes in Computer Science},
  volume = {7437},
  publisher = {Springer},
  url = {https://hal.inria.fr/hal-00702665}
}
@inproceedings{aycock-horspool-00,
  author = {John Aycock and Nigel Horspool},
  title = {Simple Generation of Static Single-Assignment Form},
  booktitle = {Compiler Construction (CC)},
  year = {2000},
  volume = {1781},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://pages.cpsc.ucalgary.ca/~aycock/papers/ssa.ps}
}
@inproceedings{aydemir-08,
  author = {Brian Aydemir and Arthur Chargu{\'e}raud and {Benjamin
                 C.} Pierce and Randy Pollack and Stephanie Weirich},
  booktitle = {Principles of Programming Languages ({POPL})},
  title = {Engineering Formal Metatheory},
  month = jan,
  year = {2008},
  pages = {3--15},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/binders.pdf}
}
@article{bach-poulsen-18,
  author = {Casper Bach Poulsen and Arjen Rouvoet and Andrew
                 Tolmach and Robbert Krebbers and Eelco Visser},
  title = {Intrinsically-typed definitional interpreters for
                 imperative languages},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {2},
  number = {{POPL}},
  pages = {16:1--16:34},
  year = {2018},
  url = {https://doi.org/10.1145/3158104}
}
@article{baker-77,
  author = {Henry G. Baker},
  title = {List Processing in Real Time on a Serial Computer},
  journal = {Communications of the {ACM}},
  volume = {21},
  number = {4},
  month = apr,
  year = {1978},
  pages = {280--294},
  url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.468.2631&rep=rep1&type=pdf}
}
@article{baker-91,
  author = {Henry G. Baker},
  title = {Shallow binding makes functional arrays fast},
  journal = {{ACM} {SIGPLAN} Notices},
  volume = {26},
  number = {8},
  pages = {145--147},
  year = {1991},
  url = {https://doi.org/10.1145/122598.122614}
}
@inproceedings{baker-conquer-90,
  author = {Henry G. Baker},
  title = {Unify and conquer (Garbage, Updating, Aliasing,
                 \ldots) in Functional Languages},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  month = jun,
  year = {1990},
  pages = {218--226},
  url = {http://home.pipeline.com/~hbaker1/Share-Unify.ps.gz}
}
@inproceedings{balabonski-pottier-protzenko-mezzo-14,
  author = {Thibaut Balabonski and François Pottier and Jonathan
                 Protzenko},
  title = {Type Soundness and Race Freedom for {Mezzo}},
  booktitle = {Proceedings of the 12th International Symposium on
                 Functional and Logic Programming {(FLOPS 2014)}},
  month = jun,
  year = {2014},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {8475},
  pages = {253--269},
  url = {http://cambium.inria.fr/~fpottier/publis/bpp-mezzo.pdf}
}
@article{balabonski-pottier-protzenko-mezzo-journal-16,
  author = {Thibaut Balabonski and François Pottier and Jonathan
                 Protzenko},
  title = {The Design and Formalization of {Mezzo}, a
                 Permission-Based Programming Language},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {38},
  number = {4},
  pages = {14:1--14:94},
  month = aug,
  year = {2016},
  url = {http://cambium.inria.fr/~fpottier/publis/bpp-mezzo-journal.pdf}
}
@inproceedings{balat-dicosmo-fiore-02,
  author = {Vincent Balat and Roberto {Di Cosmo} and Marcelo
                 Fiore},
  title = {Remarks on Isomorphisms in Typed Lambda Calculi with
                 Empty and Sum Type},
  booktitle = {Logic in Computer Science (LICS)},
  year = {2002},
  month = jul,
  url = {http://www.cl.cam.ac.uk/~mpf23/papers/Types/remarks.ps.gz}
}
@inproceedings{banatre-bryce-lemetayer-94,
  author = {Jean-Pierre Banâtre and Ciarán Bryce and Daniel {Le
                 Métayer}},
  title = {Compile-time detection of information flow in
                 sequential programs},
  booktitle = {European Symposium on Research in Computer Security},
  year = {1994},
  publisher = {Springer},
  pages = {55--74},
  series = {Lecture Notes in Computer Science},
  volume = {875},
  url = {ftp://ftp.irisa.fr/local/lande/dlm-esorics94.ps.Z}
}
@inproceedings{banerjee-heintze-riecke-01,
  author = {Anindya Banerjee and Nevin Heintze and Jon G. Riecke},
  title = {Design and Correctness of Program Transformations
                 based on Control-flow Analysis},
  booktitle = {International Symposium on Theoretical Aspects of
                 Computer Software (TACS)},
  pages = {420--447},
  year = {2001},
  volume = {2215},
  series = {Lecture Notes in Computer Science},
  month = oct,
  publisher = {Springer},
  url = {http://www.cis.ksu.edu/~ab/Publications/pcfa.ps.gz}
}
@inproceedings{banerjee-heintze-riecke-99,
  author = {Anindya Banerjee and Nevin Heintze and Jon G. Riecke},
  title = {Region Analysis and the Polymorphic Lambda Calculus},
  booktitle = {Logic in Computer Science (LICS)},
  month = jul,
  year = {1999},
  pages = {88--97},
  url = {http://www.cs.ucla.edu/~palsberg/tba/papers/banerjee-heintze-riecke-lics99.pdf}
}
@techreport{banerjee-naumann-01,
  author = {Anindya Banerjee and David A. Naumann},
  title = {A Simple Semantics and Static Analysis for {Java}
                 Security},
  institution = {Stevens Institute of Technology},
  number = {2001-1},
  year = {2001},
  month = jun,
  url = {http://guinness.cs.stevens-tech.edu/~naumann/publications/tr2001.ps}
}
@inproceedings{banerjee-naumann-05,
  author = {Anindya Banerjee and David A. Naumann},
  title = {State based ownership, reentrance, and encapsulation},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  pages = {387--411},
  year = {2005},
  volume = {3586},
  series = {Lecture Notes in Computer Science},
  month = jul,
  publisher = {Springer},
  url = {https://guinness.cs.stevens-tech.edu/~naumann/publications/ecoop.pdf}
}
@inproceedings{banerjee-naumann-csfw-02,
  author = {Anindya Banerjee and David Naumann},
  title = {Secure Information Flow and Pointer Confinement in a
                 {Java}-like Language},
  booktitle = {{IEEE} Computer Security Foundations Workshop},
  pages = {253--267},
  month = jun,
  year = {2002},
  url = {http://www.cs.stevens-tech.edu/~naumann/publications/csfw15.ps}
}
@article{banerjee-naumann-nikouei-18,
  author = {Anindya Banerjee and David A. Naumann and Mohammad
                 Nikouei},
  title = {A Logical Analysis of Framing for Specifications with
                 Pure Method Calls},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {40},
  number = {2},
  pages = {6:1--6:90},
  year = {2018},
  url = {https://doi.org/10.1145/3174801}
}
@inproceedings{banerjee-naumann-popl-02,
  author = {Anindya Banerjee and David A. Naumann},
  title = {Representation Independence, Confinement, and Access
                 Control},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2002},
  pages = {166--177},
  url = {http://guinness.cs.stevens-tech.edu/~naumann/publications/BanerjeeNaumann.ps}
}
@inproceedings{banerjee-naumann-rosenberg-08,
  author = {Anindya Banerjee and David A. Naumann and Stan
                 Rosenberg},
  title = {Regional Logic for Local Reasoning about Global
                 Invariants},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  series = {Lecture Notes in Computer Science},
  volume = {5142},
  pages = {387--411},
  publisher = {Springer},
  month = jul,
  year = {2008},
  url = {https://doi.org/10.1007/978-3-540-70592-5_17}
}
@techreport{barber-dill-96,
  author = {Andrew Barber},
  title = {Dual Intuitionistic Linear Logic},
  institution = {Laboratory for Foundations of Computer Science, School
                 of Informatics at the University of Edinburgh},
  year = {1996},
  number = {ECS-LFCS-96-347},
  month = sep,
  url = {http://www.lfcs.inf.ed.ac.uk/reports/96/ECS-LFCS-96-347/}
}
@book{barendregt,
  author = {Henk P. Barendregt},
  title = {The Lambda Calculus, Its Syntax and Semantics},
  publisher = {Elsevier},
  year = {1984},
  url = {http://www.elsevier.com/wps/find/bookdescription.cws_home/501727/description}
}
@incollection{barendregt-90,
  author = {Henk P. Barendregt},
  title = {Functional Programming and Lambda Calculus},
  booktitle = {Handbook of Theoretical Computer Science},
  pages = {321--363},
  publisher = {Elsevier},
  year = {1990},
  editor = {J. Van Leeuwen}
}
@inproceedings{barendsen-smesters-95,
  author = {Erik Barendsen and Sjaak Smetsers},
  title = {Uniqueness Type Inference},
  booktitle = {Programming Languages: Implementations, Logics, and
                 Programs (PLILP)},
  year = {1995},
  pages = {189--206},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {982},
  url = {http://dx.doi.org/10.1007/BFb0026821}
}
@inproceedings{barnett-pure-04,
  author = {Mike Barnett and David A. Naumann and Wolfram Schulte
                 and Qi Sun},
  title = {99.44\% pure: Useful Abstractions in Specifications},
  booktitle = {Formal Techniques for {Java}-like Programs},
  year = {2004},
  url = {http://www.cs.ru.nl/ftfjp/2004/Purity.pdf}
}
@inproceedings{barnett-spec-04,
  author = {Mike Barnett and K. Rustan M. Leino and Wolfram
                 Schulte},
  title = {The {Spec\#} programming system: An overview},
  booktitle = {Construction and Analysis of Safe, Secure and
                 Interoperable Smart devices (CASSIS)},
  year = {2004},
  volume = {3362},
  pages = {49--69},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://research.microsoft.com/~leino/papers/krml136.pdf}
}
@article{barrett-00,
  author = {Chris Barrett and Riko Jacob and Madhav Marathe},
  title = {Formal Language Constrained Path Problems},
  journal = {SIAM Journal on Computing},
  year = {2000},
  volume = {30},
  number = {3},
  pages = {809--837},
  url = {http://www.brics.dk/~rjacob/Publications/regpath.ps.gz},
  alturl = {http://epubs.siam.org/sam-bin/getfile/SICOMP/articles/33771.pdf}
}
@article{barros-ierusalimschy-08,
  author = {Alexandra Barros and Roberto Ierusalimschy},
  title = {Eliminating Cycles in Weak Tables},
  journal = {Journal of Universal Computer Science},
  volume = {14},
  number = {21},
  pages = {3481--3497},
  year = {2008},
  url = {https://www.jucs.org/jucs_14_21/eliminating_cycles_in_weak/jucs_14_21_3481_3497_barros.pdf}
}
@techreport{bartels-96,
  author = {Frank Bartels and Friedrich von Henke and Holger
                 Pfeifer and Harald Rue{\ss}},
  title = {Mechanizing Domain Theory},
  institution = {Universit{\"a}t Ulm, Fakult{\"a}t f{\"u}r Informatik},
  year = {1996},
  number = {96-10},
  type = {Ulmer Informatik-Berichte},
  url = {http://www.csl.sri.com/users/ruess/papers/Fixpoints/fixpoints-domains3.ps.gz}
}
@inproceedings{barthe-06,
  author = {Gilles Barthe and Julien Forest and David Pichardie
                 and Vlad Rusu},
  title = {Defining and Reasoning About Recursive Functions: {A}
                 Practical Tool for the {Coq} Proof Assistant},
  booktitle = {Functional and Logic Programming},
  pages = {114--129},
  month = apr,
  year = {2006},
  series = {Lecture Notes in Computer Science},
  volume = {3945},
  publisher = {Springer},
  url = {http://people.irisa.fr/David.Pichardie/papers/flops06.pdf}
}
@inproceedings{barthe-crubille-dal-lago-gavazzo-20,
  author = {Gilles Barthe and Rapha{\"{e}}lle Crubillé and Ugo
                 Dal Lago and Francesco Gavazzo},
  title = {On the Versatility of Open Logical Relations --
                 Continuity, Automatic Differentiation, and a
                 Containment Theorem},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {12075},
  pages = {56--83},
  publisher = {Springer},
  month = apr,
  year = {2020},
  url = {https://doi.org/10.1007/978-3-030-44914-8_3}
}
@article{barthe-hatcliff-sorensen-99,
  author = {Gilles Barthe and John Hatcliff and Morten Heine
                 S{\o}rensen},
  title = {{CPS} Translations and Applications: The Cube and
                 Beyond},
  journal = {Higher-Order and Symbolic Computation},
  volume = {12},
  number = {2},
  pages = {125--170},
  year = {1999},
  url = {https://doi.org/10.1023/A:1010000206149}
}
@inproceedings{barthwal-norrish-09,
  author = {Aditi Barthwal and Michael Norrish},
  title = {Verified, Executable Parsing},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2009},
  pages = {160--174},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {5502},
  url = {http://users.cecs.anu.edu.au/~aditi/esop09_submission_16.pdf}
}
@inproceedings{bartoletti-al-01,
  author = {Massimo Bartoletti and Pierpaolo Degano and GianLuigi
                 Ferrari},
  title = {Static Analysis for Stack Inspection},
  booktitle = {International Workshop on Concurrency and
                 Coordination},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {54},
  publisher = {Elsevier},
  year = {2001}
}
@inproceedings{bauer-hofmann-karbyshev-13,
  author = {Andrej Bauer and Martin Hofmann and Aleksandr
                 Karbyshev},
  title = {On Monadic Parametricity of Second-Order Functionals},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  pages = {225--240},
  month = mar,
  year = {2013},
  series = {Lecture Notes in Computer Science},
  volume = {7794},
  publisher = {Springer},
  url = {http://www2.in.tum.de/bib/files/Bauer13Parametricity.pdf}
}
@article{bauer-pretnar-13,
  author = {Andrej Bauer and Matija Pretnar},
  title = {An Effect System for Algebraic Effects and Handlers},
  journal = {Logical Methods in Computer Science},
  volume = {10},
  number = {4},
  year = {2014},
  url = {https://arxiv.org/pdf/1306.6316.pdf}
}
@article{bauer-pretnar-15,
  author = {Andrej Bauer and Matija Pretnar},
  title = {Programming with algebraic effects and handlers},
  journal = {Journal of Logical and Algebraic Methods in
                 Programming},
  volume = {84},
  number = {1},
  pages = {108--123},
  year = {2015},
  url = {http://math.andrej.com/wp-content/uploads/2012/03/eff.pdf}
}
@article{baydin-pearlmutter-radual-siskind-17,
  author = {Atilim Gunes Baydin and Barak A. Pearlmutter and
                 Alexey Andreyevich Radul and Jeffrey Mark Siskind},
  title = {Automatic Differentiation in Machine Learning: a
                 Survey},
  journal = {Journal of Machine Learning Research},
  year = {2018},
  volume = {18},
  number = {153},
  pages = {1--43},
  url = {http://jmlr.org/papers/v18/17-468.html}
}
@article{beaven-stansifer-93,
  author = {Mike Beaven and Ryan Stansifer},
  title = {Explaining type errors in polymorphic languages},
  journal = {ACM Letters on Programming Languages and Systems},
  volume = {2},
  number = {4},
  pages = {17--30},
  month = mar,
  year = {1993},
  url = {http://www.cs.fit.edu/~ryan/papers/explain.ps.gz}
}
@inproceedings{becker-al-19,
  author = {Brett A. Becker and Paul Denny and Raymond Pettit and
                 Durell Bouchard and Dennis J. Bouvier and Brian
                 Harrington and Amir Kamil and Amey Karkare and Chris
                 McDonald and Peter{-}Michael Osera and Janice L. Pearce
                 and James Prather},
  title = {Compiler Error Messages Considered Unhelpful: The
                 Landscape of Text-Based Programming Error Message
                 Research},
  booktitle = {Proceedings of the Working Group Reports on Innovation
                 and Technology in Computer Science Education},
  pages = {177--210},
  month = jul,
  year = {2019},
  url = {https://web.eecs.umich.edu/~akamil/papers/iticse19.pdf}
}
@inproceedings{becker-al-21,
  author = {Brett A. Becker and Paul Denny and James Prather and
                 Raymond Pettit and Robert Nix and Catherine Mooney},
  title = {Towards Assessing the Readability of Programming Error
                 Messages},
  booktitle = {Australasian Computing Education Conference},
  pages = {181--188},
  month = feb,
  year = {2021},
  url = {https://doi.org/10.1145/3441636.3442320}
}
@inproceedings{belanger-monnier-pientka-13,
  author = {Olivier {Savary Belanger} and Stefan Monnier and
                 Brigitte Pientka},
  title = {Programming Type-Safe Transformations Using
                 Higher-Order Abstract Syntax},
  booktitle = {Certified Programs and Proofs (CPP)},
  pages = {243--258},
  month = dec,
  year = {2013},
  series = {Lecture Notes in Computer Science},
  volume = {8307},
  publisher = {Springer},
  url = {https://link.springer.com/chapter/10.1007/978-3-319-03545-1_16}
}
@article{belanger-monnier-pientka-15,
  author = {Olivier {Savary Belanger} and Stefan Monnier and
                 Brigitte Pientka},
  title = {Programming Type-Safe Transformations Using
                 Higher-Order Abstract Syntax},
  journal = {Journal of Formalized Reasoning},
  year = {2015},
  volume = {8},
  number = {1},
  month = dec,
  url = {https://jfr.unibo.it/article/view/5122/5330}
}
@inproceedings{bell-08,
  author = {C. J. Bell and Robert Dockins and Aquinas Hobor and
                 Andrew W. Appel and David Walker},
  title = {Comparing Semantic and Syntactic Methods in Mechanized
                 Proof Frameworks},
  booktitle = {International Workshop on Proof-Carrying Code (PCC)},
  year = {2008},
  month = jun,
  url = {http://www.cs.princeton.edu/~rdockins/pubs/semsyn.pdf}
}
@inproceedings{bell-bellegarde-hook-97,
  author = {Jeffrey M. Bell and Françoise Bellegarde and James
                 Hook},
  title = {Type-driven Defunctionalization},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = aug,
  year = {1997},
  url = {http://doi.acm.org/10.1145/258949.258953}
}
@techreport{bell-lapadula-75,
  author = {D. E. Bell and Leonard J. LaPadula},
  title = {Secure Computer Systems: Unified Exposition and
                 {Multics} Interpretation},
  year = {1975},
  month = jul,
  number = {MTR-2997},
  institution = {The {MITRE} Corp.},
  url = {http://niatec.info/pdf/bell76.pdf}
}
@article{bellegarde-hook-94,
  author = {Fran{\c{c}}oise Bellegarde and James Hook},
  title = {Substitution: {A} Formal Methods Case Study Using
                 Monads and Transformations},
  journal = {Science of Computer Programming},
  volume = {23},
  number = {2-3},
  pages = {287--311},
  year = {1994},
  url = {https://doi.org/10.1016/0167-6423(94)00022-0}
}
@article{bender-fineman-gilbert-tarjan-16,
  author = {Michael A. Bender and Jeremy T. Fineman and Seth
                 Gilbert and Robert E. Tarjan},
  title = {A New Approach to Incremental Cycle Detection and
                 Related Problems},
  journal = {{ACM} Transactions on Algorithms},
  volume = {12},
  number = {2},
  pages = {14:1--14:22},
  year = {2016},
  url = {https://doi.org/10.1145/2756553}
}
@article{bender-palsberg-19,
  author = {John Bender and Jens Palsberg},
  title = {A formalization of {Java}'s concurrent access modes},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{OOPSLA}},
  pages = {142:1--142:28},
  year = {2019},
  url = {https://johnbender.us/assets/oopsla-2019.pdf}
}
@inproceedings{bengtson-12,
  author = {Jesper Bengtson and Jonas Braband Jensen and Lars
                 Birkedal},
  title = {Charge! {A} Framework for Higher-Order Separation
                 Logic in {Coq}},
  booktitle = {Interactive Theorem Proving (ITP)},
  pages = {315--331},
  month = aug,
  year = {2012},
  url = {http://cs.au.dk/~birke/papers/charge-conf.pdf}
}
@inproceedings{benton-04,
  author = {Nick Benton},
  title = {Simple relational correctness proofs for static
                 analyses and program transformations},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {14--25},
  month = jan,
  year = {2004},
  url = {https://www.microsoft.com/en-us/research/publication/simple-relational-correctness-proofs-for-static-analyses-and-program-transformations/}
}
@inproceedings{berdine-calcagno-ohearn-05,
  author = {Josh Berdine and Cristiano Calcagno and Peter W.
                 O'Hearn},
  title = {Symbolic Execution with Separation Logic},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  year = {2005},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3780},
  pages = {52--68},
  url = {http://www.dcs.qmul.ac.uk/~berdine/papers/execution.pdf}
}
@inproceedings{berdine-decidable-fragment-04,
  author = {Josh Berdine and Cristiano Calcagno and Peter W.
                 O'Hearn},
  title = {A Decidable Fragment of Separation Logic},
  booktitle = {Foundations of Software Technology and Theoretical
                 Computer Science (FSTTCS)},
  month = dec,
  year = {2004},
  pages = {97--109},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3328},
  url = {http://www.cs.ucl.ac.uk/staff/p.ohearn/papers/unroll_collapse.pdf}
}
@article{berdine-linear-continuations-02,
  author = {Josh Berdine and Peter W. O'Hearn and Uday S. Reddy
                 and Hayo Thielecke},
  title = {Linear Continuation-Passing},
  journal = {Higher-Order and Symbolic Computation},
  year = {2002},
  volume = {15},
  number = {2--3},
  pages = {181--208},
  url = {http://www.cs.bham.ac.uk/~hxt/research/LinCP.pdf}
}
@inproceedings{berdine-ohearn-06,
  author = {Josh Berdine and Peter W. O'Hearn},
  title = {Strong Update, Disposal, and Encapsulation in Bunched
                 Typing},
  booktitle = {Mathematical Foundations of Programming Semantics},
  series = {Electronic Notes in Theoretical Computer Science},
  publisher = {Elsevier},
  volume = {158},
  month = may,
  year = {2006},
  pages = {81--98},
  url = {http://research.microsoft.com/pubs/73584/bil.pdf}
}
@inproceedings{berger-09,
  author = {Martin Berger},
  title = {Program Logics for Sequential Higher-Order Control},
  booktitle = {Fundamentals of Software Engineering},
  series = {Lecture Notes in Computer Science},
  volume = {5961},
  pages = {194--211},
  publisher = {Springer},
  month = apr,
  year = {2009},
  url = {http://users.sussex.ac.uk/~mfb21/publications/fsen09/fsen09-short.pdf}
}
@inproceedings{berger-honda-yoshida-05,
  author = {Martin Berger and Kohei Honda and Nobuko Yoshida},
  title = {A logical analysis of aliasing in imperative
                 higher-order functions},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2005},
  pages = {280--293},
  url = {http://doi.acm.org/10.1145/1086365.1086401}
}
@inproceedings{bergeron-al-00,
  author = {M. Debbabi and E. Giasson and B. Ktari and F. Michaud
                 and N. Tawbi},
  title = {Secure Self-Certified {COTS}},
  booktitle = {{IEEE} International Workshop on Enterprise Security
                 {(WETICE'00)}},
  month = jun,
  year = {2000},
  url = {http://www.ift.ulaval.ca/~lsfm/lsfm_eng/Publications/wetice2000_2.pdf}
}
@inproceedings{bernardy-jansson-claessen-10,
  author = {Jean{-}Philippe Bernardy and Patrik Jansson and Koen
                 Claessen},
  title = {Testing Polymorphic Properties},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {6012},
  pages = {125--144},
  publisher = {Springer},
  month = mar,
  year = {2010},
  url = {http://publications.lib.chalmers.se/records/fulltext/local_99387.pdf}
}
@unpublished{bernstein-stark-95,
  author = {K. Bernstein and E. W. Stark},
  title = {Debugging Type Errors},
  year = {1995},
  month = nov,
  url = {http://bsd7.starkhome.cs.sunysb.edu/~stark/REPORTS/debugtype.ps.gz},
  note = {Unpublished}
}
@inproceedings{berthomieu-sagazan-95,
  author = {Bernard Berthomieu and Camille {le Moniès de
                 Sagazan}},
  title = {A Calculus of Tagged Types, with applications to
                 process languages},
  booktitle = {Workshop on Types for Program Analysis},
  pages = {1--15},
  year = {1995},
  month = may,
  url = {http://www.laas.fr/~bernard/lcs/papers/tpa95.ps.gz}
}
@article{besson-al-01,
  author = {Frédéric Besson and Thomas P. Jensen and Daniel {Le
                 Métayer} and Tommy Thorn},
  title = {Model Checking Security Properties of Control Flow
                 Graphs},
  journal = {Journal of Computer Security},
  volume = {9},
  number = {3},
  year = {2001},
  pages = {217--250},
  url = {http://www.irisa.fr/lande/jensen/jcs.pdf}
}
@inproceedings{besson-al-02,
  author = {Frédéric Besson and Thomas {de Grenier de Latour}
                 and Thomas Jensen},
  title = {Secure Calling Contexts for Stack Inspection},
  pages = {76--87},
  month = oct,
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  year = {2002},
  url = {http://www.irisa.fr/lande/jensen/ppdp02.pdf}
}
@article{besson-blazy-wilkes-19,
  author = {Frédéric Besson and Sandrine Blazy and Pierre
                 Wilke},
  title = {{CompCertS}: a Memory-Aware Verified {C} Compiler
                 Using a Pointer as Integer Semantics},
  journal = {Journal of Automated Reasoning},
  volume = {63},
  number = {2},
  pages = {369--392},
  year = {2019},
  url = {https://doi.org/10.1007/s10817-018-9496-y}
}
@inproceedings{besson-cachera-jensen-pichardie-09,
  author = {Fr{\'e}d{\'e}ric Besson and David Cachera and Thomas
                 P. Jensen and David Pichardie},
  title = {Certified Static Analysis by Abstract Interpretation},
  booktitle = {Foundations of Security Analysis and Design},
  year = {2009},
  pages = {223--257},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5705},
  url = {https://people.irisa.fr/David.Pichardie/papers/fosad09.pdf}
}
@article{bhamidipaty-proebsting-98,
  author = {Achyutram Bhamidipaty and Todd A. Proebsting},
  title = {Very Fast {YACC}-Compatible Parsers (For Very Little
                 Effort)},
  journal = {Software: Practice and Experience},
  year = {1998},
  volume = {28},
  number = {2},
  pages = {181--190},
  month = feb,
  url = {https://www.cs.arizona.edu/sites/default/files/TR95-09.pdf}
}
@inproceedings{bhargavan-fournet-gordon-10,
  author = {Karthik Bhargavan and Cédric Fournet and Andy
                 Gordon},
  title = {Modular Verification of Security Protocol Code by
                 Typing},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {445--456},
  year = {2010},
  month = jan,
  url = {http://moscova.inria.fr/~karthik/pubs/modular-verification-of-security-protocols-by-typing-popl10.pdf}
}
@inproceedings{bhat-cleaveland-96,
  author = {Girish Bhat and Rance Cleaveland},
  title = {Efficient Local Model-Checking for Fragments of the
                 Modal $\mu$-Calculus},
  booktitle = {Tools and Algorithms for Construction and Analysis of
                 Systems (TACAS)},
  pages = {107--126},
  year = {1996},
  volume = {1055},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://www.cs.umd.edu/~rance/publications/papers/tacas96a.ps.gz}
}
@inproceedings{biere-bmc-99,
  author = {Armin Biere and Alessandro Cimatti and Edmund Clarke
                 and Yunshan Zhu},
  title = {Symbolic Model Checking Without {BDDs}},
  booktitle = {Tools and Algorithms for Construction and Analysis of
                 Systems (TACAS)},
  pages = {193--207},
  year = {1999},
  volume = {1579},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://www.inf.ethz.ch/personal/biere/papers/BiereCimattiClarkeZhu-TACAS99.pdf}
}
@inproceedings{bierhoff-aldrich-07,
  author = {Kevin Bierhoff and Jonathan Aldrich},
  title = {Modular typestate checking of aliased objects},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2007},
  pages = {301--320},
  url = {http://www.cs.cmu.edu/~kbierhof/papers/typestate-verification.pdf}
}
@inproceedings{bierhoff-beckman-aldrich-09,
  author = {Kevin Bierhoff and Nels E. Beckman and Jonathan
                 Aldrich},
  title = {Practical {API} Protocol Checking with Access
                 Permissions},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jul,
  year = {2009},
  pages = {195--219},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5653},
  url = {http://www.cs.cmu.edu/~kbierhof/papers/permission-practice.pdf}
}
@inproceedings{biering-05,
  author = {Bodil Biering and Lars Birkedal and Noah Torp-Smith},
  title = {{BI} Hyperdoctrines and Higher-Order Separation
                 Logic},
  booktitle = {European Symposium on Programming (ESOP)},
  month = apr,
  year = {2005},
  pages = {233--247},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3444},
  url = {http://www.itu.dk/people/noah/papers/hyperdocs.pdf}
}
@article{biernacki-al-18,
  author = {Dariusz Biernacki and Maciej Pir{\'{o}}g and Piotr
                 Polesiuk and Filip Sieczkowski},
  title = {Handle with care: relational interpretation of
                 algebraic effects and handlers},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {2},
  number = {{POPL}},
  pages = {8:1--8:30},
  year = {2018},
  url = {https://doi.org/10.1145/3158096}
}
@article{biernacki-al-19,
  author = {Dariusz Biernacki and Maciej Pir{\'{o}}g and Piotr
                 Polesiuk and Filip Sieczkowski},
  title = {Abstracting algebraic effects},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{POPL}},
  pages = {6:1--6:28},
  year = {2019},
  url = {http://www.ii.uni.wroc.pl/~mpirog/papers/biernacki-al-popl19.pdf}
}
@article{biernacki-al-20,
  author = {Dariusz Biernacki and Maciej Pir{\'{o}}g and Piotr
                 Polesiuk and Filip Sieczkowski},
  title = {Binders by day, labels by night: effect instances via
                 lexically scoped handlers},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {{POPL}},
  pages = {48:1--48:29},
  year = {2020},
  url = {https://doi.org/10.1145/3371116}
}
@inproceedings{biernacki-lenglet-polesiuk-20,
  author = {Dariusz Biernacki and Sergue{\"{i}} Lenglet and Piotr
                 Polesiuk},
  title = {A complete normal-form bisimilarity for algebraic
                 effects and handlers},
  booktitle = {Formal Structures for Computation and Deduction
                 (FSCD)},
  pages = {7:1--7:22},
  year = {2020},
  series = {{Leibniz} International Proceedings in Informatics},
  volume = {167},
  url = {https://doi.org/10.4230/LIPICS.FSCD.2020.7}
}
@article{bird-hughes-87,
  author = {Richard S. Bird and John Hughes},
  title = {The alpha-beta Algorithm: An Exercise in Program
                 Transformation},
  journal = {Information Processing Letters},
  volume = {24},
  number = {1},
  year = {1987},
  pages = {53--57},
  url = {http://dx.doi.org/10.1016/0020-0190(87)90198-0}
}
@inproceedings{bird-meertens-98,
  author = {Richard Bird and Lambert Meertens},
  title = {Nested Datatypes},
  booktitle = {Mathematics of Program Construction (MPC)},
  pages = {52--67},
  year = {1998},
  volume = {1422},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.cs.ox.ac.uk/richard.bird/online/BirdMeertens98Nested.pdf}
}
@article{bird-paterson-99,
  title = {{de Bruijn} Notation as a Nested Datatype},
  author = {Richard Bird and Ross Paterson},
  url = {http://dx.doi.org/10.1017/S0956796899003366},
  journal = {Journal of Functional Programming},
  volume = {9},
  number = {1},
  pages = {77--91},
  month = jan,
  year = {1999}
}
@techreport{birkedal-alii-93,
  author = {Lars Birkedal and Nick Rothwell and Mads Tofte and
                 David N. Turner},
  semno = {D-181},
  title = {The {ML} Kit (Version 1)},
  institution = {Department of Computer Science, University of
                 Copenhagen},
  year = {1993},
  number = {DIKU 93/14},
  url = {http://www.it-c.dk/research/mlkit/}
}
@article{birkedal-et-al-21,
  author = {Lars Birkedal and Thomas Dinsdale{-}Young and
                 Arma{\"{e}}l Guéneau and Guilhem Jaber and Kasper
                 Svendsen and Nikos Tzevelekos},
  title = {Theorems for free from separation logic
                 specifications},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {{ICFP}},
  pages = {1--29},
  year = {2021},
  url = {https://doi.org/10.1145/3473586}
}
@article{birkedal-hoframe-06,
  author = {Lars Birkedal and Noah Torp-Smith and Hongseok Yang},
  title = {Semantics of separation-logic typing and higher-order
                 frame rules for {Algol}-like languages},
  journal = {Logical Methods in Computer Science},
  year = {2006},
  volume = {2},
  number = {5},
  month = nov,
  url = {http://arxiv.org/pdf/cs.LO/0610081}
}
@unpublished{birkedal-nakano-10,
  author = {Lars Birkedal and Jan Schwinghammer and Kristian
                 Støvring},
  title = {A Metric Model of Lambda Calculus with Guarded
                 Recursion},
  note = {Presented at FICS 2010},
  month = jul,
  year = {2010},
  url = {https://cs.au.dk/~birke/papers/nakano-conf.pdf}
}
@inproceedings{birkedal-popl-11,
  author = {Lars Birkedal and Bernhard Reus and Jan Schwinghammer
                 and Kristian Støvring and Jacob Thamsborg and Hongseok
                 Yang},
  title = {Step-indexed {Kripke} models over recursive worlds},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {119--132},
  year = {2011},
  month = jan,
  url = {http://www.eecs.qmul.ac.uk/~hyang/paper/popl11-long.pdf}
}
@inproceedings{birkedal-stovring-thamsborg-09,
  author = {Lars Birkedal and Kristian St{\o}vring and Jacob
                 Thamsborg},
  title = {Realizability Semantics of Parametric Polymorphism,
                 General References, and Recursive Types},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  pages = {456--470},
  month = mar,
  year = {2009},
  volume = {5504},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {https://cs.au.dk/~birke/papers/parametricity-state-metric-conf.pdf}
}
@article{birkedal-stovring-thamsborg-10,
  author = {Lars Birkedal and Kristian St{\o}vring and Jacob
                 Thamsborg},
  title = {Realisability Semantics of Parametric Polymorphism,
                 General References, and Recursive Types},
  journal = {Mathematical Structures in Computer Science},
  year = {2010},
  volume = {20},
  number = {4},
  pages = {655--703},
  url = {https://cs.au.dk/~birke/papers/parametricity-state-metric-journal.pdf}
}
@techreport{birkedal-stovring-thamsborg-solution-09,
  author = {Lars Birkedal and Kristian St{\o}vring and Jacob
                 Thamsborg},
  title = {The category-theoretic solution of recursive
                 metric-space quations},
  institution = {IT University of Copenhagen},
  year = {2009},
  number = {ITU-2009-119},
  url = {https://cs.au.dk/~birke/papers/ITU-TR-2009-119.pdf}
}
@article{birkedal-tofte-01,
  author = {Lars Birkedal and Mads Tofte},
  title = {A constraint-based region inference algorithm},
  journal = {Theoretical Computer Science},
  year = {2001},
  volume = {258},
  pages = {299--392},
  url = {http://www.itu.dk/people/birkedal/papers/conria.ps.gz}
}
@unpublished{birrell-03,
  author = {Andrew D. Birrell},
  title = {An Introduction to Programming with {C\#} Threads},
  note = {Manuscript},
  year = {2003},
  url = {http://birrell.org/andrew/papers/ThreadsCSharp.pdf}
}
@manual{bison,
  title = {Bison},
  author = {Charles Donnelly and Richard Stallman},
  month = sep,
  year = {2021},
  url = {http://www.gnu.org/software/bison/manual/}
}
@phdthesis{biswas-97,
  school = {University of Pennsylvania},
  title = {Dynamic Slicing in Higher-Order Programming
                 Languages},
  year = {1997},
  month = aug,
  pages = {151},
  author = {Sandip K. Biswas}
}
@inproceedings{biyacc-16,
  author = {Zirun Zhu and Yongzhe Zhang and Hsiang{-}Shang Ko and
                 Pedro Martins and Jo{\~{a}}o Saraiva and Zhenjiang Hu},
  title = {Parsing and reflective printing, bidirectionally},
  booktitle = {Software Language Engineering},
  pages = {2--14},
  month = nov,
  year = {2016},
  url = {http://research.nii.ac.jp/~hu/pub/sle16.pdf}
}
@article{biyacc-20,
  author = {Zirun Zhu and Hsiang{-}Shang Ko and Yongzhe Zhang and
                 Pedro Martins and Jo{\~{a}}o Saraiva and Zhenjiang Hu},
  title = {Unifying Parsing and Reflective Printing for Fully
                 Disambiguated Grammars},
  journal = {New Generation Computing},
  volume = {38},
  number = {3},
  pages = {423--476},
  year = {2020},
  url = {https://doi.org/10.1007/s00354-019-00082-y}
}
@article{blazy-leroy-09,
  author = {Sandrine Blazy and Xavier Leroy},
  title = {Mechanized Semantics for the {Clight} Subset of the
                 {C} Language},
  journal = {Journal of Automated Reasoning},
  volume = {43},
  number = {3},
  pages = {263--288},
  year = {2009},
  url = {https://xavierleroy.org/publi/Clight.pdf}
}
@inproceedings{blelloch-anderson-dhulipala-20,
  author = {Guy E. Blelloch and Daniel Anderson and Laxman
                 Dhulipala},
  title = {{ParlayLib} -- A Toolkit for Parallel Algorithms on
                 Shared-Memory Multicore Machines},
  booktitle = {Symposium on Parallelism in Algorithms and
                 Architectures},
  pages = {507--509},
  month = jul,
  year = {2020},
  url = {https://doi.org/10.1145/3350755.3400254}
}
@inproceedings{blelloch-greiner-95,
  author = {Guy E. Blelloch and John Greiner},
  title = {Parallelism in Sequential Functional Languages},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  pages = {226--237},
  year = {1995},
  url = {https://www.cs.cmu.edu/~blelloch/papers/BG95.pdf}
}
@inproceedings{blelloch-greiner-96,
  author = {Guy E. Blelloch and John Greiner},
  title = {A Provable Time and Space Efficient Implementation of
                 {NESL}},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {213--225},
  month = may,
  year = {1996},
  url = {http://www.cs.cmu.edu/~guyb/papers/BG96nesl.pdf}
}
@article{bobot-why3-15,
  author = {Fran{\c{c}}ois Bobot and Jean-Christophe
                 Filli{\^{a}}tre and Claude Marché and Andrei
                 Paskevich},
  title = {Let's verify this with {Why3}},
  journal = {Software Tools for Technology Transfer},
  volume = {17},
  number = {6},
  pages = {709--727},
  year = {2015},
  url = {https://hal.inria.fr/hal-00967132/}
}
@inproceedings{bocchino-09,
  author = {Robert L. {Bocchino Jr.} and Vikram S. Adve and Sarita
                 V. Adve and Marc Snir},
  title = {Parallel Programming Must Be Deterministic by
                 Default},
  booktitle = {USENIX Conference on Hot Topics in Parallelism
                 (HotPar)},
  year = {2009},
  pages = {1--6},
  url = {http://dpj.cs.illinois.edu/DPJ/Publications_files/DPJ-HotPar-2009.pdf}
}
@incollection{bocchino-13,
  author = {Robert L. {Bocchino Jr.}},
  title = {Alias Control for Deterministic Parallelism},
  editor = {Dave Clarke and James Noble and Tobias Wrigstad},
  booktitle = {Aliasing in Object-Oriented Programming. Types,
                 Analysis and Verification},
  pages = {156--195},
  year = {2013},
  url = {http://dx.doi.org/10.1007/978-3-642-36946-9_7},
  series = {Lecture Notes in Computer Science},
  volume = {7850},
  publisher = {Springer}
}
@inproceedings{bocchino-adve-11,
  author = {Robert L. {Bocchino Jr.} and Vikram S. Adve},
  title = {Types, Regions, and Effects for Safe Programming with
                 Object-Oriented Parallel Frameworks},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  pages = {306--332},
  month = jul,
  year = {2011},
  series = {Lecture Notes in Computer Science},
  volume = {6813},
  publisher = {Springer},
  url = {http://rob-bocchino.net/Professional/Publications_files/DPJ-ECOOP-2011-Frameworks.pdf}
}
@inproceedings{bocchino-dpj-09,
  author = {Robert L. {Bocchino Jr.} and Vikram S. Adve and Danny
                 Dig and Sarita V. Adve and Stephen Heumann and Rakesh
                 Komuravelli and Jeffrey Overbey and Patrick Simmons and
                 Hyojin Sung and Mohsen Vakilian},
  title = {A type and effect system for deterministic parallel
                 {Java}},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {97--116},
  month = oct,
  year = {2009},
  url = {http://rob-bocchino.net/Professional/Publications_files/Bocchino-OOPSLA-2009.pdf}
}
@inproceedings{bocchino-safe-11,
  author = {Robert L. {Bocchino Jr.} and Stephen Heumann and Nima
                 Honarmand and Sarita V. Adve and Vikram S. Adve and
                 Adam Welc and Tatiana Shpeisman},
  title = {Safe nondeterminism in a deterministic-by-default
                 parallel language},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {535--548},
  month = jan,
  year = {2011},
  url = {http://rob-bocchino.net/Professional/Publications_files/Bocchino-POPL-2011.pdf}
}
@inproceedings{bodei-al-99,
  author = {Chiara Bodei and Pierpaolo Degano and Flemming Nielson
                 and Hanne Riis Nielson},
  title = {Static Analysis of Processes for No Read-Up and No
                 Write-Down},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  month = mar,
  year = {1999},
  volume = {1578},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  pages = {120--134},
  url = {http://www.di.unipi.it/~chiara/publ-40/BDNN99.ps}
}
@article{bodin-gardner-jensen-schmitt-19,
  author = {Martin Bodin and Philippa Gardner and Thomas P. Jensen
                 and Alan Schmitt},
  title = {Skeletal semantics and their interpretations},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{POPL}},
  pages = {44:1--44:31},
  year = {2019},
  url = {https://doi.org/10.1145/3290357}
}
@article{boehm-adve-12,
  author = {Hans-J. Boehm and Sarita V. Adve},
  title = {You don't know jack about shared variables or memory
                 models},
  journal = {Communications of the {ACM}},
  volume = {55},
  number = {2},
  month = feb,
  year = {2012},
  pages = {48--54},
  url = {http://doi.acm.org/10.1145/2076450.2076465}
}
@article{boldo-pde-13,
  title = {Wave Equation Numerical Resolution: a Comprehensive
                 Mechanized Proof of a {C} Program},
  author = {Sylvie Boldo and Fran{\c c}ois Cl{\'e}ment and
                 Jean-Christophe Filli{\^a}tre and Micaela Mayero and
                 Guillaume Melquiond and Pierre Weis},
  url = {https://hal.inria.fr/hal-00649240},
  journal = {Journal of Automated Reasoning},
  publisher = {Springer},
  volume = {50},
  number = {4},
  pages = {423--456},
  year = {2013},
  month = apr
}
@article{bolivar-puente-17,
  author = {Juan Pedro {Bol{\'{\i}}var Puente}},
  title = {Persistence for the masses: {RRB}-vectors in a systems
                 language},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {1},
  number = {{ICFP}},
  pages = {16:1--16:28},
  year = {2017},
  url = {https://public.sinusoid.es/misc/immer/immer-icfp17.pdf}
}
@inproceedings{bonniot-02,
  author = {Daniel Bonniot},
  title = {Type-checking multi-methods in {ML} (a modular
                 approach)},
  booktitle = {Foundations of Object-Oriented Languages (FOOL)},
  year = {2002},
  month = jan,
  url = {http://gallium.inria.fr/~bonniot/bonniot02.ps}
}
@inproceedings{boogie,
  author = {Mike Barnett and Bor-Yuh Evan Chang and Rob DeLine and
                 Bart Jacobs},
  title = {Boogie: {A} Modular Reusable Verifier for
                 Object-Oriented Programs},
  booktitle = {Formal Methods for Components and Objects},
  year = {2005},
  month = nov,
  publisher = {Springer},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2005/01/krml160.pdf}
}
@phdthesis{boquist-99,
  author = {Urban Boquist},
  title = {Code Optimisation Techniques for Lazy Functional
                 Languages},
  school = {Chalmers University of Technology},
  year = {1999},
  month = apr,
  url = {http://www.cs.uu.nl/docs/vakken/macc/boquist.pdf}
}
@article{boreale-sangiorgi-98,
  author = {Michele Boreale and Davide Sangiorgi},
  title = {A fully abstract semantics for causality in the
                 $\pi$-calculus},
  journal = {Acta Informatica},
  volume = {35},
  number = {5},
  pages = {353--400},
  month = may,
  year = {1998},
  url = {http://link.springer.de/link/service/journals/00236/papers/8035005/80350353.pdf}
}
@inproceedings{borgstrom-chen-swamy-11,
  author = {Johannes Borgström and Juan Chen and and Nikhil
                 Swamy},
  title = {Verified Stateful Programs with Substructural State
                 and {Hoare} Types},
  booktitle = {Programming Languages Meets Program Verification
                 (PLPV)},
  year = {2011},
  month = jan,
  url = {http://research.microsoft.com/pubs/135430/plpv11k-borgstrom.pdf}
}
@inproceedings{bornat-00,
  author = {Richard Bornat},
  title = {Proving Pointer Programs in {Hoare} Logic},
  booktitle = {Mathematics of Program Construction (MPC)},
  year = {2000},
  pages = {102--126},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1837},
  url = {http://www.cs.mdx.ac.uk/staffpages/r_bornat/papers/MPC2000.pdf}
}
@inproceedings{bornat-calcagno-yang-06,
  author = {Richard Bornat and Cristiano Calcagno and Hongseok
                 Yang},
  title = {Variables as Resource in Separation Logic},
  booktitle = {Mathematical Foundations of Programming Semantics},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {155},
  pages = {247--276},
  publisher = {Elsevier},
  month = may,
  year = {2005},
  url = {https://doi.org/10.1016/j.entcs.2005.11.059}
}
@inproceedings{bornat-permission-accounting-05,
  author = {Richard Bornat and Cristiano Calcagno and Peter
                 O'Hearn and Matthew Parkinson},
  title = {Permission accounting in separation logic},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2005},
  pages = {259--270},
  url = {http://www.cs.ucl.ac.uk/staff/p.ohearn/papers/permissions_paper.pdf}
}
@inproceedings{bouajjani-esparza-maler-97,
  author = {Ahmed Bouajjani and Javier Esparza and Oded Maler},
  title = {Reachability Analysis of Pushdown Automata:
                 Application to Model-Checking},
  booktitle = {International Conference on Concurrency Theory
                 (CONCUR)},
  pages = {135--150},
  month = jul,
  year = {1997},
  url = {http://www-verimag.imag.fr/~maler/Papers/pda.pdf},
  series = {Lecture Notes in Computer Science},
  volume = {1243},
  publisher = {Springer}
}
@unpublished{boudol-castellani-01,
  author = {Gérard Boudol and Ilaria Castellani},
  title = {Non-interference for concurrent programs and thread
                 systems},
  month = sep,
  year = {2001},
  note = {To appear},
  url = {ftp://ftp-sop.inria.fr/mimosa/personnel/gbo/non-interf-threads.ps.gz}
}
@article{boudol-stratified-regions,
  author = {Gérard Boudol},
  title = {Typing termination in a higher-order concurrent
                 imperative language},
  journal = {Information and Computation},
  year = {2009},
  note = {To appear},
  url = {ftp://ftp-sop.inria.fr/mimosa/personnel/gbo/ttiahocil.pdf}
}
@inproceedings{boulme-07,
  author = {Sylvain Boulmé},
  title = {Intuitionistic Refinement Calculus},
  booktitle = {Typed Lambda Calculi and Applications (TLCA)},
  month = jun,
  year = {2007},
  pages = {54--69},
  volume = {4583},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www-lsr.imag.fr/users/Sylvain.Boulme/horefinement/dsm.pdf}
}
@techreport{boulton-96,
  author = {Richard J. Boulton},
  title = {{Syn}: a single language for specifiying abstract
                 syntax trees, lexical analysis, parsing and
                 pretty-printing},
  institution = {University of Cambridge Computer Laboratory},
  year = {1996},
  type = {Technical Report},
  number = {UCAM-CL-TR-390},
  month = mar,
  url = {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-390.html}
}
@misc{bound,
  author = {Edward Kmett},
  title = {Bound},
  howpublished = {Blog post},
  month = nov,
  year = {2014},
  url = {https://www.fpcomplete.com/user/edwardk/bound}
}
@inproceedings{bour-clement-scherer-21,
  author = {Frédéric Bour and Basile Clément and Gabriel
                 Scherer},
  title = {Tail Modulo Cons},
  booktitle = {Journées Françaises des Langages Applicatifs
                 (JFLA)},
  month = apr,
  year = {2021},
  url = {https://arxiv.org/abs/2102.09823}
}
@inproceedings{bour-pottier-21,
  author = {Frédéric Bour and François Pottier},
  title = {Faster Reachability Analysis for {LR(1)} Parsers},
  booktitle = {Software Language Engineering},
  month = oct,
  year = {2021},
  pages = {113--125},
  url = {http://cambium.inria.fr/~fpottier/publis/bour-pottier-reachability.pdf}
}
@techreport{bourdoncle-merz-96,
  author = {François Bourdoncle and Stephan Merz},
  title = {On the integration of functional programming,
                 class-based object-oriented programming, and
                 multi-methods},
  institution = {Centre de Mathématiques Appliquées, Ecole des Mines
                 de Paris},
  year = {1996},
  type = {Research Report},
  number = {26},
  month = mar,
  url = {http://www.loria.fr/~merz/papers/mlsub.html}
}
@inproceedings{bourdoncle-merz-97,
  author = {François Bourdoncle and Stephan Merz},
  title = {Type Checking Higher-Order Polymorphic Multi-Methods},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1997},
  month = jan,
  pages = {302--315},
  url = {http://www.exalead.com/Francois.Bourdoncle/popl97.html}
}
@article{bouwers-bravenboer-visser-07,
  title = {Grammar Engineering Support for Precedence Rule
                 Recovery and Compatibility Checking},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {203},
  number = {2},
  pages = {85--101},
  year = {2008},
  url = {https://doi.org/10.1016/j.entcs.2008.03.046},
  author = {Eric Bouwers and Martin Bravenboer and Eelco Visser}
}
@inproceedings{boyapati-lee-rinard-02,
  author = {Chandrasekhar Boyapati and Robert Lee and Martin
                 Rinard},
  title = {Ownership types for safe programming: preventing data
                 races and deadlocks},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = nov,
  year = {2002},
  pages = {211--230},
  url = {http://doi.acm.org/10.1145/582419.582440}
}
@inproceedings{boyapati-liskov-shrira-03,
  author = {Chandrasekhar Boyapati and Barbara Liskov and Liuba
                 Shrira},
  title = {Ownership types for object encapsulation},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2003},
  pages = {213--223},
  url = {http://www.pmg.lcs.mit.edu/~chandra/publications/popl03.pdf}
}
@article{boyland-burying-01,
  author = {John Boyland},
  title = {Alias burying: Unique variables without destructive
                 reads},
  journal = {Science of Computer Programming},
  year = {2001},
  volume = {31},
  number = {6},
  month = may,
  pages = {533--553},
  url = {https://doi.org/10.1002/spe.370}
}
@inproceedings{boyland-fractions-03,
  author = {John Boyland},
  title = {Checking Interference with Fractional Permissions},
  booktitle = {Static Analysis Symposium (SAS)},
  month = jun,
  year = {2003},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {2694},
  pages = {55--72},
  url = {https://doi.org/10.1007/3-540-44898-5_4}
}
@article{boyland-nesting-10,
  author = {John Tang Boyland},
  title = {Semantics of fractional permissions with nesting},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {32},
  number = {6},
  pages = {22:1--22:33},
  year = {2010},
  url = {http://dx.doi.org/10.1145/1749608.1749611}
}
@inproceedings{boyland-noble-retert-01,
  author = {John Boyland and James Noble and William Retert},
  title = {Capabilities for Sharing: {A} Generalisation of
                 Uniqueness and Read-Only},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  pages = {2--27},
  month = jun,
  year = {2001},
  series = {Lecture Notes in Computer Science},
  volume = {2072},
  publisher = {Springer},
  url = {https://doi.org/10.1007/3-540-45337-7_2}
}
@inproceedings{boyland-retert-05,
  author = {John Tang Boyland and William Retert},
  title = {Connecting Effects and Uniqueness with Adoption},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2005},
  pages = {283--295},
  url = {https://dl.acm.org/doi/10.1145/1047659.1040329}
}
@article{braberman-06,
  author = {V{\'{\i}}ctor A. Braberman and Diego Garbervetsky and
                 Sergio Yovine},
  title = {A Static Analysis for Synthesizing Parametric
                 Specifications of Dynamic Memory Consumption},
  journal = {Journal of Object Technology},
  volume = {5},
  number = {5},
  pages = {31--58},
  year = {2006},
  url = {https://www.jot.fm/issues/issue_2006_06/article2.pdf}
}
@inproceedings{braberman-08,
  author = {V{\'{\i}}ctor A. Braberman and Federico Javier
                 Fern{\'{a}}ndez and Diego Garbervetsky and Sergio
                 Yovine},
  title = {Parametric prediction of heap memory requirements},
  booktitle = {International Symposium on Memory Management},
  pages = {141--150},
  month = jun,
  year = {2008},
  url = {https://dl.acm.org/doi/10.1145/1375634.1375655}
}
@inproceedings{bracha-cook-90,
  author = {Gilad Bracha and William Cook},
  title = {Mixin-based inheritance},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {303--311},
  year = {1990},
  url = {http://www.bracha.org/oopsla90.ps}
}
@techreport{bracha-lindstrom-91,
  author = {Gilad Bracha and Gary Lindstrom},
  title = {Modularity Meets Inheritance},
  institution = {University of Utah},
  year = {1991},
  number = {UUCS-91-017},
  month = oct,
  url = {http://www.bracha.org/modularity-meets-inheritance.ps}
}
@inproceedings{brachthauser-17,
  author = {Jonathan Immanuel Brachth{\"{a}}user and Philipp
                 Schuster},
  title = {{Effekt}: extensible algebraic effects in {Scala}},
  booktitle = {Symposium on Scala},
  pages = {67--72},
  month = oct,
  year = {2017},
  url = {http://ps.informatik.uni-tuebingen.de/publications/brachthaeuser17effekt.pdf}
}
@book{bradley-manna-07,
  author = {Aaron R. Bradley and Zohar Manna},
  title = {The Calculus of Computation},
  publisher = {Springer},
  year = {2007},
  url = {http://www.springerlink.com/content/wv0127/?p=77473ec707e949ae8856c880fe4e7649&pi=0}
}
@inproceedings{brady-13,
  author = {Edwin C. Brady},
  title = {Programming and reasoning with algebraic effects and
                 dependent types},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {133--144},
  month = sep,
  year = {2013},
  url = {https://www.type-driven.org.uk/edwinb/papers/effects.pdf}
}
@inproceedings{brady-14,
  author = {Edwin C. Brady},
  title = {Resource-Dependent Algebraic Effects},
  booktitle = {Trends in Functional Programming (TFP)},
  series = {Lecture Notes in Computer Science},
  volume = {8843},
  pages = {18--33},
  publisher = {Springer},
  month = may,
  year = {2014},
  url = {https://www.type-driven.org.uk/edwinb/papers/dep-eff.pdf}
}
@article{brady-idris-13,
  author = {Edwin Brady},
  title = {{Idris}, a general purpose dependently typed
                 programming language: design and implementation},
  journal = {Journal of Functional Programming},
  year = {2013},
  volume = {23},
  number = {5},
  pages = {552–-593},
  url = {https://www.type-driven.org.uk/edwinb/papers/impldtp.pdf}
}
@inproceedings{braibant-pous-11,
  author = {Thomas Braibant and Damien Pous},
  title = {Tactics for Reasoning Modulo {AC} in {Coq}},
  booktitle = {Certified Programs and Proofs (CPP)},
  year = {2011},
  pages = {167--182},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {7086},
  url = {http://arxiv.org/abs/1106.4448}
}
@article{brand-visser-96,
  author = {Mark van den Brand and Eelco Visser},
  title = {Generation of Formatters for Context-Free Languages},
  journal = {ACM Transactions on Software Engineering and
                 Methodology},
  volume = {5},
  number = {1},
  pages = {1--41},
  year = {1996},
  url = {https://doi.org/10.1145/226155.226156}
}
@article{brandis-mossenbock-94,
  author = {Marc M. Brandis and Hanspeter Mössenböck},
  title = {Single-pass generation of static single-assignment
                 form for structured languages},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {16},
  number = {6},
  year = {1994},
  pages = {1684--1698},
  url = {ftp://ftp.ssw.uni-linz.ac.at/pub/Papers/Moe94.ps.gz}
}
@article{brandt-henglein-98,
  author = {Michael Brandt and Fritz Henglein},
  year = {1998},
  title = {Coinductive axiomatization of recursive type equality
                 and subtyping},
  journal = {Fundamenta Informaticæ},
  pages = {309--338},
  volume = {33},
  url = {ftp://ftp.diku.dk/diku/semantics/papers/D-353.ps.gz}
}
@book{brassard-bratley,
  author = {Gilles Brassard and Paul Bratley},
  title = {Fundamentals of algorithmics},
  publisher = {Prentice Hall},
  year = {1996}
}
@article{breazu-tannen-91,
  author = {Val Breazu-Tannen and Thierry Coquand and Carl A.
                 Gunter and Andre Scedrov},
  title = {Inheritance as Implicit Coercion},
  journal = {Information and Computation},
  year = {1991},
  volume = {93},
  number = {1},
  pages = {172--221},
  month = jul,
  url = {http://seclab.uiuc.edu/cgunter/publications/documents/Breazu-TannenCGS91.pdf}
}
@article{breitner-al-18,
  author = {Joachim Breitner and Antal {Spector-Zabusky} and Yao
                 Li and Christine Rizkallah and John Wiegley and
                 Stephanie Weirich},
  title = {Ready, set, verify! applying hs-to-coq to real-world
                 {Haskell} code (experience report)},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {2},
  number = {{ICFP}},
  pages = {89:1--89:16},
  year = {2018},
  url = {https://doi.org/10.1145/3236784}
}
@inproceedings{brookes-04,
  author = {Stephen D. Brookes},
  title = {A Semantics for Concurrent Separation Logic},
  booktitle = {International Conference on Concurrency Theory
                 (CONCUR)},
  month = aug,
  year = {2004},
  pages = {16--34},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3170},
  url = {http://dx.doi.org/10.1007/978-3-540-28644-8_2}
}
@article{brookes-07,
  author = {Stephen Brookes},
  title = {A semantics for concurrent separation logic},
  journal = {Theoretical Computer Science},
  volume = {375},
  number = {1--3},
  pages = {227--270},
  year = {2007},
  url = {https://doi.org/10.1016/j.tcs.2006.12.034}
}
@article{brookes-ohearn-16,
  author = {Stephen Brookes and Peter W. O'Hearn},
  title = {Concurrent separation logic},
  journal = {{SIGLOG} News},
  volume = {3},
  number = {3},
  pages = {47--65},
  year = {2016},
  url = {http://siglog.hosting.acm.org/wp-content/uploads/2016/07/siglog_news_9.pdf}
}
@inproceedings{brotherston-cyclic-11,
  author = {James Brotherston and Dino Distefano and Rasmus
                 Lerchedahl Petersen},
  title = {Automated Cyclic Entailment Proofs in Separation
                 Logic},
  booktitle = {International Conference on Automated Deduction
                 (CADE)},
  month = jul,
  year = {2011},
  pages = {131--146},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6803},
  url = {http://www.eecs.qmul.ac.uk/~rusmus/articles/Cyclic.pdf}
}
@techreport{bruce-alii-binary-methods,
  key = {Bruce, {\em et al.}},
  author = {Kim Bruce and Luca Cardelli and Giuseppe Castagna and
                 The Hopkins Object Group and Gary T. Leavens and
                 Benjamin Pierce},
  title = {On Binary Methods},
  year = {1995},
  month = dec,
  institution = {Department of Computer Science, Iowa State
                 University},
  number = {95-08a},
  url = {ftp://ftp.cs.iastate.edu/pub/techreports/TR95-08/TR.ps.Z}
}
@article{bruce-cardelli-pierce-99,
  author = {Kim B. Bruce and Luca Cardelli and Benjamin C.
                 Pierce},
  title = {Comparing Object Encodings},
  journal = {Information and Computation},
  year = {1999},
  month = nov,
  volume = {155},
  number = {1/2},
  pages = {108--133},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/compobj.ps}
}
@article{bruce-dicosmo-longo-92,
  author = {Kim Bruce and Roberto {Di Cosmo} and Giuseppe Longo},
  title = {Provable isomorphisms of types},
  journal = {Mathematical Structures in Computer Science},
  year = {1992},
  volume = {2},
  number = {2},
  pages = {231--247},
  url = {http://www.dicosmo.org/Articles/MSCS.dvi}
}
@article{brunel-mazza-pagani-20,
  author = {Aloïs Brunel and Damiano Mazza and Michele Pagani},
  title = {Backpropagation in the simply typed lambda-calculus
                 with linear negation},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {{POPL}},
  pages = {64:1--64:27},
  year = {2020},
  url = {https://doi.org/10.1145/3371132}
}
@article{brunner-lammich-18,
  author = {Julian Brunner and Peter Lammich},
  title = {Formal Verification of an Executable {LTL} Model
                 Checker with Partial Order Reduction},
  journal = {Journal of Automated Reasoning},
  volume = {60},
  number = {1},
  pages = {3--21},
  year = {2018},
  url = {https://www21.in.tum.de/~lammich/pub/JAR17_POR.pdf}
}
@article{buchlovsky-thielecke-06,
  author = {Peter Buchlovsky and Hayo Thielecke},
  title = {A type-theoretic reconstruction of the Visitor
                 pattern},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {155},
  pages = {309--329},
  year = {2006},
  url = {http://www.cs.bham.ac.uk/~hxt/research/mfps-visitors.pdf}
}
@unpublished{bugliesi-affine-15,
  author = {Michele Bugliesi and Stefano Calzavara and Fabienne
                 Eigner and Matteo Maffei},
  title = {Affine Refinement Types for Secure Distributed
                 Programming},
  note = {To appear},
  year = {2015},
  url = {http://www.sps.cs.uni-saarland.de/affine-rcf/resources/long.pdf}
}
@inproceedings{bugliesi-crafa-dynamic-99,
  author = {Michele Bugliesi and Silvia Crafa},
  title = {Object Calculi for Dynamic Messages},
  booktitle = {Foundations of Object-Oriented Languages (FOOL)},
  year = {1999}
}
@article{bugliesi-pericas-02,
  author = {Michele Bugliesi and Santiago M.
                 Peric{\'a}s-Geertsen},
  title = {Type Inference for Variant Object Types},
  journal = {Information and Computation},
  year = {2002},
  volume = {177},
  number = {1},
  pages = {2--27},
  month = aug,
  url = {http://www.dsi.unive.it/~michele/Papers/PS/SplitTypes-ic02.ps.gz}
}
@article{buhr-mok-00,
  author = {Peter A. Buhr and W. Y. Russell Mok},
  title = {Advanced Exception Handling Mechanisms},
  journal = {IEEE Transactions on Software Engineering},
  volume = {26},
  number = {9},
  pages = {820--836},
  year = {2000},
  url = {https://plg.uwaterloo.ca/~usystem/pub/uSystem/EHM.pdf}
}
@article{buisse-11,
  author = {Alexandre Buisse and Lars Birkedal and Kristian
                 St{\o}vring},
  title = {A Step-Indexed {Kripke} Model of Separation Logic for
                 Storable Locks},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {276},
  month = sep,
  year = {2011},
  pages = {121--143},
  url = {https://cs.au.dk/~birke/papers/locks.pdf}
}
@inproceedings{bulwahn-08,
  author = {Lukas Bulwahn and Alexander Krauss and Florian
                 Haftmann and Levent Erk{\"{o}}k and John Matthews},
  title = {Imperative Functional Programming with
                 {Isabelle/HOL}},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  pages = {134--149},
  month = aug,
  year = {2008},
  series = {Lecture Notes in Computer Science},
  volume = {5170},
  publisher = {Springer},
  url = {http://www21.in.tum.de/~krauss/imperative/imperative.pdf}
}
@article{buneman-ohori-96,
  author = {Peter Buneman and Atsushi Ohori},
  title = {Polymorphism and Type Inference in Database
                 Programming},
  journal = {ACM Transactions on Database Systems},
  year = {1996},
  volume = {21},
  number = {1},
  pages = {30--76},
  url = {http://www.jaist.ac.jp/~ohori/research/tods96.pdf}
}
@inproceedings{burnim-juvekar-sen-09,
  author = {Jacob Burnim and Sudeep Juvekar and Koushik Sen},
  title = {{WISE}: Automated test generation for worst-case
                 complexity},
  booktitle = {International Conference on Software Engineering
                 ({ICSE})},
  pages = {463--473},
  month = may,
  year = {2009},
  url = {https://doi.org/10.1109/ICSE.2009.5070545}
}
@inproceedings{burstall-hope-80,
  author = {R. M. Burstall and D. B. MacQueen and D. T. Sannella},
  title = {{HOPE}: An experimental applicative language},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  year = {1980},
  pages = {136--143},
  url = {http://portal.acm.org/citation.cfm?id=802799}
}
@inproceedings{c11mm,
  author = {Mark Batty and Scott Owens and Susmit Sarkar and Peter
                 Sewell and Tjark Weber},
  title = {Mathematizing {C++} concurrency},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {55--66},
  month = jan,
  year = {2011},
  url = {https://www.cl.cam.ac.uk/~pes20/cpp/popl085ap-sewell.pdf}
}
@inproceedings{cachera-05,
  author = {David Cachera and Thomas P. Jensen and David Pichardie
                 and Gerardo Schneider},
  title = {Certified Memory Usage Analysis},
  booktitle = {Formal Methods (FM)},
  series = {Lecture Notes in Computer Science},
  volume = {3582},
  pages = {91--106},
  publisher = {Springer},
  month = jul,
  year = {2005},
  url = {https://people.irisa.fr/David.Pichardie/papers/memoryusage.pdf}
}
@inproceedings{cachera-pichardie-10,
  author = {David Cachera and David Pichardie},
  title = {A Certified Denotational Abstract Interpreter},
  booktitle = {Interactive Theorem Proving (ITP)},
  pages = {9--24},
  month = jul,
  year = {2010},
  series = {Lecture Notes in Computer Science},
  volume = {6172},
  publisher = {Springer},
  url = {https://hal.inria.fr/inria-00537810/}
}
@article{cai-paige-89,
  author = {Jiazhen Cai and Robert Paige},
  title = {Program derivation by fixed point computation},
  journal = {Science of Computer Programming},
  volume = {11},
  number = {3},
  year = {1989},
  pages = {197--261},
  url = {http://cs.nyu.edu/paige/papers/fixpoint.ps}
}
@inproceedings{caires-seco-13,
  author = {Lu\'{\i}s Caires and Jo{\~a}o Costa Seco},
  title = {The type discipline of behavioral separation},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2013},
  pages = {275--286},
  url = {http://dx.doi.org/10.1145/2429069.2429103}
}
@inproceedings{cakeml,
  author = {Ramana Kumar and Magnus O. Myreen and Michael Norrish
                 and Scott Owens},
  title = {{CakeML}: a verified implementation of {ML}},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {179--192},
  month = jan,
  year = {2014},
  url = {https://cakeml.org/popl14.pdf}
}
@inproceedings{cakeml-21,
  author = {Magnus O. Myreen},
  title = {The {CakeML} Project's Quest for Ever Stronger
                 Correctness Theorems},
  booktitle = {Interactive Theorem Proving (ITP)},
  series = {{Leibniz} International Proceedings in Informatics},
  volume = {193},
  pages = {1:1--1:10},
  publisher = {Schloss Dagstuhl - Leibniz-Zentrum f{\"{u}}r
                 Informatik},
  month = jun,
  year = {2021},
  url = {https://doi.org/10.4230/LIPIcs.ITP.2021.1}
}
@inproceedings{cakeml-liveness-19,
  author = {Johannes {\AA}man Pohjola and Henrik Rostedt and
                 Magnus O. Myreen},
  title = {Characteristic Formulae for Liveness Properties of
                 Non-Terminating {CakeML} Programs},
  booktitle = {Interactive Theorem Proving (ITP)},
  series = {{Leibniz} International Proceedings in Informatics},
  volume = {141},
  pages = {32:1--32:19},
  publisher = {Schloss Dagstuhl - Leibniz-Zentrum f{\"{u}}r
                 Informatik},
  month = sep,
  year = {2019},
  url = {https://doi.org/10.4230/LIPIcs.ITP.2019.32}
}
@inproceedings{cakeml-new-16,
  author = {Yong Kiam Tan and Magnus O. Myreen and Ramana Kumar
                 and Anthony C. J. Fox and Scott Owens and Michael
                 Norrish},
  title = {A new verified compiler backend for {CakeML}},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {60--73},
  month = sep,
  year = {2016},
  url = {https://cakeml.org/icfp16.pdf}
}
@article{calcagno-02,
  author = {Cristiano Calcagno and Simon Helsen and Peter
                 Thiemann},
  title = {Syntactic Type Soundness Results for the Region
                 Calculus},
  journal = {Information and Computation},
  year = {2002},
  volume = {173},
  number = {2},
  pages = {199--221},
  url = {http://www.dcs.qmw.ac.uk/~ccris/ftp/iac_calhelthi.pdf}
}
@inproceedings{calcagno-11,
  author = {Cristiano Calcagno and Dino Distefano},
  title = {Infer: An Automatic Program Verifier for Memory Safety
                 of {C} Programs},
  booktitle = {{NASA} Formal Methods (NFM)},
  pages = {459--465},
  month = apr,
  year = {2011},
  series = {Lecture Notes in Computer Science},
  volume = {6617},
  publisher = {Springer},
  url = {http://www.eecs.qmul.ac.uk/~ddino/papers/nasa-infer.pdf}
}
@inproceedings{calcagno-15,
  author = {Cristiano Calcagno and Dino Distefano and Jérémy
                 Dubreil and Dominik Gabi and Pieter Hooimeijer and
                 Martino Luca and Peter W. O'Hearn and Irene
                 Papakonstantinou and Jim Purbrick and Dulma Rodriguez},
  title = {Moving Fast with Software Verification},
  booktitle = {{NASA} Formal Methods (NFM)},
  pages = {3--11},
  month = apr,
  year = {2015},
  series = {Lecture Notes in Computer Science},
  volume = {9058},
  publisher = {Springer},
  url = {https://research.facebook.com/publications/moving-fast-with-software-verification/}
}
@article{calcagno-closed-03,
  author = {Cristiano Calcagno and Eugenio Moggi and Tim Sheard},
  title = {Closed Types for a Safe Imperative {MetaML}},
  journal = {Journal of Functional Programming},
  year = {2003},
  volume = {13},
  number = {3},
  month = may,
  pages = {545--571},
  url = {http://dx.doi.org/10.1017/S0956796802004598}
}
@inproceedings{calcagno-distefano-ohearn-yang-09,
  author = {Cristiano Calcagno and Dino Distefano and Peter W.
                 O'Hearn and Hongseok Yang},
  title = {Compositional shape analysis by means of
                 bi-abduction},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2009},
  pages = {289--300},
  url = {http://www.doc.ic.ac.uk/~ccris/ftp/popl09.pdf}
}
@article{calcagno-distefano-ohearn-yang-11,
  author = {Cristiano Calcagno and Dino Distefano and Peter W.
                 O'Hearn and Hongseok Yang},
  title = {Compositional Shape Analysis by Means of
                 Bi-Abduction},
  journal = {Journal of the {ACM}},
  volume = {58},
  number = {6},
  year = {2011},
  url = {http://www.doc.ic.ac.uk/~ccris/ftp/jacm-abduction.pdf}
}
@inproceedings{calcagno-distefano-vafeiadis-09,
  author = {Cristiano Calcagno and Dino Distefano and Viktor
                 Vafeiadis},
  title = {Bi-abductive Resource Invariant Synthesis},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  month = dec,
  year = {2009},
  pages = {259--274},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5904},
  url = {http://www.eecs.qmul.ac.uk/~ddino/papers/resinvariant.pdf}
}
@inproceedings{calcagno-inference-04,
  author = {Cristiano Calcagno and Eugenio Moggi and Walid Taha},
  title = {{ML}-Like Inference for Classifiers},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2004},
  pages = {79--93},
  series = {Lecture Notes in Computer Science},
  volume = {2986},
  publisher = {Springer},
  url = {http://www.doc.ic.ac.uk/~ccris/ftp/esop04.pdf}
}
@inproceedings{calcagno-local-07,
  author = {Cristiano Calcagno and Peter W. O'Hearn and Hongseok
                 Yang},
  title = {Local Action and Abstract Separation Logic},
  booktitle = {Logic in Computer Science (LICS)},
  month = jul,
  year = {2007},
  pages = {366--378},
  url = {http://www.doc.ic.ac.uk/~ccris/ftp/asl-short.pdf}
}
@inproceedings{calcagno-yang-ohearn-01,
  author = {Cristiano Calcagno and Hongseok Yang and Peter W.
                 O'Hearn},
  title = {Computability and Complexity Results for a Spatial
                 Assertion Language for Data Structures},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  pages = {289--300},
  month = dec,
  year = {2001},
  url = {http://www.cs.ox.ac.uk/people/hongseok.yang/paper/decidability.ps}
}
@inproceedings{cameleer-21,
  author = {M{\'{a}}rio Pereira and Ant{\'{o}}nio Ravara},
  title = {Cameleer: A Deductive Verification Tool for {OCaml}},
  booktitle = {Computer Aided Verification (CAV)},
  series = {Lecture Notes in Computer Science},
  volume = {12760},
  month = jul,
  pages = {677--689},
  publisher = {Springer},
  year = {2021},
  url = {https://mariojppereira.github.io/papers/cameleer_cav21.pdf}
}
@misc{caml-light,
  author = {Xavier Leroy and Damien Doligez and Michel Mauny and
                 Pierre Weis},
  title = {The {Caml} {Light} system, release 0.75},
  year = {2002},
  url = {http://caml.inria.fr/}
}
@inproceedings{campbell-09,
  author = {Brian Campbell},
  title = {Amortised Memory Analysis Using the Depth of Data
                 Structures},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {5502},
  pages = {190--204},
  publisher = {Springer},
  month = mar,
  year = {2009},
  url = {https://homepages.inf.ed.ac.uk/bcampbe2/depth-analysis/depth.pdf}
}
@inproceedings{carbonneaux-14,
  author = {Quentin Carbonneaux and Jan Hoffmann and Tahina
                 Ramananandro and Zhong Shao},
  title = {End-to-end verification of stack-space bounds for {C}
                 programs},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {270--281},
  month = jun,
  year = {2014},
  url = {http://flint.cs.yale.edu/flint/publications/veristack.pdf}
}
@inproceedings{carbonneaux-17,
  author = {Quentin Carbonneaux and Jan Hoffmann and Thomas Reps
                 and Zhong Shao},
  title = {Automated Resource Analysis with {Coq} Proof Objects},
  booktitle = {Computer Aided Verification (CAV)},
  series = {Lecture Notes in Computer Science},
  volume = {10427},
  publisher = {Springer},
  pages = {64--85},
  month = jul,
  year = {2017},
  url = {http://www.cs.yale.edu/homes/qcar/data/aracoq.pdf}
}
@inproceedings{carbonneaux-hoffmann-shao-15,
  author = {Quentin Carbonneaux and Jan Hoffmann and Zhong Shao},
  title = {Compositional certified resource bounds},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {467--478},
  month = jun,
  year = {2015},
  url = {https://www.cs.yale.edu/homes/hoffmann/papers/amort_imp15.pdf}
}
@incollection{cardelli-97,
  author = {Luca Cardelli},
  title = {Type Systems},
  booktitle = {The Computer Science and Engineering Handbook},
  publisher = {CRC Press},
  year = {1997},
  editor = {Allen B. Tucker},
  pages = {2208--2236},
  url = {http://research.microsoft.com/Users/luca/Papers/TypeSystems.pdf}
}
@article{cardelli-basic-87,
  author = {Luca Cardelli},
  title = {Basic polymorphic typechecking},
  journal = {Science of Computer Programming},
  year = {1987},
  volume = {8},
  number = {2},
  pages = {147--172},
  url = {https://doi.org/10.1016/0167-6423(87)90019-0}
}
@techreport{cardelli-extensible-94,
  author = {Luca Cardelli and Florian Matthes and Martín Abadi},
  title = {Extensible syntax with lexical scoping},
  institution = {Digital Equipment Corporation, Systems Research
                 Center},
  year = {1994},
  type = {Research Report},
  number = {121},
  month = feb,
  url = {http://gatekeeper.dec.com/pub/compaq/SRC/research-reports/SRC-121.ps.gz}
}
@article{cardelli-longo-91,
  author = {Luca Cardelli and Giuseppe Longo},
  title = {A semantic basis for {Quest}},
  journal = {Journal of Functional Programming},
  year = {1991},
  volume = {1},
  number = {4},
  pages = {417--458},
  month = oct,
  url = {http://research.microsoft.com/Users/luca/Papers/QuestSem.pdf}
}
@incollection{cardelli-mitchell-records-91,
  author = {Luca Cardelli and John Mitchell},
  title = {Operations on Records},
  booktitle = {Theoretical Aspects Of Object-Oriented Programming:
                 Types, Semantics and Language Design},
  publisher = {MIT Press},
  editor = {Carl A. Gunter and John C. Mitchell},
  year = {1994},
  url = {http://research.microsoft.com/Users/luca/Papers/Records.pdf}
}
@article{cardelli-multiple-88,
  author = {Luca Cardelli},
  title = {A Semantics of Multiple Inheritance},
  journal = {Information and Computation},
  volume = {76},
  number = {2/3},
  month = feb,
  year = {1988},
  pages = {138--164},
  url = {http://research.microsoft.com/Users/luca/Papers/Inheritance.pdf}
}
@misc{cardelli-quest-91,
  author = {Luca Cardelli},
  title = {The {Quest} Language and System},
  year = {1991},
  url = {http://research.microsoft.com/Users/luca/Notes/QuestManual.pdf}
}
@inproceedings{cardelli-typeful-89,
  author = {Luca Cardelli},
  title = {Typeful programming},
  booktitle = {Formal Description of Programming Concepts},
  year = {1989},
  series = {IFIP State of the Art Reports Series},
  month = feb,
  publisher = {Springer},
  url = {http://research.microsoft.com/Users/luca/Papers/TypefulProg.pdf}
}
@article{cardelli-wegner-85,
  author = {Luca Cardelli and Peter Wegner},
  title = {On Understanding Types, Data Abstraction, and
                 Polymorphism},
  journal = {{ACM} Computing Surveys},
  volume = {17},
  number = {4},
  pages = {471--522},
  month = dec,
  year = {1985},
  url = {http://research.microsoft.com/Users/luca/Papers/OnUnderstanding.pdf}
}
@article{cardone-02,
  author = {Felice Cardone},
  title = {A coinductive completeness proof for the equivalence
                 of recursive types},
  journal = {Theoretical Computer Science},
  volume = {275},
  number = {1--2},
  year = {2002},
  pages = {575--587},
  url = {http://dx.doi.org/10.1016/S0304-3975(01)00298-5},
  publisher = {Elsevier}
}
@article{cardone-coppo-91,
  author = {Felice Cardone and Mario Coppo},
  title = {Type inference with recursive types: syntax and
                 semantics},
  journal = {Information and Computation},
  volume = {92},
  number = {1},
  year = {1991},
  pages = {48--80},
  url = {http://dx.doi.org/10.1016/0890-5401(91)90020-3}
}
@inproceedings{carette-finally-tagless-07,
  author = {Jacques Carette and Oleg Kiselyov and Chung-chieh
                 Shan},
  title = {Finally Tagless, Partially Evaluated},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  month = nov,
  year = {2007},
  pages = {222--238},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {4807},
  url = {https://doi.org/10.1007/978-3-540-76637-7_15}
}
@article{carette-gauss-05,
  author = {Jacques Carette},
  title = {{Gaussian} Elimination: a case study in efficient
                 genericity with {MetaOCaml}},
  journal = {Science of Computer Programming},
  year = {2005},
  volume = {62},
  number = {1},
  pages = {3--24},
  month = sep,
  url = {http://www.cas.mcmaster.ca/~carette/publications/ge.pdf}
}
@article{carette-kiselyov-shan-09,
  author = {Jacques Carette and Oleg Kiselyov and Chung{-}chieh
                 Shan},
  title = {Finally tagless, partially evaluated: Tagless staged
                 interpreters for simpler typed languages},
  journal = {Journal of Functional Programming},
  volume = {19},
  number = {5},
  pages = {509--543},
  year = {2009},
  url = {http://okmij.org/ftp/tagless-final/JFP.pdf}
}
@inproceedings{carlier-04,
  author = {Sébastien Carlier and Jeff Polakow and J. B. Wells
                 and A. J. Kfoury},
  title = {{System E}: Expansion variables for flexible typing
                 with linear and non-linear types and intersection
                 types},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2004},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.macs.hw.ac.uk/~jbw/papers/Carlier+Polakow+Wells+Kfoury:System-E:ESOP-2004.pdf}
}
@techreport{carlier-wells-04,
  author = {Sébastien Carlier and J. B. Wells},
  title = {Type inference with expansion variables and
                 intersection types in {System E} and an exact
                 correspondence with $\beta$-reduction},
  institution = {Heriot-Watt University},
  year = {2004},
  number = {HW-MACS-TR-0012},
  month = jan,
  url = {http://www.macs.hw.ac.uk:8080/techreps/docs/files/HW-MACS-TR-0012.pdf}
}
@misc{cartwright-notes-00,
  author = {Robert Cartwright},
  title = {Notes on Object-Oriented Program Design},
  url = {http://www.cs.rice.edu/~cork/book/},
  month = jan,
  year = {2000}
}
@inproceedings{castagna-ampersand-93,
  author = {Giuseppe Castagna},
  title = {${F}_{\leq}^{\&}$ : integrating parametric and ``ad
                 hoc'' second order polymorphism},
  booktitle = {International Workshop on Database Programming
                 Languages},
  year = {1993},
  publisher = {Springer},
  series = {Workshops in Computing},
  month = sep
}
@article{castagna-contravariance-95,
  author = {Giuseppe Castagna},
  title = {Covariance and Contravariance: Conflict without a
                 Cause},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {17},
  number = {3},
  pages = {431--447},
  month = may,
  year = {1995},
  url = {ftp://ftp.ens.fr/pub/di/users/castagna/covariance.ps.Z}
}
@inproceedings{castagna-frisch-05,
  author = {Giuseppe Castagna and Alain Frisch},
  title = {A gentle introduction to semantic subtyping},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  month = jul,
  year = {2005},
  pages = {198--199},
  url = {http://www.pps.univ-paris-diderot.fr/~gc/papers/icalp-ppdp05.pdf}
}
@article{catala,
  author = {Denis Merigoux and Nicolas Chataing and Jonathan
                 Protzenko},
  title = {Catala: a programming language for the law},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {{ICFP}},
  pages = {1--29},
  year = {2021},
  url = {https://doi.org/10.1145/3473582}
}
@inproceedings{cejtin-al-00,
  author = {Henry Cejtin and Suresh Jagannathan and Stephen
                 Weeks},
  title = {Flow-directed Closure Conversion for Typed Languages},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1782},
  pages = {56--71},
  month = mar,
  year = {2000},
  url = {http://dx.doi.org/10.1007/3-540-46425-5_4}
}
@inproceedings{cerco,
  author = {Roberto M. Amadio and Nicholas Ayache and
                 Fran{\c{c}}ois Bobot and Jaap Boender and Brian
                 Campbell and Ilias Garnier and Antoine Madet and James
                 McKinna and Dominic P. Mulligan and Mauro Piccolo and
                 Randy Pollack and Yann Régis{-}Gianas and Claudio
                 Sacerdoti Coen and Ian Stark and Paolo Tranquilli},
  title = {Certified Complexity ({CerCo})},
  booktitle = {Foundational and Practical Aspects of Resource
                 Analysis},
  pages = {1--18},
  month = aug,
  year = {2014},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {8552},
  url = {http://dx.doi.org/10.1007/978-3-319-12466-7_1}
}
@misc{cfml,
  author = {Arthur Charguéraud},
  title = {The {CFML} tool and library},
  howpublished = {\url{http://www.chargueraud.org/softs/cfml/}},
  year = {2024}
}
@inproceedings{chajed-gojournal-21,
  author = {Tej Chajed and Joseph Tassarotti and Mark Theng and
                 Ralf Jung and M. Frans Kaashoek and Nickolai
                 Zeldovich},
  title = {{GoJournal}: a verified, concurrent, crash-safe
                 journaling system},
  booktitle = {Symposium on Operating Systems Design and
                 Implementation},
  pages = {423--439},
  month = jul,
  year = {2021},
  url = {https://www.usenix.org/conference/osdi21/presentation/chajed}
}
@inproceedings{chajed-goose-20,
  author = {Tej Chajed and Joseph Tassarotti and M. Frans Kaashoek
                 and Nickolai Zeldovich},
  title = {Verifying concurrent {Go} code in {Coq} with {Goose}},
  booktitle = {Workshop on Coq for Programming Languages},
  month = jan,
  year = {2020},
  url = {https://people.csail.mit.edu/nickolai/papers/chajed-goose-coqpl.pdf}
}
@inproceedings{chajed-perennial-19,
  author = {Tej Chajed and Joseph Tassarotti and M. Frans Kaashoek
                 and Nickolai Zeldovich},
  title = {Verifying concurrent, crash-safe systems with
                 {Perennial}},
  booktitle = {Symposium on Operating Systems Principles (SOSP)},
  pages = {243--258},
  month = oct,
  year = {2019},
  url = {https://doi.org/10.1145/3341301.3359632}
}
@inproceedings{chakravarty-associated-05,
  author = {Manuel M. T. Chakravarty and Gabriele Keller and Simon
                 L. {Peyton Jones} and Simon Marlow},
  title = {Associated types with class},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {1--13},
  month = jan,
  year = {2005},
  url = {https://research.microsoft.com/en-us/um/people/simonpj/papers/assoc-types/assoc.pdf}
}
@techreport{chambers-leavens-96,
  author = {Craig Chambers and Gary T. Leavens},
  title = {{BeCecil}, a Core Object-Oriented Language with Block
                 Structure and Multimethods: Semantics and Typing},
  institution = {University of Washington},
  year = {1996},
  number = {UW-CSE-96-12-02},
  month = dec,
  url = {ftp://ftp.cs.washington.edu/pub/chambers/BeCecil.ps.gz}
}
@misc{chameleon,
  author = {Andreas Rossberg and Peter J. Stuckey and Martin
                 Sulzmann and Jeremy Wazny},
  title = {The {Chameleon} language},
  url = {http://taichi.ddns.comp.nus.edu.sg/taichiwiki/ChameleonHomePage}
}
@inproceedings{chang-rival-08,
  author = {Bor-Yuh Evan Chang and Xavier Rival},
  title = {Relational inductive shape analysis},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2008},
  pages = {247--260},
  url = {http://xisa.cs.colorado.edu/papers/popl08-relational.pdf}
}
@article{chappe-al-23,
  author = {Nicolas Chappe and Paul He and Ludovic Henrio and
                 Yannick Zakowski and Steve Zdancewic},
  title = {Choice Trees: Representing Nondeterministic,
                 Recursive, and Impure Programs in {Coq}},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {{POPL}},
  pages = {1770--1800},
  year = {2023},
  url = {https://doi.org/10.1145/3571254}
}
@phdthesis{chargueraud-10,
  author = {Arthur Charguéraud},
  title = {Characteristic Formulae for Mechanized Program
                 Verification},
  school = {Université Paris 7},
  year = {2010},
  month = dec,
  url = {http://www.chargueraud.org/research/2010/thesis/thesis_final.pdf}
}
@inproceedings{chargueraud-10-cfml,
  author = {Arthur Chargu{\'e}raud},
  title = {Program Verification Through Characteristic Formulae},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2010},
  pages = {321--332},
  month = sep,
  url = {http://www.chargueraud.org/research/2010/cfml/main.pdf}
}
@inproceedings{chargueraud-11-cfml,
  author = {Arthur Chargu{\'e}raud},
  title = {Characteristic Formulae for the Verification of
                 Imperative Programs},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2011},
  pages = {418--430},
  month = sep,
  url = {http://www.chargueraud.org/research/2011/cfml/main.pdf}
}
@inproceedings{chargueraud-13,
  author = {Arthur Charguéraud},
  title = {Pretty-Big-Step Semantics},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {7792},
  pages = {41--60},
  publisher = {Springer},
  month = mar,
  year = {2013},
  url = {https://www.chargueraud.org/research/2012/pretty/pretty.pdf}
}
@inproceedings{chargueraud-16,
  author = {Arthur Charguéraud},
  title = {Higher-order representation predicates in separation
                 logic},
  booktitle = {Certified Programs and Proofs (CPP)},
  pages = {3--14},
  month = jan,
  year = {2016},
  url = {https://hal.inria.fr/hal-01408670}
}
@article{chargueraud-20,
  author = {Arthur Charguéraud},
  title = {Separation logic for sequential programs (functional
                 pearl)},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {{ICFP}},
  pages = {116:1--116:34},
  year = {2020},
  url = {https://doi.org/10.1145/3408998}
}
@article{chargueraud-chlipala-erbsen-gruetter-23,
  author = {Arthur Charguéraud and Adam Chlipala and Andres
                 Erbsen and Samuel Gruetter},
  title = {Omnisemantics: Smooth Handling of Nondeterminism},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {45},
  number = {1},
  pages = {5:1--5:43},
  year = {2023},
  url = {https://doi.org/10.1145/3579834}
}
@article{chargueraud-ln-11,
  author = {Arthur Chargu{\'e}raud},
  title = {The Locally Nameless Representation},
  year = {2012},
  journal = {Journal of Automated Reasoning},
  volume = {49},
  number = {3},
  pages = {363--408},
  url = {http://www.chargueraud.org/arthur/research/2009/ln/main.pdf}
}
@inproceedings{chargueraud-optimal-10,
  author = {Arthur Charguéraud},
  title = {The Optimal Fixed Point Combinator},
  booktitle = {Interactive Theorem Proving (ITP)},
  pages = {195--210},
  month = jul,
  year = {2010},
  series = {Lecture Notes in Computer Science},
  volume = {6172},
  publisher = {Springer},
  url = {http://www.chargueraud.org/research/2010/fix/fix.pdf}
}
@inproceedings{chargueraud-pottier-08,
  author = {Arthur Charguéraud and François Pottier},
  title = {Functional Translation of a Calculus of Capabilities},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2008},
  pages = {213--224},
  url = {http://cambium.inria.fr/~fpottier/publis/chargueraud-pottier-capabilities.pdf}
}
@inproceedings{chargueraud-pottier-15,
  author = {Arthur Charguéraud and François Pottier},
  title = {Machine-Checked Verification of the Correctness and
                 Amortized Complexity of an Efficient Union-Find
                 Implementation},
  booktitle = {Interactive Theorem Proving (ITP)},
  month = aug,
  year = {2015},
  volume = {9236},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  pages = {137--153},
  url = {http://cambium.inria.fr/~fpottier/publis/chargueraud-pottier-uf.pdf}
}
@inproceedings{chargueraud-pottier-slro-17,
  author = {Arthur Charguéraud and François Pottier},
  title = {Temporary Read-Only Permissions for Separation Logic},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {10201},
  month = apr,
  year = {2017},
  pages = {260--286},
  url = {http://cambium.inria.fr/~fpottier/publis/chargueraud-pottier-slro.pdf}
}
@article{chargueraud-pottier-uf-sltc-17,
  author = {Arthur Charguéraud and François Pottier},
  title = {Verifying the Correctness and Amortized Complexity of
                 a Union-Find Implementation in Separation Logic with
                 Time Credits},
  journal = {Journal of Automated Reasoning},
  month = sep,
  year = {2017},
  url = {http://cambium.inria.fr/~fpottier/publis/chargueraud-pottier-uf-sltc.pdf}
}
@article{chargueraud-pottier-uf-sltc-19,
  author = {Arthur Charguéraud and François Pottier},
  title = {Verifying the Correctness and Amortized Complexity of
                 a Union-Find Implementation in Separation Logic with
                 Time Credits},
  journal = {Journal of Automated Reasoning},
  month = mar,
  year = {2019},
  volume = {62},
  number = {3},
  pages = {331--365},
  url = {http://cambium.inria.fr/~fpottier/publis/chargueraud-pottier-uf-sltc.pdf}
}
@misc{chargueraud-rainey-17,
  title = {Efficient Representations for Large Dynamic Sequences
                 in {ML}},
  author = {Arthur Chargu{\'e}raud and Mike Rainey},
  url = {https://hal.inria.fr/hal-01669407},
  howpublished = {ACM Workshop on ML},
  year = {2017},
  month = sep
}
@incollection{chargueraud-sf6,
  author = {Arthur Charguéraud},
  editor = {Benjamin C. Pierce},
  title = {Separation Logic Foundations},
  booktitle = {Software Foundations},
  volume = {6},
  year = {2021},
  url = {http://softwarefoundations.cis.upenn.edu}
}
@inproceedings{charles-et-al-05,
  author = {Philippe Charles and Christian Grothoff and Vijay
                 Saraswat and Christopher Donawa and Allan Kielstra and
                 Kemal Ebcioglu and Christoph von Praun and Vivek
                 Sarkar},
  title = {{X10}: an object-oriented approach to non-uniform
                 cluster computing},
  year = {2005},
  url = {https://doi.org/10.1145/1094811.1094852},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {519–538}
}
@inproceedings{chase-lev-05,
  author = {David Chase and Yossi Lev},
  title = {Dynamic circular work-stealing deque},
  booktitle = {Symposium on Parallelism in Algorithms and
                 Architectures},
  pages = {21--28},
  month = jul,
  year = {2005},
  url = {https://www.dre.vanderbilt.edu/~schmidt/PDF/work-stealing-dequeue.pdf}
}
@techreport{chen-al-99,
  author = {Martin Odersky and Christoph Zenger and Matthias
                 Zenger and Gang Chen},
  title = {A Functional View Of Join},
  institution = {University of South Australia},
  year = {1999},
  number = {ACRC-99-016},
  url = {http://www.christoph-zenger.de/papers/tr-acrc-99-016.ps.gz}
}
@unpublished{chen-cohen-levy-merz-thery-18,
  author = {Ran Chen and Cyril Cohen and Jean-Jacques Lévy and
                 Stephan Merz and Laurent Théry},
  title = {Formal Proofs of {Tarjan}'s Algorithm in {Why3},
                 {Coq}, and {Isabelle}},
  note = {Manuscript},
  month = oct,
  year = {2018},
  url = {https://arxiv.org/pdf/1810.11979.pdf}
}
@inproceedings{chen-crash-15,
  author = {Haogang Chen and Daniel Ziegler and Tej Chajed and
                 Adam Chlipala and M. Frans Kaashoek and Nickolai
                 Zeldovich},
  title = {Using {Crash Hoare logic} for certifying the {FSCQ}
                 file system},
  booktitle = {Symposium on Operating Systems Principles (SOSP)},
  pages = {18--37},
  month = oct,
  year = {2015},
  url = {https://people.csail.mit.edu/nickolai/papers/chen-fscq.pdf}
}
@inproceedings{chen-hudak-97,
  author = {Chih-Ping Chen and Paul Hudak},
  title = {Rolling your own mutable {ADT}---a connection between
                 linear types and monads},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1997},
  pages = {54--66},
  url = {http://www.cs.yale.edu/homes/hudak-paul/hudak-dir/popl97.ps}
}
@inproceedings{chen-levy-17,
  author = {Ran Chen and Jean{-}Jacques Lévy},
  title = {A Semi-automatic Proof of Strong Connectivity},
  booktitle = {Verified Software: Theories, Tools and Experiments},
  pages = {49--65},
  month = jul,
  year = {2017},
  series = {Lecture Notes in Computer Science},
  volume = {10712},
  publisher = {Springer},
  url = {http://pauillac.inria.fr/~levy/pubs/17scct.pdf}
}
@inproceedings{chen-shi-xi-04,
  author = {Chiyan Chen and Rui Shi and Hongwei Xi},
  title = {A Typeful Approach to Object-Oriented Programming with
                 Multiple Inheritance},
  booktitle = {Practical Aspects of Declarative Languages (PADL)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3057},
  year = {2004},
  month = jun,
  url = {https://link.springer.com/chapter/10.1007/978-3-540-24836-1_3}
}
@inproceedings{chen-tarditi-05,
  author = {Juan Chen and David Tarditi},
  title = {A simple typed intermediate language for
                 object-oriented languages},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2005},
  pages = {38--49},
  url = {http://research.microsoft.com/pubs/59934/lilc_popl05.pdf}
}
@inproceedings{chen-xi-combining-05,
  author = {Chiyan Chen and Hongwei Xi},
  title = {Combining Programming with Theorem Proving},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2005},
  month = sep,
  pages = {66--77},
  url = {https://hwxi.github.io/PUBLICATION/MYDATA/CPwTP-icfp05.pdf}
}
@inproceedings{chen-xi-icfp-03,
  author = {Chiyan Chen and Hongwei Xi},
  title = {Meta-Programming through Typeful Code Representation},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2003},
  month = aug,
  pages = {275--286}
}
@article{chen-xi-meta-05,
  author = {Chiyan Chen and Hongwei Xi},
  title = {Meta-programming through typeful code representation},
  journal = {Journal of Functional Programming},
  volume = {15},
  number = {5},
  pages = {797--835},
  year = {2005},
  url = {https://doi.org/10.1017/S0956796805005617}
}
@inproceedings{chen-xi-pepm-03,
  author = {Chiyan Chen and Hongwei Xi},
  title = {Implementing Typeful Program Transformations},
  booktitle = {Workshop on Evaluation and Semantics-Based Program
                 Manipulation ({PEPM})},
  year = {2003},
  month = jun,
  pages = {20--28},
  url = {https://doi.org/10.1145/777388.777392}
}
@inproceedings{cheney-05,
  author = {James Cheney},
  title = {Scrap your nameplate},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2005},
  pages = {180--191},
  url = {http://homepages.inf.ed.ac.uk/jcheney/publications/cheney05icfp.pdf}
}
@article{cheney-70,
  author = {Chris J. Cheney},
  title = {A Nonrecursive List Compacting Algorithm},
  journal = {Communications of the {ACM}},
  volume = {13},
  number = {11},
  pages = {677--678},
  year = {1970},
  url = {https://doi.org/10.1145/362790.362798}
}
@inproceedings{cheney-hinze-02,
  author = {James Cheney and Ralf Hinze},
  title = {A lightweight implementation of generics and
                 dynamics},
  booktitle = {Haskell workshop},
  year = {2002},
  url = {http://www.cs.cornell.edu/people/jcheney/papers/Dynamic-final.pdf}
}
@techreport{cheney-hinze-03,
  author = {James Cheney and Ralf Hinze},
  title = {First-Class Phantom Types},
  institution = {Cornell University},
  year = {2003},
  number = {1901},
  url = {http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cis/TR2003-1901}
}
@inproceedings{cheney-urban-04,
  author = {James Cheney and Christian Urban},
  title = {{$\alpha$Prolog}: {A} Logic Programming Language with
                 Names, Binding and $\alpha$-equivalence},
  booktitle = {International Conference on Logic Programming (ICLP)},
  pages = {269--283},
  year = {2004},
  volume = {3132},
  series = {Lecture Notes in Computer Science},
  month = sep,
  publisher = {Springer},
  url = {http://www.cs.cornell.edu/people/jcheney/papers/alpnba.pdf}
}
@inproceedings{cheng-blelloch-01,
  author = {Perry Cheng and Guy E. Blelloch},
  title = {A Parallel, Real-Time Garbage Collector},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {125--136},
  month = jun,
  year = {2001},
  url = {https://www.cs.cmu.edu/~guyb/papers/gc2001.pdf}
}
@inproceedings{chin-05,
  author = {Wei-Ngan Chin and Huu Hai Nguyen and Shengchao Qin and
                 Martin C. Rinard},
  title = {Memory Usage Verification for {OO} Programs},
  booktitle = {Static Analysis Symposium (SAS)},
  series = {Lecture Notes in Computer Science},
  volume = {3672},
  pages = {70--86},
  publisher = {Springer},
  month = sep,
  year = {2005},
  url = {https://doi.org/10.1007/11547662_7}
}
@inproceedings{chin-08,
  author = {Wei-Ngan Chin and Huu Hai Nguyen and Corneliu Popeea
                 and Shengchao Qin},
  title = {Analysing memory resource bounds for low-level
                 programs},
  booktitle = {International Symposium on Memory Management},
  pages = {151--160},
  month = jun,
  year = {2008},
  url = {https://www7.in.tum.de/~popeea/research/memory.ismm08.pdf}
}
@article{chin-khoo-01,
  author = {Wei-Ngan Chin and Siau-Cheng Khoo},
  title = {Calculating Sized Types},
  journal = {Higher-Order and Symbolic Computation},
  volume = {14},
  number = {2--3},
  month = sep,
  year = {2001},
  pages = {261--300},
  publisher = {Kluwer},
  url = {http://dx.doi.org/10.1023/A:1012996816178}
}
@article{chirimar-gunter-riecke-96,
  author = {Jawahar Chirimar and Carl A. Gunter and Jon G.
                 Riecke},
  title = {Reference Counting as a Computational Interpretation
                 of Linear Logic},
  journal = {Journal of Functional Programming},
  volume = {6},
  number = {2},
  pages = {195--244},
  year = {1996},
  url = {http://seclab.illinois.edu/wp-content/uploads/2011/04/ChirimarGR96a.pdf}
}
@inproceedings{chitil-01,
  author = {Olaf Chitil},
  title = {Compositional Explanation of Types and Algorithmic
                 Debugging of Type Errors},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {193--204},
  year = {2001},
  month = sep,
  url = {http://www-users.cs.york.ac.uk/~olaf/PUBLICATIONS/explainTypes.ps.gz}
}
@inproceedings{chlipala-07,
  author = {Adam Chlipala},
  title = {A certified type-preserving compiler from lambda
                 calculus to assembly language},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  month = jun,
  year = {2007},
  pages = {54--65},
  url = {http://adam.chlipala.net/papers/CtpcPLDI07/CtpcPLDI07.pdf}
}
@inproceedings{chlipala-08,
  author = {Adam Chlipala},
  title = {Parametric higher-order abstract syntax for mechanized
                 semantics},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2008},
  pages = {143--156},
  url = {http://adam.chlipala.net/papers/PhoasICFP08/PhoasICFP08.pdf}
}
@inproceedings{chlipala-11,
  author = {Adam Chlipala},
  title = {Mostly-automated verification of low-level programs in
                 computational separation logic},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  month = jun,
  pages = {234--245},
  year = {2011},
  url = {http://adam.chlipala.net/papers/BedrockPLDI11/BedrockPLDI11.pdf}
}
@inproceedings{chlipala-15,
  author = {Adam Chlipala},
  title = {From Network Interface to Multithreaded Web
                 Applications: {A} Case Study in Modular Program
                 Verification},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {609--622},
  month = jan,
  year = {2015},
  url = {http://adam.chlipala.net/papers/BedrockPOPL15/BedrockPOPL15.pdf}
}
@inproceedings{chlipala-bedrock-13,
  author = {Adam Chlipala},
  title = {The {Bedrock} structured programming system: combining
                 generative metaprogramming and {Hoare} logic in an
                 extensible program verifier},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {391--402},
  month = sep,
  year = {2013},
  url = {http://adam.chlipala.net/papers/BedrockICFP13/BedrockICFP13.pdf}
}
@book{chlipala-cpdt-13,
  author = {Adam Chlipala},
  title = {Certified Programming and Dependent Types},
  publisher = {MIT Press},
  year = {2013},
  month = nov,
  url = {http://adam.chlipala.net/cpdt/}
}
@inproceedings{chlipala-ynot-09,
  author = {Adam Chlipala and Gregory Malecha and Greg Morrisett
                 and Avraham Shinnar and Ryan Wisnesky},
  title = {Effective interactive proofs for higher-order
                 imperative programs},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2009},
  pages = {79--90},
  url = {http://ynot.cs.harvard.edu/papers/icfp09.pdf}
}
@article{chong-aws-21,
  author = {Nathan Chong and Byron Cook and Jonathan Eidelman and
                 Konstantinos Kallas and Kareem Khazem and Felipe R.
                 Monteiro and Daniel Schwartz{-}Narbonne and Serdar
                 Tasiran and Michael Tautschnig and Mark R. Tuttle},
  title = {Code-level model checking in the software development
                 workflow at {Amazon Web Services}},
  journal = {Software: Practice and Experience},
  volume = {51},
  number = {4},
  pages = {772--797},
  year = {2021},
  url = {https://doi.org/10.1002/spe.2949}
}
@phdthesis{choppella-02,
  author = {Venkatesh Choppella},
  title = {Unification Source-tracking with Application to
                 Diagnosis of Type Inference},
  school = {Indiana University},
  year = {2002},
  month = aug,
  url = {http://www.cs.indiana.edu/cgi-bin/techreports/TRNNN.cgi?trnum=TR566}
}
@inproceedings{chrzaszcz-98,
  author = {Jacek Chrzaszcz},
  title = {Polymorphic Subtyping Without Distributivity},
  booktitle = {International Symposium on Mathematical Foundations of
                 Computer Science},
  pages = {346--355},
  month = aug,
  year = {1998},
  series = {Lecture Notes in Computer Science},
  volume = {1450},
  publisher = {Springer},
  url = {http://www.mimuw.edu.pl/~chrzaszc/papers/Chrzaszcz_Polymorphic-subtyping-without-distributivity.ps.gz}
}
@article{claessen-99,
  author = {Koen Claessen},
  title = {A Poor Man's Concurrency Monad},
  journal = {Journal of Functional Programming},
  volume = {9},
  number = {3},
  pages = {313--323},
  year = {1999},
  url = {https://doi.org/10.1017/s0956796899003342}
}
@article{claessen-hughes-02,
  author = {Koen Claessen and John Hughes},
  title = {Testing monadic code with {QuickCheck}},
  journal = {{ACM} {SIGPLAN} Notices},
  volume = {37},
  number = {12},
  pages = {47--59},
  year = {2002},
  url = {http://www.cse.chalmers.se/~rjmh/Papers/QuickCheckST.ps}
}
@article{clarke-79,
  author = {Edmund Clarke},
  title = {Programming Language Constructs for Which It Is
                 Impossible To Obtain Good {Hoare} Axiom Systems},
  journal = {Journal of the {ACM}},
  volume = {26},
  number = {1},
  year = {1979},
  month = jan,
  pages = {129--147},
  url = {http://doi.acm.org/10.1145/322108.322121}
}
@inproceedings{clarke-drossopoulou-02,
  author = {Dave Clarke and Sophia Drossopoulou},
  title = {Ownership, encapsulation and the disjointness of type
                 and effect},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = nov,
  year = {2002},
  pages = {292--310},
  url = {http://pubs.doc.ic.ac.uk/ownershipAndEffects/ownershipAndEffects.ps}
}
@inproceedings{clarke-noble-potter-01,
  author = {David G. Clarke and James Noble and John Potter},
  title = {Simple Ownership Types for Object Containment},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jun,
  year = {2001},
  pages = {53--76},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2072},
  url = {http://www.cs.washington.edu/education/courses/cse590p/00wi/simple.pdf}
}
@inproceedings{clarke-potter-noble-98,
  author = {David G. Clarke and John M. Potter and James Noble},
  title = {Ownership types for flexible alias protection},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {1998},
  pages = {48--64},
  url = {http://doi.acm.org/10.1145/286936.286947}
}
@incollection{clarke-survey-13,
  author = {Dave Clarke and Johan {\"O}stlund and Ilya Sergey and
                 Tobias Wrigstad},
  title = {Ownership Types: {A} Survey},
  booktitle = {Aliasing in Object-Oriented Programming. Types,
                 Analysis and Verification},
  year = {2013},
  pages = {15--58},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {7850},
  url = {http://dx.doi.org/10.1007/978-3-642-36946-9_3}
}
@inproceedings{clarke-wrigstad-03,
  author = {Dave Clarke and Tobias Wrigstad},
  title = {External Uniqueness Is Unique Enough},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jul,
  year = {2003},
  pages = {176--200},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2743},
  url = {https://lirias.kuleuven.be/bitstream/123456789/203436/1/euiue.pdf}
}
@inproceedings{cleaveland-steffen-91,
  author = {Rance Cleaveland and Bernhard Steffen},
  title = {A linear-time model-checking algorithm for the
                 alternation-free modal mu-calculus},
  booktitle = {Computer Aided Verification (CAV)},
  pages = {48--58},
  year = {1991},
  volume = {575},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-55179-4_6}
}
@inproceedings{clement-despeyroux-kahn-86,
  author = {Dominique Cl{\'e}ment and Jo{\"e}lle Despeyroux and
                 Thierry Despeyroux and Gilles Kahn},
  title = {A simple applicative language: Mini-{ML}},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  year = {1986},
  pages = {13--27}
}
@inproceedings{clements-felleisen-03,
  author = {John Clements and Matthias Felleisen},
  title = {A Tail-Recursive Semantics for Stack Inspections},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {22--37},
  year = {2003},
  volume = {2618},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://www.ccs.neu.edu/scheme/pubs/esop2003-cf.ps.gz}
}
@inproceedings{clochard-filliatre-paskevich-15,
  title = {How to avoid proving the absence of integer
                 overflows},
  author = {Martin Clochard and Jean-Christophe Filli{\^a}tre and
                 Andrei Paskevich},
  url = {https://hal.inria.fr/hal-01162661},
  booktitle = {Verified Software: Theories, Tools and Experiments},
  year = {2015},
  month = jul,
  pages = {94--109},
  series = {Lecture Notes in Computer Science},
  volume = {9593},
  publisher = {Springer}
}
@inproceedings{clochard-marche-paskevich-14,
  author = {Martin Clochard and Claude Marché and Andrei
                 Paskevich},
  title = {Verified programs with binders},
  booktitle = {Programming Languages Meets Program Verification
                 (PLPV)},
  pages = {29--40},
  month = jan,
  year = {2014},
  url = {https://hal.inria.fr/hal-00913431}
}
@inproceedings{coblenz-16,
  author = {Michael J. Coblenz and Joshua Sunshine and Jonathan
                 Aldrich and Brad A. Myers and Sam Weber and Forrest
                 Shull},
  title = {Exploring language support for immutability},
  booktitle = {International Conference on Software Engineering
                 ({ICSE})},
  pages = {736--747},
  month = may,
  year = {2016},
  url = {http://www.cs.cmu.edu/~aldrich/papers/icse16-immutability.pdf}
}
@article{cocco-dulli-82,
  author = {Nicoletta Cocco and S. Dulli},
  title = {A Mechanism for Exception Handling and Its
                 Verification Rules},
  journal = {Computer Languages},
  volume = {7},
  number = {2},
  pages = {89--102},
  year = {1982},
  url = {https://doi.org/10.1016/0096-0551(82)90024-8}
}
@inproceedings{cockett-al-20,
  author = {J. Robin B. Cockett and Geoff S. H. Cruttwell and
                 Jonathan Gallagher and Jean{-}Simon Pacaud Lemay and
                 Benjamin MacAdam and Gordon D. Plotkin and Dorette
                 Pronk},
  title = {Reverse Derivative Categories},
  booktitle = {Computer Science Logic},
  series = {{Leibniz} International Proceedings in Informatics},
  volume = {152},
  pages = {18:1--18:16},
  publisher = {Schloss Dagstuhl - Leibniz-Zentrum f{\"{u}}r
                 Informatik},
  month = jan,
  year = {2020},
  url = {https://doi.org/10.4230/LIPIcs.CSL.2020.18}
}
@article{cohen-search-06,
  author = {Albert Cohen and Sébastien Donadio and Maria-Jesus
                 Garzaran and Christoph Herrmann and Oleg Kiselyov and
                 David Padua},
  title = {In search of a program generator to implement generic
                 transformations for high-performance computing},
  journal = {Science of Computer Programming},
  year = {2006},
  volume = {62},
  number = {1},
  pages = {25--46},
  month = sep,
  url = {http://www-rocq.inria.fr/~acohen/publications/CDGHKP06.ps.gz}
}
@inproceedings{cohen-vcc-09,
  author = {Ernie Cohen and Markus Dahlweid and Mark A. Hillebrand
                 and Dirk Leinenbach and Michal Moskal and Thomas Santen
                 and Wolfram Schulte and Stephan Tobies},
  title = {{VCC}: {A} Practical System for Verifying Concurrent
                 {C}},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  year = {2009},
  pages = {23--42},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5674},
  url = {http://research.microsoft.com/apps/pubs/default.aspx?id=117859}
}
@inproceedings{colazzo-ghelli-99,
  author = {Dario Colazzo and Giorgio Ghelli},
  title = {Subtyping Recursive Types in {Kernel Fun}},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {137--146},
  year = {1999},
  month = jul
}
@article{collins-60,
  author = {George E. Collins},
  title = {A method for overlapping and erasure of lists},
  journal = {Communications of the {ACM}},
  volume = {3},
  number = {12},
  pages = {655--657},
  year = {1960},
  url = {https://doi.org/10.1145/367487.367501}
}
@techreport{collins-shao-02,
  author = {Gregory D. Collins and Zhong Shao},
  title = {Intensional Analysis of Higher-Kinded Recursive
                 Types},
  institution = {Yale University},
  year = {2002},
  number = {YALEU/DCS/TR-1240},
  url = {http://flint.cs.yale.edu/flint/publications/collins02-ita-tr.pdf}
}
@inproceedings{colmerauer-84,
  author = {Alain Colmerauer},
  title = {Equations and Inequations on Finite and Infinite
                 Trees},
  booktitle = {International Conference on Fifth Generation Computer
                 Systems {(FGCS)}},
  pages = {85--99},
  month = nov,
  year = {1984}
}
@article{color,
  author = {Frédéric Blanqui and Adam Koprowski},
  title = {{CoLoR}: a Coq library on well-founded rewrite
                 relations and its application to the automated
                 verification of termination certificates},
  journal = {Mathematical Structures in Computer Science},
  year = {2011},
  volume = {21},
  number = {4},
  pages = {827--859},
  month = aug,
  url = {https://who.rocq.inria.fr/Frederic.Blanqui/papers/mscs11.pdf}
}
@inproceedings{comon-93,
  author = {Hubert Comon},
  title = {Constraints in Term Algebras (Short Survey)},
  booktitle = {International Conference on Algebraic Methodology and
                 Software Technology (AMAST)},
  year = {1993},
  publisher = {Springer},
  series = {Workshops in Computing},
  url = {http://www.lsv.ens-cachan.fr/~comon/ftp.articles/amast93.ps}
}
@article{comon-lescanne-89,
  author = {Hubert Comon and Pierre Lescanne},
  title = {Equational Problems and Disunification},
  journal = {Journal of Symbolic Computation},
  year = {1989},
  volume = {7},
  pages = {371--425},
  url = {http://perso.ens-lyon.fr/pierre.lescanne/PUBLICATIONS/jsc-diseq.pdf}
}
@misc{compcert,
  author = {Xavier Leroy},
  title = {The {CompCert C} compiler},
  year = {2024},
  howpublished = {\url{http://compcert.org/}}
}
@inproceedings{conchon-filliatre-07,
  author = {Sylvain Conchon and Jean{-}Christophe
                 Filli{\^{a}}tre},
  title = {A persistent union-find data structure},
  booktitle = {ACM Workshop on ML},
  pages = {37--46},
  month = oct,
  year = {2007},
  url = {https://www.lri.fr/~filliatr/puf/}
}
@inproceedings{conchon-filliatre-08,
  author = {Sylvain Conchon and Jean{-}Christophe
                 Filli{\^{a}}tre},
  title = {Semi-persistent Data Structures},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {4960},
  pages = {322--336},
  publisher = {Springer},
  month = apr,
  year = {2008},
  url = {https://www.lri.fr/~filliatr/ftp/publis/spds-esop08.pdf}
}
@inproceedings{conchon-filliatre-jfla-07,
  author = {Sylvain Conchon and Jean-Christophe Filli{\^{a}}tre},
  title = {{Union-Find} Persistant},
  booktitle = {Journées Françaises des Langages Applicatifs
                 (JFLA)},
  year = {2007},
  url = {https://www.lri.fr/~filliatr/ftp/publis/puf.ps.gz}
}
@book{conchon-filliatre-ocaml-14,
  author = {Sylvain Conchon et Jean-Christophe Filliâtre},
  title = {Apprendre à programmer avec {OCaml}: Algorithmes et
                 structures de données},
  publisher = {Eyrolles},
  year = {2014},
  url = {http://programmer-avec-ocaml.lri.fr/}
}
@inproceedings{conchon-kanig-lescuyer-08,
  author = {Sylvain Conchon and Johannes Kanig and Stéphane
                 Lescuyer},
  title = {\textsc{Sat-Micro}: petit mais costaud!},
  booktitle = {Journées Françaises des Langages Applicatifs
                 (JFLA)},
  year = {2008},
  month = jan,
  url = {http://www.lri.fr/~conchon/publis/conchon-jfla08.ps}
}
@inproceedings{conchon-le-fessant-99,
  title = {Jocaml: Mobile Agents for {Objective-Caml}},
  author = {Sylvain Conchon and Fabrice Le Fessant},
  booktitle = {International Symposium on Agent Systems and
                 Applications and International Symposium on Mobile
                 Agents {(ASA/MA)}},
  year = {1999},
  month = oct,
  pages = {22--29},
  url = {http://para.inria.fr/~conchon/publis/conchon-lefessant-asama99.ps.gz}
}
@inproceedings{conchon-pottier-01,
  author = {Sylvain Conchon and François Pottier},
  title = {{JOIN(X)}: Constraint-Based Type Inference for the
                 Join-Calculus},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2028},
  pages = {221--236},
  month = apr,
  year = {2001},
  url = {http://cambium.inria.fr/~fpottier/publis/conchon-fpottier-esop01.ps.gz}
}
@techreport{considine-00,
  author = {Jeffrey Considine},
  title = {Efficient Hash-Consing of Recursive Types},
  institution = {Boston University},
  year = {2000},
  number = {2000-006},
  month = jan,
  url = {http://www.cs.bu.edu/techreports/pdf/2000-006-hashconsing-recursive-types.pdf}
}
@article{convent-al-20,
  author = {Lukas Convent and Sam Lindley and Conor McBride and
                 Craig McLaughlin},
  title = {Doo Bee Doo Bee Doo},
  journal = {Journal of Functional Programming},
  month = mar,
  year = {2020},
  volume = {30},
  url = {https://homepages.inf.ed.ac.uk/slindley/papers/frankly-draft-february2019.pdf}
}
@inproceedings{cook-09,
  author = {William R. Cook},
  title = {On understanding data abstraction, revisited},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2009},
  pages = {557--572},
  url = {http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf}
}
@inproceedings{cook-71,
  author = {Stephen A. Cook},
  title = {The Complexity of Theorem-Proving Procedures},
  booktitle = {ACM Symposium on Theory of Computing},
  month = may,
  year = {1971},
  pages = {151--158},
  url = {http://doi.acm.org/10.1145/800157.805047}
}
@inproceedings{cook-tractable-11,
  author = {Byron Cook and Christoph Haase and Jo{\"{e}}l Ouaknine
                 and Matthew J. Parkinson and James Worrell},
  title = {Tractable Reasoning in a Fragment of Separation
                 Logic},
  booktitle = {International Conference on Concurrency Theory
                 (CONCUR)},
  pages = {235--249},
  month = sep,
  year = {2011},
  series = {Lecture Notes in Computer Science},
  volume = {6901},
  publisher = {Springer},
  url = {http://www.cs.ox.ac.uk/files/4048/sl.pdf}
}
@inproceedings{cooper-al-06,
  author = {Ezra Cooper and Sam Lindley and Philip Wadler and
                 Jeremy Yallop},
  title = {{Links}: {Web} Programming Without Tiers},
  booktitle = {Formal Methods for Components and Objects},
  year = {2006},
  month = nov,
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {4709},
  pages = {266--296},
  url = {https://homepages.inf.ed.ac.uk/slindley/papers/links-fmco06.pdf}
}
@techreport{cooper-harvey-kennedy-04,
  author = {Keith D. Cooper and Timothy J. Harvey and Ken
                 Kennedy},
  title = {Iterative Data-flow Analysis, Revisited},
  institution = {Rice University},
  year = {2004},
  number = {TR04-432},
  month = mar,
  url = {http://www.cs.rice.edu/~harv/my_papers/worklist.pdf}
}
@article{coppo-dezani-80,
  author = {Mario Coppo and Mariangiola Dezani-Ciancaglini},
  title = {An extension of the basic functionality theory for the
                 $\lambda$-calculus},
  journal = {Notre Dame J. Formal Logic},
  year = {1980},
  volume = {21},
  number = {4},
  pages = {685--693}
}
@manual{coq,
  author = {{The {Coq} development team}},
  title = {The {Coq} Proof Assistant},
  year = {2020},
  url = {http://coq.inria.fr/}
}
@book{coqart,
  author = {Yves Bertot and Pierre Castéran},
  title = {Interactive Theorem Proving and Program Development --
                 {Coq'Art}: The Calculus of Inductive Constructions},
  series = {Texts in Theoretical Computer Science. An {EATCS}
                 Series},
  publisher = {Springer},
  year = {2004},
  url = {https://www.labri.fr/perso/casteran/CoqArt/coqartF.pdf}
}
@inproceedings{coquand-86,
  author = {Thierry Coquand},
  title = {An analysis of {Girard}'s paradox},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {227--236},
  month = jun,
  year = {1986},
  url = {http://hal.inria.fr/docs/00/07/60/23/PDF/RR-0531.pdf}
}
@article{coquelicot-15,
  title = {{Coquelicot}: {A} User-Friendly Library of Real
                 Analysis for {Coq}},
  author = {Sylvie Boldo and Catherine Lelay and Guillaume
                 Melquiond},
  url = {https://hal.inria.fr/hal-00860648},
  journal = {Mathematics in Computer Science},
  publisher = {Springer},
  volume = {9},
  number = {1},
  pages = {41--62},
  year = {2015},
  month = mar
}
@book{cormen-en,
  author = {Thomas H. Cormen and Charles E. Leiserson and Ronald
                 L. Rivest and Clifford Stein},
  title = {Introduction to Algorithms (Third Edition)},
  publisher = {MIT Press},
  year = {2009},
  url = {http://mitpress.mit.edu/catalog/item/
                 default.asp?ttype=2&tid=11866}
}
@book{cormen-fr,
  author = {Thomas H. Cormen and Charles E. Leiserson and Ronald
                 L. Rivest and Clifford Stein},
  title = {Algorithmique (Troisième Édition)},
  publisher = {Dunod},
  year = {2010},
  series = {Sciences Sup},
  url = {http://www.dunod.com/informatique-multimedia/fondements-de-linformatique/algorithmique/algorithmique},
  note = {Traduction française}
}
@article{costa,
  author = {Elvira Albert and Puri Arenas and Samir Genaim and
                 German Puebla and Damiano Zanardini},
  title = {Cost analysis of object-oriented bytecode programs},
  journal = {Theoretical Computer Science},
  volume = {413},
  number = {1},
  pages = {142--159},
  year = {2012},
  url = {http://costa.fdi.ucm.es/~damiano/pubs/tcs12.pdf}
}
@article{courcelle-fundamental-trees,
  title = {Fundamental Properties of Infinite Trees},
  author = {Bruno Courcelle},
  pages = {95--169},
  journal = {Theoretical Computer Science},
  year = {1983},
  month = mar,
  volume = {25},
  number = {2}
}
@incollection{cousot-90,
  author = {Patrick Cousot},
  title = {Methods and Logics for Proving Programs},
  booktitle = {Formal Models and Semantics},
  series = {Handbook of Theoretical Computer Science},
  publisher = {Elsevier},
  year = {1990},
  pages = {841--993},
  volume = {B},
  chapter = {15},
  url = {http://www.di.ens.fr/~cousot/publications.www/Cousot-HTCS-vB-FMS-c15-p843--993-1990.pdf.gz}
}
@inproceedings{cousot-cousot-77,
  author = {Patrick Cousot and Radhia Cousot},
  title = {Abstract interpretation: a unified lattice model for
                 static analysis of programs by construction or
                 approximation of fixpoints},
  pages = {238--252},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1977},
  url = {http://www.di.ens.fr/~cousot/publications.www/CousotCousot-POPL-77-ACM-p238--252-1977.pdf}
}
@article{cousot-cousot-constructive-79,
  author = {Patrick Cousot and Radhia Cousot},
  title = {Constructive Versions of {Tarski}'s Fixed Point
                 Theorems},
  journal = {Pacific Journal of Mathematics},
  volume = {81},
  number = {1},
  pages = {43--57},
  year = {1979},
  url = {http://www.di.ens.fr/~cousot/publications.www/CousotCousot-PacJMath-82-1-1979.pdf}
}
@inproceedings{cousot-gentle-09,
  author = {Patrick Cousot and Radhia Cousot},
  title = {A gentle introduction to formal verification of
                 computer systems by abstract interpretation},
  booktitle = {Logics and Languages for Reliability and Security},
  series = {{NATO} Science Series {III}: Computer and Systems
                 Sciences},
  editor = {J.~Esparza and O.~Grumberg and M.~Broy},
  publisher = {IOS Press},
  year = {2010},
  pages = {1--29},
  url = {http://www.di.ens.fr/~cousot/COUSOTpapers/MARKTOBERDORF-09.shtml}
}
@inproceedings{cousot-sba-95,
  author = {Patrick Cousot and Radhia Cousot},
  title = {Formal Language, Grammar and Set-Constraint-Based
                 Program Analysis by Abstract Interpretation},
  pages = {170--181},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  publisher = {ACM Press},
  year = {1995}
}
@inproceedings{coutts-07,
  author = {Duncan Coutts and Roman Leshchinskiy and Don Stewart},
  title = {Stream fusion: from lists to streams to nothing at
                 all},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {315--326},
  month = oct,
  year = {2007},
  url = {http://dx.doi.org/10.1145/1291151.1291199}
}
@inproceedings{crank-felleisen-91,
  author = {Erik Crank and Matthias Felleisen},
  title = {Parameter-Passing and the Lambda Calculus},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {233--244},
  year = {1991},
  month = jan,
  url = {http://www.ccs.neu.edu/scheme/pubs/popl91-cf.ps.gz}
}
@techreport{crary-99,
  author = {Karl Crary},
  title = {Simple, Efficient Object Encoding using Intersection
                 Types},
  institution = {Carnegie Mellon University},
  year = {1999},
  number = {CMU-CS-99-100},
  url = {http://www-2.cs.cmu.edu/~crary/papers/1999/orei/orei.ps.gz}
}
@inproceedings{crary-cc-99,
  author = {Karl Crary and David Walker and Greg Morrisett},
  title = {Typed Memory Management in a Calculus of
                 Capabilities},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {262--275},
  year = {1999},
  month = jan,
  url = {http://www.cs.cornell.edu/talc/papers/capabilities.pdf}
}
@article{crary-intensional-02,
  author = {Karl Crary and Stephanie Weirich and Greg Morrisett},
  title = {Intensional Polymorphism in Type Erasure Semantics},
  journal = {Journal of Functional Programming},
  month = nov,
  year = {2002},
  volume = {12},
  number = {6},
  pages = {567--600},
  url = {http://www-2.cs.cmu.edu/~crary/papers/2002/typepass/typepass.ps}
}
@inproceedings{crary-intensional-98,
  author = {Karl Crary and Stephanie Weirich and Greg Morrisett},
  title = {Intensional Polymorphism in Type-Erasure Semantics},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {301--313},
  year = {1998},
  month = sep,
  url = {http://www.cis.upenn.edu/~sweirich/papers/typepass/typepass.ps}
}
@phdthesis{crary-phd-98,
  author = {Karl Crary},
  title = {Type-Theoretic Methodology for Practical Programming
                 Languages},
  school = {Cornell University},
  year = {1998},
  month = aug,
  url = {http://www.cs.cmu.edu/~crary/papers/1998/thesis/thesis.ps.gz}
}
@techreport{crary-standard-09,
  author = {Karl Crary},
  title = {A Simple Proof of Call-by-Value Standardization},
  institution = {Carnegie Mellon University},
  year = {2009},
  type = {Technical Report},
  number = {CMU-CS-09-137},
  url = {https://www.cs.cmu.edu/~crary/papers/2009/standard.pdf}
}
@inproceedings{crary-weirich-00,
  author = {Karl Crary and Stephanie Weirich},
  title = {Resource bound certification},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2000},
  pages = {184--198},
  url = {http://www.cs.cornell.edu/talc/papers/resource_bound/res.pdf}
}
@inproceedings{crary-weirich-99,
  author = {Karl Crary and Stephanie Weirich},
  title = {Flexible Type Analysis},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {233--248},
  year = {1999},
  url = {http://www-2.cs.cmu.edu/~crary/papers/1999/lx/lx.ps.gz}
}
@inproceedings{crespo-kunz-11,
  author = {Juan Manuel Crespo and César Kunz},
  title = {A Machine-Checked Framework for Relational Separation
                 Logic},
  booktitle = {Software Engineering and Formal Methods},
  series = {Lecture Notes in Computer Science},
  volume = {7041},
  pages = {122--137},
  publisher = {Springer},
  month = nov,
  year = {2011},
  url = {https://software.imdea.org/~ckunz/rsl2sl/SEFM2011.pdf}
}
@phdthesis{cretin-14,
  author = {Julien Cretin},
  title = {Erasable coercions: a unified approach to type
                 systems},
  school = {Université Paris Diderot},
  year = {2014},
  month = jan,
  url = {http://tel.archives-ouvertes.fr/tel-00940511}
}
@inproceedings{cretin-remy-12,
  author = {Julien Cretin and Didier R{\'e}my},
  title = {On the power of coercion abstraction},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2012},
  pages = {361--372},
  url = {http://cambium.inria.fr/~remy/coercions/Cretin-Remy:coercions@popl2012.pdf}
}
@article{crolard-polonowski-12,
  author = {Tristan Crolard and Emmanuel Polonowski},
  title = {Deriving a {Floyd-Hoare} logic for non-local jumps
                 from a formul{\ae}-as-types notion of control},
  journal = {Journal of Logical and Algebraic Methods in
                 Programming},
  volume = {81},
  number = {3},
  pages = {181--208},
  year = {2012},
  url = {http://cedric.cnam.fr/sys/crolard/publications/Hoare.pdf}
}
@phdthesis{curtis-90,
  author = {Pavel Curtis},
  title = {Constrained Quantification in Polymorphic Type
                 Analysis},
  school = {Cornell University},
  year = {1990},
  month = feb,
  url = {http://www.parc.xerox.com/company/history/publications/bw-ps-gz/csl90-1.ps.gz}
}
@inproceedings{cyclone-regions-02,
  author = {Dan Grossman and Greg Morrisett and Trevor Jim and
                 Michael Hicks and Yanling Wang and James Cheney},
  title = {Region-Based Memory Management in {Cyclone}},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {282--293},
  year = {2002},
  month = jun,
  url = {http://www.cs.cornell.edu/projects/cyclone/papers/cyclone-regions.pdf}
}
@inproceedings{da-rocha-pinto-et-al-14,
  author = {Pedro da Rocha Pinto and Thomas Dinsdale{-}Young and
                 Philippa Gardner},
  editor = {Richard E. Jones},
  title = {{TaDA}: A Logic for Time and Data Abstraction},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  series = {Lecture Notes in Computer Science},
  volume = {8586},
  pages = {207--231},
  publisher = {Springer},
  month = jul,
  year = {2014},
  url = {https://vtss.doc.ic.ac.uk/publications/daRochaPinto2014TaDA.pdf}
}
@inproceedings{dafny,
  author = {K. Rustan M. Leino},
  title = {{Dafny}: An Automatic Program Verifier for Functional
                 Correctness},
  booktitle = {Logic for Programming Artificial Intelligence and
                 Reasoning (LPAR)},
  pages = {348--370},
  year = {2010},
  volume = {6355},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml203.pdf}
}
@inproceedings{dag-calculus,
  author = {Umut A. Acar and Arthur Charguéraud and Mike Rainey
                 and Filip Sieczkowski},
  title = {Dag-calculus: a calculus for parallel computation},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {18--32},
  month = sep,
  year = {2016},
  url = {https://doi.org/10.1145/2951913.2951946}
}
@phdthesis{damas-84,
  author = {Luis Damas},
  title = {Type Assignment in Programming Languages},
  school = {University of Edinburgh},
  year = {1984},
  url = {http://hdl.handle.net/1842/13555}
}
@inproceedings{damas-milner-82,
  author = {Luis Damas and Robin Milner},
  title = {Principal type-schemes for functional programs},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1982},
  pages = {207--212},
  url = {http://doi.acm.org/10.1145/582153.582176}
}
@inproceedings{damm-josko-83,
  author = {Werner Damm and Bernhard Josko},
  title = {A Sound and Relatively$^*$ Complete Axiomatization of
                 {Clarke's} Language {L4}},
  booktitle = {Logic of Programs},
  pages = {161--175},
  year = {1983},
  volume = {164},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-12896-4_362}
}
@article{dang-20,
  author = {Hoang-Hai Dang and Jacques-Henri Jourdan and
                 Jan-Oliver Kaiser and Derek Dreyer},
  title = {{RustBelt} meets relaxed memory},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {{POPL}},
  pages = {34:1--34:29},
  year = {2020},
  url = {https://hal.inria.fr/hal-02351793/}
}
@inproceedings{dang-compass-22,
  author = {Hoang-Hai Dang and Jaehwang Jung and Jaemin Choi and
                 Duc-Than Nguyen and William Mansky and Jeehoon Kang and
                 Derek Dreyer},
  title = {Compass: strong and compositional library
                 specifications in relaxed memory separation logic},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {792--808},
  month = jun,
  year = {2022},
  url = {https://doi.org/10.1145/3519939.3523451}
}
@inproceedings{danielsson-06,
  author = {Nils Anders Danielsson and John Hughes and Patrik
                 Jansson and Jeremy Gibbons},
  title = {Fast and loose reasoning is morally correct},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2006},
  pages = {206--217},
  url = {http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/fast+loose.pdf}
}
@inproceedings{danielsson-08,
  author = {Nils Anders Danielsson},
  title = {Lightweight Semiformal Time Complexity Analysis for
                 Purely Functional Data Structures},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2008},
  month = jan,
  url = {http://www.cse.chalmers.se/~nad/publications/danielsson-popl2008.pdf}
}
@techreport{danielsson-08-tr,
  author = {Nils Anders Danielsson},
  title = {A Formalisation of the Correctness Result from
                 {``Lightweight} Semiformal Time Complexity Analysis for
                 Purely Functional Data Structures''},
  year = {2007},
  number = {07-16},
  type = {Technical Report},
  institution = {Chalmers University},
  month = jan,
  url = {https://www.cse.chalmers.se/~nad/publications/danielsson-popl2008-tr.pdf}
}
@inproceedings{danielsson-10,
  author = {Nils Anders Danielsson},
  title = {Beating the Productivity Checker Using Embedded
                 Languages},
  booktitle = {Partiality and Recursion in Interactive Theorem
                 Provers {(PAR@ITP)}},
  series = {EPiC Series},
  volume = {5},
  pages = {34--54},
  publisher = {EasyChair},
  month = jul,
  year = {2010},
  url = {https://doi.org/10.29007/l41f}
}
@inproceedings{danielsson-13,
  author = {Nils Anders Danielsson},
  title = {Correct-by-construction pretty-printing},
  booktitle = {Workshop on dependently-typed programming},
  pages = {1--12},
  month = sep,
  year = {2013},
  url = {https://www.cse.chalmers.se/~nad/publications/danielsson-correct-pretty.pdf}
}
@inproceedings{danielsson-altenkirch-10,
  author = {Nils Anders Danielsson and Thorsten Altenkirch},
  title = {Subtyping, Declaratively},
  booktitle = {Mathematics of Program Construction (MPC)},
  month = jun,
  year = {2010},
  pages = {100--118},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6120},
  url = {http://www.cse.chalmers.se/~nad/publications/danielsson-altenkirch-subtyping.pdf}
}
@inproceedings{danner-13,
  author = {Norman Danner and Jennifer Paykin and James S. Royer},
  title = {A static cost analysis for a higher-order language},
  booktitle = {Programming Languages Meets Program Verification
                 (PLPV)},
  pages = {25--34},
  month = jan,
  year = {2013},
  url = {http://cis.upenn.edu/~jpaykin/papers/danner_PLPV_2013.pdf}
}
@techreport{danvy-98,
  author = {Olivier Danvy},
  title = {Functional Unparsing},
  institution = {BRICS},
  year = {1998},
  number = {RS-98-12},
  month = may,
  url = {http://www.brics.dk/RS/98/12/}
}
@inproceedings{danvy-filinski-90,
  author = {Olivier Danvy and Andrzej Filinski},
  title = {Abstracting Control},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  pages = {151--160},
  year = {1990},
  url = {https://doi.org/10.1145/91556.91622}
}
@article{danvy-filinski-92,
  author = {Olivier Danvy and Andrzej Filinski},
  title = {Representing Control: {A} Study of the {CPS}
                 Transformation},
  journal = {Mathematical Structures in Computer Science},
  volume = {2},
  number = {4},
  pages = {361--391},
  year = {1992},
  url = {https://doi.org/10.1017/S0960129500001535}
}
@article{danvy-goldberg-05,
  author = {Olivier Danvy and Mayer Goldberg},
  title = {There and Back Again},
  journal = {Fundamenta Informaticæ},
  volume = {66},
  number = {4},
  pages = {397--413},
  year = {2005},
  url = {https://www.brics.dk/RS/02/12/BRICS-RS-02-12.pdf}
}
@inproceedings{danvy-keller-puech-15,
  author = {Olivier Danvy and Chantal Keller and Matthias Puech},
  title = {{Typeful Normalization by Evaluation}},
  booktitle = {Types for Proofs and Programs},
  pages = {72--88},
  series = {{Leibniz} International Proceedings in Informatics},
  year = {2015},
  volume = {39},
  publisher = {Schloss Dagstuhl - Leibniz-Zentrum f{\"{u}}r
                 Informatik},
  url = {http://drops.dagstuhl.de/opus/volltexte/2015/5492}
}
@techreport{danvy-nielsen-01,
  author = {Olivier Danvy and Lasse R. Nielsen},
  title = {Defunctionalization at Work},
  month = jun,
  year = {2001},
  institution = {BRICS},
  number = {RS-01-23},
  url = {http://www.brics.dk/RS/01/23/}
}
@article{danvy-nielsen-03,
  author = {Olivier Danvy and Lasse R. Nielsen},
  title = {A first-order one-pass {CPS} transformation},
  journal = {Theoretical Computer Science},
  volume = {308},
  number = {1--3},
  pages = {239--257},
  year = {2003},
  url = {http://dx.doi.org/10.1016/S0304-3975(02)00733-8}
}
@techreport{danvy-nielsen-04,
  author = {Olivier Danvy and Lasse R. Nielsen},
  title = {{CPS} Transformation of Beta-Redexes},
  institution = {BRICS},
  year = {2004},
  type = {Technical Report},
  number = {RS-04-39},
  month = dec,
  url = {http://www.brics.dk/RS/04/39/BRICS-RS-04-39.pdf}
}
@inproceedings{danvy-nielsen-ppdp-01,
  author = {Olivier Danvy and Lasse R. Nielsen},
  title = {Defunctionalization at Work},
  pages = {162--174},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  year = {2001},
  month = sep,
  url = {http://doi.acm.org/10.1145/773184.773202}
}
@article{danvy-pearl-98,
  author = {Olivier Danvy},
  title = {Functional Unparsing},
  journal = {Journal of Functional Programming},
  year = {1998},
  volume = {8},
  number = {6},
  pages = {621--625},
  month = nov,
  url = {http://dx.doi.org/10.1017/S0956796898003104}
}
@phdthesis{dao-00,
  author = {Thi Bich Hanh Dao},
  title = {{R}ésolution de contraintes du premier ordre dans la
                 théorie des arbres finis ou infinis},
  school = {Université de la Méditerranée},
  year = {2000},
  month = dec,
  url = {http://www.univ-orleans.fr/SCIENCES/LIFO/Members/dao/papers/ts4dec.ps.gz}
}
@inproceedings{dargaye-leroy-cps-07,
  author = {Zaynah Dargaye and Xavier Leroy},
  title = {Mechanized verification of {CPS} transformations},
  booktitle = {Logic for Programming Artificial Intelligence and
                 Reasoning (LPAR)},
  year = {2007},
  series = {Lecture Notes in Artificial Intelligence},
  volume = {4790},
  publisher = {Springer},
  pages = {211--225},
  url = {http://cambium.inria.fr/~xleroy/publi/cps-dargaye-leroy.pdf}
}
@inproceedings{das-qadeer-20,
  author = {Ankush Das and Shaz Qadeer},
  title = {Exact and Linear-Time Gas-Cost Analysis},
  booktitle = {Static Analysis Symposium (SAS)},
  series = {Lecture Notes in Computer Science},
  volume = {12389},
  pages = {333--356},
  publisher = {Springer},
  month = nov,
  year = {2020},
  url = {https://www.cs.cmu.edu/~ankushd/docs/move20.pdf}
}
@techreport{davies-05,
  author = {Rowan Davies},
  title = {Practical Refinement-Type Checking},
  institution = {School of Computer Science, Carnegie Mellon
                 University},
  year = {2005},
  number = {CMU-CS-05-110},
  month = may,
  url = {http://reports-archive.adm.cs.cmu.edu/anon/2005/CMU-CS-05-110.pdf}
}
@inproceedings{davies-pfenning-00,
  author = {Rowan Davies and Frank Pfenning},
  title = {Intersection types and computational effects},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2000},
  pages = {198--208},
  url = {http://www.cs.cmu.edu/~fp/papers/icfp00.pdf}
}
@article{davis-logemann-loveland-62,
  author = {Martin Davis and George Logemann and Donald Loveland},
  title = {A machine program for theorem-proving},
  journal = {Communications of the {ACM}},
  volume = {5},
  number = {7},
  year = {1962},
  pages = {394--397},
  url = {http://doi.acm.org/10.1145/368273.368557}
}
@article{davis-putnam-60,
  author = {Martin Davis and Hilary Putnam},
  title = {A Computing Procedure for Quantification Theory},
  journal = {Journal of the {ACM}},
  volume = {7},
  number = {3},
  year = {1960},
  pages = {201--215},
  url = {http://doi.acm.org/10.1145/321033.321034}
}
@inproceedings{de-boer-22,
  author = {Martin de Boer and Stijn de Gouw and Jonas Klamroth
                 and Christian Jung and Mattias Ulbrich and Alexander
                 Weigl},
  title = {Formal Specification and Verification of {JDK}'s
                 Identity Hash Map Implementation},
  booktitle = {Integrated Formal Methods},
  series = {Lecture Notes in Computer Science},
  volume = {13274},
  pages = {45--62},
  publisher = {Springer},
  month = jun,
  year = {2022},
  url = {https://publikationen.bibliothek.kit.edu/1000145727}
}
@article{de-bruijn-72,
  author = {Nicolaas G. de Bruijn},
  title = {Lambda-Calculus Notation with Nameless Dummies: a Tool
                 for Automatic Formula Manipulation with Application to
                 the {Church-Rosser} Theorem},
  journal = {Indag. Math.},
  volume = {34},
  number = {5},
  year = {1972},
  pages = {381--392}
}
@inproceedings{de-jonge-visser-11,
  author = {Maartje de Jonge and Eelco Visser},
  title = {An Algorithm for Layout Preservation in Refactoring
                 Transformations},
  booktitle = {Software Language Engineering},
  series = {Lecture Notes in Computer Science},
  volume = {6940},
  pages = {40--59},
  publisher = {Springer},
  month = jul,
  year = {2011},
  url = {https://doi.org/10.1007/978-3-642-28830-2_3}
}
@article{de-moura-09,
  author = {Ana Lúcia de Moura and Roberto Ierusalimschy},
  title = {Revisiting Coroutines},
  year = {2009},
  month = feb,
  number = {2},
  volume = {31},
  pages = {1--31},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  url = {https://doi.org/10.1145/1462166.1462167}
}
@article{de-vilhena-pottier-21,
  author = {Paulo Emílio de Vilhena and François Pottier},
  title = {A Separation Logic for Effect Handlers},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {POPL},
  month = jan,
  year = {2021},
  url = {http://cambium.inria.fr/~fpottier/publis/de-vilhena-pottier-sleh.pdf}
}
@inproceedings{de-vilhena-pottier-23,
  author = {Paulo Em{\'{\i}}lio de Vilhena and Fran{\c{c}}ois
                 Pottier},
  title = {A Type System for Effect Handlers and Dynamic Labels},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {13990},
  pages = {225--252},
  publisher = {Springer},
  month = apr,
  year = {2023},
  url = {http://cambium.inria.fr/~fpottier/publis/de-vilhena-pottier-tes.pdf}
}
@article{de-vilhena-pottier-jourdan-19,
  author = {Paulo Emílio de Vilhena and François Pottier and
                 Jacques-Henri Jourdan},
  title = {Spy Game: Verifying a Local Generic Solver in {Iris}},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {POPL},
  month = jan,
  year = {2020},
  url = {http://cambium.inria.fr/~fpottier/publis/de-vilhena-pottier-jourdan-spy-game-2020.pdf}
}
@inproceedings{delaware-3mt-13,
  author = {Benjamin Delaware and Steven Keuchel and Tom
                 Schrijvers and Bruno C. d. S. Oliveira},
  title = {Modular monadic meta-theory},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2013},
  pages = {319--330},
  url = {http://ropas.snu.ac.kr/~bruno/papers/3MT.pdf}
}
@inproceedings{delaware-mtc-13,
  author = {Benjamin Delaware and Bruno C. d. S. Oliveira and Tom
                 Schrijvers},
  title = {Meta-theory à La Carte},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2013},
  pages = {207--218},
  url = {http://people.csail.mit.edu/bendy/MTC/MTC.pdf}
}
@inproceedings{delbianco-nanevski-13,
  author = {Germ{\'{a}}n Andrés Delbianco and Aleksandar
                 Nanevski},
  title = {{Hoare}-style reasoning with (algebraic)
                 continuations},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {363--376},
  month = sep,
  year = {2013},
  url = {http://software.imdea.org/~aleks/papers/callcc/icfp2013.pdf}
}
@inproceedings{deline-faehndrich-01,
  author = {Robert DeLine and Manuel Fähndrich},
  title = {Enforcing High-Level Protocols in Low-Level Software},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {59--69},
  year = {2001},
  month = jun,
  url = {http://research.microsoft.com/apps/pubs/default.aspx?id=67457}
}
@inproceedings{deline-faehndrich-04,
  author = {Robert DeLine and Manuel Fähndrich},
  title = {Typestates for objects},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  pages = {465--490},
  year = {2004},
  volume = {3086},
  series = {Lecture Notes in Computer Science},
  month = jun,
  publisher = {Springer},
  url = {http://research.microsoft.com/apps/pubs/default.aspx?id=67463}
}
@techreport{deline-faehndrich-fugue-04,
  author = {Robert DeLine and Manuel Fähndrich},
  title = {The {Fugue} Protocol Checker: Is Your Software
                 Baroque?},
  institution = {Microsoft Research},
  year = {2004},
  number = {MSR-TR-2004-07},
  month = jan,
  url = {http://research.microsoft.com/apps/pubs/default.aspx?id=67458}
}
@inproceedings{delphin-08,
  author = {Adam Poswolsky and Carsten Schürmann},
  title = {Practical Programming with Higher-Order Encodings and
                 Dependent Types},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {93--107},
  year = {2008},
  volume = {4960},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://cs-www.cs.yale.edu/homes/delphin/files/delphinESOP08.pdf}
}
@article{delphin-09,
  author = {Adam Poswolsky and Carsten Schürmann},
  title = {System Description: {Delphin} -- {A} Functional
                 Programming Language for Deductive Systems},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {228},
  year = {2009},
  pages = {113--120},
  url = {http://www.itu.dk/~carsten/papers/lfmtp-08.pdf}
}
@article{dencker-84,
  author = {Peter Dencker and Karl Dürre and Johannes Heuft},
  title = {Optimization of parser tables for portable compilers},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {6},
  number = {4},
  year = {1984},
  pages = {546--572},
  url = {http://doi.acm.org/10.1145/1780.1802}
}
@article{denning-77,
  author = {Dorothy E. Denning and Peter J. Denning},
  title = {Certification of Programs for Secure Information
                 Flow},
  journal = {Communications of the {ACM}},
  volume = {20},
  number = {7},
  pages = {504--513},
  month = jul,
  year = {1977}
}
@book{denning-82,
  author = {Dorothy E. Denning},
  title = {Cryptography and Data Security},
  publisher = {Addison-Wesley},
  year = {1982}
}
@inproceedings{dennis-sat-06,
  author = {Greg Dennis and Felix Change and Daniel Jackson},
  title = {Modular Verification of Code with {SAT}},
  booktitle = {International Symposium on Software Testing and
                 Analysis (ISSTA)},
  year = {2006},
  month = jul,
  url = {http://sdg.csail.mit.edu/pubs/2006/dennis_modular.pdf}
}
@inproceedings{denny-al-21,
  author = {Paul Denny and James Prather and Brett A. Becker and
                 Catherine Mooney and John Homer and Zachary C. Albrecht
                 and Garrett B. Powell},
  title = {On Designing Programming Error Messages for Novices:
                 Readability and its Constituent Factors},
  booktitle = {Human Factors in Computing Systems},
  pages = {55:1--55:15},
  month = may,
  year = {2021},
  url = {https://doi.org/10.1145/3411764.3445696}
}
@article{denny-malloy-10,
  author = {Joel E. Denny and Brian A. Malloy},
  title = {The {IELR(1)} algorithm for generating minimal {LR(1)}
                 parser tables for non-{LR(1)} grammars with conflict
                 resolution},
  journal = {Science of Computer Programming},
  volume = {75},
  number = {11},
  pages = {943--979},
  year = {2010},
  url = {http://dx.doi.org/10.1016/j.scico.2009.08.001}
}
@article{deremer-pennello-82,
  author = {Frank DeRemer and Thomas Pennello},
  title = {Efficient Computation of ${LALR}(1)$ Look-Ahead Sets},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {4},
  number = {4},
  year = {1982},
  pages = {615--649},
  url = {http://doi.acm.org/10.1145/69622.357187}
}
@techreport{deremer-phd-69,
  author = {Franklin Lewis DeRemer},
  title = {Practical Translators for {LR(k)} Languages},
  institution = {Massachusetts Institute of Technology},
  year = {1969},
  type = {Technical Report},
  number = {MIT-LCS-TR-065},
  url = {http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-065.pdf}
}
@article{deremer-slr-71,
  author = {Franklin L. DeRemer},
  title = {Simple ${LR}(k)$ grammars},
  journal = {Communications of the {ACM}},
  year = {1971},
  volume = {14},
  number = {7},
  pages = {453--460},
  url = {http://dx.doi.org/10.1145/362619.362625}
}
@book{design-patterns,
  author = {Erich Gamma and Richard Helm and Ralph Johnson and
                 John Vlissides},
  title = {Design Patterns: Elements of Reusable Object-oriented
                 Software},
  year = {1995},
  publisher = {Addison-Wesley}
}
@techreport{detlefs-98,
  author = {David L. Detlefs and K. Rustan M. Leino and Greg
                 Nelson and James B. Saxe},
  title = {Extended static checking},
  institution = {Compaq SRC},
  year = {1998},
  type = {Research Report},
  number = {159},
  month = dec,
  url = {ftp://gatekeeper.research.compaq.com/pub/DEC/SRC/research-reports/SRC-159.pdf}
}
@techreport{detlefs-wrestling-98,
  author = {David L. Detlefs and K. Rustan M. Leino and Greg
                 Nelson},
  title = {Wrestling with rep exposure},
  institution = {SRC},
  year = {1998},
  type = {Research Report},
  number = {156},
  month = jul,
  url = {http://www.hpl.hp.com/techreports/Compaq-DEC/SRC-RR-156.pdf}
}
@article{deutsch-bobrow-76,
  author = {L. Peter Deutsch and Daniel G. Bobrow},
  title = {An Efficient, Incremental, Automatic Garbage
                 Collector},
  journal = {Communications of the {ACM}},
  volume = {19},
  number = {9},
  pages = {522--526},
  year = {1976},
  url = {https://people.cs.umass.edu/~emery/classes/cmpsci691s-fall2004/papers/p522-deutsch.pdf}
}
@article{dex-21,
  author = {Adam Paszke and Daniel D. Johnson and David Duvenaud
                 and Dimitrios Vytiniotis and Alexey Radul and Matthew
                 J. Johnson and Jonathan Ragan{-}Kelley and Dougal
                 Maclaurin},
  title = {Getting to the point: index sets and
                 parallelism-preserving autodiff for pointful array
                 programming},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {{POPL}},
  pages = {1--29},
  year = {2021},
  url = {https://arxiv.org/pdf/2104.05372.pdf}
}
@inproceedings{diaframe,
  author = {Ike Mulder and Robbert Krebbers and Herman Geuvers},
  title = {Diaframe: automated verification of fine-grained
                 concurrent programs in {Iris}},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {809--824},
  month = jun,
  year = {2022},
  url = {https://doi.org/10.1145/3519939.3523432}
}
@book{dicosmo-95,
  author = {Roberto {Di Cosmo}},
  title = {Isomorphisms of types: from $\lambda$-calculus to
                 information retrieval and language design},
  series = {Progress in Theoretical Computer Science},
  publisher = {Birkhauser},
  year = {1995},
  url = {http://www.pps.jussieu.fr/~dicosmo/Publications/ISObook.html}
}
@article{dicosmo-jfp-93,
  author = {Roberto {Di Cosmo}},
  title = {Deciding Type isomorphisms in a type assignment
                 framework},
  journal = {Journal of Functional Programming},
  year = {1993},
  volume = {3},
  number = {3},
  pages = {485--525},
  url = {http://www.dicosmo.org/Articles/JFP94.dvi}
}
@inproceedings{diekmann-tratt-20,
  author = {Lukas Diekmann and Laurence Tratt},
  title = {Don't Panic! Better, Fewer, Syntax Errors for {LR}
                 Parsers},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  series = {{Leibniz} International Proceedings in Informatics},
  volume = {166},
  pages = {6:1--6:32},
  month = nov,
  year = {2020},
  url = {https://doi.org/10.4230/LIPIcs.ECOOP.2020.6}
}
@article{dietl-drossopoulou-mueller-11,
  author = {Werner Dietl and Sophia Drossopoulou and Peter
                 M{\"u}ller},
  title = {Separating ownership topology and encapsulation with
                 generic universe types},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {33},
  number = {6},
  year = {2011},
  pages = {20},
  url = {http://pm.inf.ethz.ch/publications/getpdf.php?bibname=Own&id=DietlDrossopoulouMueller11.pdf}
}
@article{dietl-mueller-05,
  author = {Werner Dietl and Peter M{\"u}ller},
  title = {Universes: Lightweight Ownership for {JML}},
  journal = {Journal of Object Technology},
  year = {2005},
  volume = {4},
  number = {8},
  pages = {5--32},
  url = {http://www.jot.fm/issues/issue_2005_10/article1.pdf}
}
@article{dijkstra-59,
  author = {E. W. Dijkstra},
  title = {A Note on Two Problems in Connection with Graphs},
  journal = {Numerische Mathematik},
  year = {1959},
  volume = {1},
  pages = {269--271}
}
@article{dijkstra-75,
  author = {Edsger W. Dijkstra},
  title = {Guarded commands, nondeterminacy and formal derivation
                 of programs},
  journal = {Communications of the ACM},
  volume = {18},
  number = {8},
  year = {1975},
  pages = {453--457},
  url = {http://doi.acm.org/10.1145/360933.360975}
}
@phdthesis{dimock-02,
  author = {Allyn Dimock},
  title = {Type- and Flow-Directed Compilation for Specialized
                 Data Representations},
  school = {Harvard University},
  year = {2002},
  month = jan,
  url = {http://www.cs.uml.edu/~dimock/thesis.ps.gz}
}
@inproceedings{dimock-al-01,
  author = {Allyn Dimock and Ian Westmacott and Robert Muller and
                 Franklyn Turbak and J. B. Wells},
  title = {Functioning without closure: type-safe customized
                 function representations for {Standard ML}},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2001},
  month = sep,
  url = {http://puma.wellesley.edu/~fturbak/pubs/icfp01.ps}
}
@inproceedings{dinsdale-young-views-13,
  author = {Thomas Dinsdale-Young and Lars Birkedal and Philippa
                 Gardner and Matthew J. Parkinson and Hongseok Yang},
  title = {Views: compositional reasoning for concurrent
                 programs},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2013},
  pages = {287--300},
  url = {http://cs.au.dk/~birke/papers/views.pdf}
}
@inproceedings{dinsdaleyoung-cap-10,
  author = {Thomas Dinsdale-Young and Mike Dodds and Philippa
                 Gardner and Matthew J. Parkinson and Viktor Vafeiadis},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  publisher = {Springer},
  title = {Concurrent Abstract Predicates},
  series = {Lecture Notes in Computer Science},
  volume = {6183},
  year = {2010},
  pages = {504--528},
  url = {http://www.cl.cam.ac.uk/~md466/publications/ECOOP.10.concurrent_abstract_predicates.pdf}
}
@techreport{dinsdaleyoung-cap-tr-10,
  author = {Thomas Dinsdale-Young and Mike Dodds and Philippa
                 Gardner and Matthew Parkinson and Viktor Vafeiadis},
  title = {Concurrent Abstract Predicates},
  institution = {University of Cambridge, Computer Laboratory},
  month = apr,
  year = {2010},
  url = {http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-777.pdf}
}
@inproceedings{distefano-parkinson-08,
  author = {Dino Distefano and Matthew J. Parkinson},
  title = {{jStar}: towards practical verification for {Java}},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2008},
  pages = {213--226},
  url = {http://www.eecs.qmul.ac.uk/~ddino/papers/oopsla2008.pdf}
}
@inproceedings{dockins-algebras-09,
  author = {Robert Dockins and Aquinas Hobor and Andrew W. Appel},
  title = {A Fresh Look at Separation Algebras and Share
                 Accounting},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  month = dec,
  year = {2009},
  pages = {161--177},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5904},
  url = {http://www.cs.princeton.edu/~appel/papers/fresh-sa.pdf}
}
@inproceedings{dockins-hobor-12,
  author = {Robert Dockins and Aquinas Hobor},
  title = {Time Bounds for General Function Pointers},
  booktitle = {Mathematical Foundations of Programming Semantics},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {286},
  pages = {139--155},
  publisher = {Elsevier},
  month = jun,
  year = {2012},
  url = {https://doi.org/10.1016/j.entcs.2012.08.010}
}
@inproceedings{dodds-11,
  author = {Mike Dodds and Suresh Jagannathan and Matthew J.
                 Parkinson},
  title = {Modular reasoning for deterministic parallelism},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2011},
  pages = {259--270},
  url = {http://www.cl.cam.ac.uk/~md466/publications/POPL.11.deterministic_parallelism.pdf}
}
@inproceedings{dodds-deny-guarantee-09,
  author = {Mike Dodds and Xinyu Feng and Matthew J. Parkinson and
                 Viktor Vafeiadis},
  title = {Deny-Guarantee Reasoning},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2009},
  pages = {363--377},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5502},
  url = {http://ttic.uchicago.edu/~feng/research/publications/DG.pdf}
}
@article{dodds-sync-16,
  author = {Mike Dodds and Suresh Jagannathan and Matthew J.
                 Parkinson and Kasper Svendsen and Lars Birkedal},
  title = {Verifying custom synchronization constructs using
                 higher-order separation logic},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2016},
  volume = {28},
  number = {2},
  month = jan,
  url = {http://dx.doi.org/10.1145/2818638}
}
@inproceedings{doko-vafeiadis-16,
  author = {Marko Doko and Viktor Vafeiadis},
  title = {A Program Logic for {C11} Memory Fences},
  booktitle = {Verification, Model Checking and Abstract
                 Interpretation (VMCAI)},
  series = {Lecture Notes in Computer Science},
  volume = {9583},
  pages = {413--430},
  publisher = {Springer},
  month = jan,
  year = {2016},
  url = {https://plv.mpi-sws.org/fsl/base/paper.pdf}
}
@inproceedings{doko-vafeiadis-17,
  author = {Marko Doko and Viktor Vafeiadis},
  title = {Tackling Real-Life Relaxed Concurrency with {FSL++}},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {10201},
  pages = {448--475},
  publisher = {Springer},
  month = apr,
  year = {2017},
  url = {https://plv.mpi-sws.org/fsl/ARC/paper.pdf}
}
@inproceedings{dolan-17,
  author = {Stephen Dolan and Spiros Eliopoulos and Daniel
                 Hillerstr{\"{o}}m and Anil Madhavapeddy and K. C.
                 Sivaramakrishnan and Leo White},
  title = {Concurrent System Programming with Effect Handlers},
  booktitle = {Trends in Functional Programming (TFP)},
  pages = {98--117},
  month = jun,
  year = {2017},
  series = {Lecture Notes in Computer Science},
  volume = {10788},
  publisher = {Springer},
  url = {http://kcsrk.info/papers/system_effects_feb_18.pdf}
}
@inproceedings{dolan-18,
  author = {Stephen Dolan and K. C. Sivaramakrishnan and Anil
                 Madhavapeddy},
  title = {Bounding data races in space and time},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {242--255},
  month = jun,
  year = {2018},
  url = {http://kcsrk.info/papers/pldi18-memory.pdf}
}
@unpublished{dolan-white-19,
  author = {Stephen Dolan and Leo White},
  title = {Syntax with Shifted Names},
  note = {Presented at the Workshop on Type-driven Development
                 (TyDe)},
  month = aug,
  year = {2019},
  url = {http://tydeworkshop.org/2019-abstracts/paper16.pdf}
}
@inproceedings{donnelly-hallett-kfoury-06,
  author = {Kevin Donnelly and J. J. Hallett and Assaf J. Kfoury},
  title = {Formal semantics of weak references},
  booktitle = {International Symposium on Memory Management},
  pages = {126--137},
  month = jun,
  year = {2006},
  url = {https://doi.org/10.1145/1133956.1133974}
}
@inproceedings{donnelly-xi-05,
  author = {Kevin Donnelly and Hongwei Xi},
  title = {Combining higher-order abstract syntax with
                 first-order abstract syntax in {ATS}},
  booktitle = {ACM Workshop on Mechanized Reasoning about Languages
                 with Variable Binding},
  year = {2005},
  pages = {58--63},
  url = {https://doi.org/10.1145/1088454.1088462}
}
@article{dornic-jouvelot-gifford-92,
  author = {Vincent Dornic and Pierre Jouvelot and David K.
                 Gifford},
  title = {Polymorphic time systems for estimating program
                 complexity},
  journal = {ACM Letters on Programming Languages and Systems},
  volume = {1},
  number = {1},
  year = {1992},
  pages = {33--45},
  url = {http://ropas.snu.ac.kr/lib/dock/DoJoGi1992.pdf}
}
@incollection{dowek-01,
  author = {Gilles Dowek},
  title = {Higher-order unification and matching},
  booktitle = {Handbook of Automated Reasoning},
  pages = {1009--1062},
  publisher = {Elsevier},
  year = {2001},
  editor = {J. Alan Robinson and Andrei Voronkov},
  url = {http://www.lix.polytechnique.fr/~dowek/Publi/unification.ps}
}
@techreport{dowek-al-95,
  author = {Gilles Dowek and Thérèse Hardin and Claude
                 Kirchner},
  title = {Higher Order Unification via Explicit Substitutions},
  institution = {INRIA},
  number = {2709},
  year = {1995},
  month = nov,
  pages = {42},
  type = {Research Report},
  url = {http://www.inria.fr/rrrt/rr-2709.html}
}
@techreport{dowek-al-98,
  author = {Gilles Dowek and Thérèse Hardin and Claude Kirchner
                 and Frank Pfenning},
  title = {Unification via Explicit Substitutions: the Case of
                 Higher-Order Patterns},
  institution = {INRIA},
  number = {3591},
  year = {1998},
  month = dec,
  pages = {33},
  type = {Research Report},
  url = {http://www.inria.fr/rrrt/rr-3591.html}
}
@article{dowling-gallier-84,
  author = {William F. Dowling and Jean H. Gallier},
  title = {Linear-Time Algorithms for Testing the Satisfiability
                 of Propositional {Horn} Formulae},
  journal = {Journal of Logic Programming},
  volume = {1},
  number = {3},
  year = {1984},
  pages = {267--284}
}
@article{downey-sethi-tarjan-80,
  author = {Peter J. Downey and Ravi Sethi and Robert Endre
                 Tarjan},
  title = {Variations on the Common Subexpression Problem},
  journal = {Journal of the {ACM}},
  year = {1980},
  volume = {27},
  number = {4},
  pages = {758--771},
  month = oct,
  url = {http://doi.acm.org/10.1145/322217.322228}
}
@inproceedings{dreyer-neis-birkedal-10,
  author = {Derek Dreyer and Georg Neis and Lars Birkedal},
  title = {The impact of higher-order state and control effects
                 on local relational reasoning},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {143--156},
  year = {2010},
  month = sep,
  url = {https://www.mpi-sws.org/~dreyer/papers/stslr/icfp.pdf}
}
@article{dreyer-neis-birkedal-12,
  author = {Derek Dreyer and Georg Neis and Lars Birkedal},
  title = {The impact of higher-order state and control effects
                 on local relational reasoning},
  journal = {Journal of Functional Programming},
  volume = {22},
  number = {4-5},
  pages = {477--528},
  year = {2012},
  url = {https://people.mpi-sws.org/~dreyer/papers/stslr/journal.pdf}
}
@article{driscoll-89,
  author = {James R. Driscoll and Neil Sarnak and Daniel Dominic
                 Sleator and Robert Endre Tarjan},
  title = {Making Data Structures Persistent},
  journal = {Journal of Computer and System Sciences},
  volume = {38},
  number = {1},
  pages = {86--124},
  year = {1989},
  url = {https://doi.org/10.1016/0022-0000(89)90034-2}
}
@inproceedings{dubois-00,
  author = {Catherine Dubois},
  title = {Proving {ML} Type Soundness Within {Coq}},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  series = {Lecture Notes in Computer Science},
  volume = {1869},
  pages = {126--144},
  publisher = {Springer},
  month = aug,
  year = {2000},
  url = {http://web4.ensiie.fr/~dubois/tphols00-corr.pdf}
}
@inproceedings{dubois-menissier-97,
  author = {Catherine Dubois and Valérie Ménissier-Morain},
  title = {Typage de {ML}: Spécification et preuve en {Coq}},
  booktitle = {Actes du {GDR} Programmation},
  year = {1997},
  month = nov,
  url = {http://www.irisa.fr/lande/ridoux/GDR_annexe/dubois.ps.gz}
}
@article{dubois-menissier-99,
  author = {Catherine Dubois and Valérie Ménissier-Morain},
  title = {Certification of a Type Inference Tool for {ML}:
                 {Damas-Milner} within {Coq}},
  journal = {Journal of Automated Reasoning},
  year = {1999},
  volume = {23},
  number = {3--4},
  pages = {319--346},
  month = nov,
  url = {http://www.ensiie.fr/~dubois/jar_final.pdf}
}
@article{duggan-bent-96,
  author = {Dominic Duggan and Frederick Bent},
  title = {Explaining type inference},
  journal = {Science of Computer Programming},
  year = {1996},
  volume = {27},
  number = {1},
  month = jun
}
@inproceedings{dunfield-krishnaswami-13,
  author = {Jana Dunfield and Neelakantan R. Krishnaswami},
  title = {Complete and easy bidirectional typechecking for
                 higher-rank polymorphism},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {429--442},
  month = sep,
  year = {2013},
  url = {https://doi.org/10.1145/2500365.2500582}
}
@inproceedings{dussart-henglein-mossin-95,
  author = {Dirk Dussart and Fritz Henglein and Christian Mossin},
  year = {1995},
  title = {Polymorphic Recursion and Subtype Qualifications:
                 Polymorphic Binding-Time Analysis in Polynomial Time},
  booktitle = {Static Analysis Symposium (SAS)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {983},
  pages = {118--135},
  month = sep,
  url = {ftp://ftp.diku.dk/diku/semantics/papers/D-243.dvi.gz}
}
@article{dybvig-93,
  author = {Kent Dybvig and Robert Hieb and Carl Bruggeman},
  title = {Syntactic abstraction in {Scheme}},
  journal = {Lisp and Symbolic Computation},
  year = {1993},
  volume = {5},
  number = {4},
  pages = {295--326},
  url = {http://www.cs.indiana.edu/~dyb/pubs/LaSC-5-4-pp295-326.pdf}
}
@article{dybvig-peyton-jones-sabry-07,
  author = {R. Kent Dybvig and Simon L. {Peyton Jones} and Amr
                 Sabry},
  title = {A monadic framework for delimited continuations},
  journal = {Journal of Functional Programming},
  volume = {17},
  number = {6},
  pages = {687--730},
  year = {2007},
  url = {https://legacy.cs.indiana.edu/~dyb/pubs/monadicDC.pdf}
}
@article{eberl-17,
  author = {Manuel Eberl},
  title = {Proving Divide and Conquer Complexities in
                 {Isabelle/HOL}},
  journal = {Journal of Automated Reasoning},
  volume = {58},
  number = {4},
  pages = {483--508},
  year = {2017},
  url = {https://www21.in.tum.de/~eberlm/divide_and_conquer_isabelle.pdf}
}
@article{eberl-haslbeck-nipkow-20,
  author = {Manuel Eberl and Max W. Haslbeck and Tobias Nipkow},
  title = {Verified Analysis of Random Binary Tree Structures},
  journal = {Journal of Automated Reasoning},
  volume = {64},
  number = {5},
  pages = {879--910},
  year = {2020},
  url = {https://doi.org/10.1007/s10817-020-09545-0}
}
@misc{eff,
  author = {Andrej Bauer and Matija Pretnar},
  title = {Eff},
  year = {2020},
  howpublished = {\url{http://www.eff-lang.org/}}
}
@article{effekt-20,
  author = {Jonathan Immanuel Brachth{\"{a}}user and Philipp
                 Schuster and Klaus Ostermann},
  title = {Effekt: Capability-passing style for type- and
                 effect-safe, extensible effect handlers in {Scala}},
  journal = {Journal of Functional Programming},
  volume = {30},
  pages = {e8},
  year = {2020},
  url = {http://ps.informatik.uni-tuebingen.de/publications/brachthaeuser19effekt-revision.pdf}
}
@article{effekt-language-20,
  author = {Jonathan Immanuel Brachth{\"{a}}user and Philipp
                 Schuster and Klaus Ostermann},
  title = {Effects as capabilities: effect handlers and
                 lightweight effect polymorphism},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {{OOPSLA}},
  pages = {126:1--126:30},
  year = {2020},
  url = {https://doi.org/10.1145/3428194}
}
@inproceedings{eifrig-smith-trifonov-94,
  author = {Jonathan Eifrig and Scott Smith and Valery Trifonov},
  title = {Type Inference for Recursively Constrained Types and
                 its Application to {OOP}},
  booktitle = {Mathematical Foundations of Programming Semantics},
  series = {Electronic Notes in Theoretical Computer Science},
  publisher = {Elsevier},
  volume = {1},
  year = {1995},
  url = {http://www.cs.jhu.edu/~scott/ftp/ooinfer.ps.gz}
}
@article{eifrig-smith-trifonov-95,
  author = {Jonathan Eifrig and Scott Smith and Valery Trifonov},
  title = {Sound polymorphic type inference for objects},
  journal = {{ACM} {SIGPLAN} Notices},
  volume = {30},
  number = {10},
  year = {1995},
  pages = {169--184},
  url = {http://www.cs.jhu.edu/~scott/ftp/sptio.ps.gz}
}
@inproceedings{elliott-09,
  author = {Conal M. Elliott},
  title = {Beautiful differentiation},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {191--202},
  month = sep,
  year = {2009},
  url = {https://doi.org/10.1145/1596550.1596579}
}
@article{elliott-18,
  author = {Conal Elliott},
  title = {The simple essence of automatic differentiation},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {2},
  number = {{ICFP}},
  pages = {70:1--70:29},
  year = {2018},
  url = {https://doi.org/10.1145/3236765}
}
@techreport{elphin-04,
  author = {Carsten Schürmann and Adam Poswolsky and Jeffrey
                 Sarnat},
  title = {The $\nabla$-Calculus: Functional programming with
                 higher-order encodings},
  institution = {Yale University},
  number = {YALEU/DCS/TR-1272},
  month = nov,
  year = {2004},
  url = {http://www.cs.yale.edu/~delphin/files/nablaTR.pdf}
}
@inproceedings{elphin-05,
  author = {Carsten Schürmann and Adam Poswolsky and Jeffrey
                 Sarnat},
  title = {The $\nabla$-Calculus: Functional programming with
                 higher-order encodings},
  booktitle = {Typed Lambda Calculi and Applications (TLCA)},
  pages = {339--353},
  year = {2005},
  volume = {3461},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://www.itu.dk/~carsten/papers/nabla.pdf}
}
@inproceedings{emerson-lei-86,
  author = {E. Allen Emerson and Chin-Laung Lei},
  title = {Efficient Model Checking in Fragments of the
                 Propositional Mu-Calculus},
  booktitle = {Logic in Computer Science (LICS)},
  month = jun,
  year = {1986},
  pages = {267--278}
}
@article{emmi-enea-19,
  author = {Michael Emmi and Constantin Enea},
  title = {Weak-consistency specification via visibility
                 relaxation},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{POPL}},
  pages = {60:1--60:28},
  year = {2019},
  url = {https://doi.org/10.1145/3290373}
}
@techreport{emms-leiss-96,
  author = {Martin Emms and Hans Lei{\ss}},
  title = {Extending the Type Checker for {SML} by Polymorphic
                 Recursion --- {A} Correctness Proof},
  institution = {Centrum f{\"{u}}r Informations- und
                 Sprachverarbeitung, Universit{\"{a}}t M{\"{u}}nchen},
  year = {1996},
  number = {96-101},
  url = {http://www.cis.uni-muenchen.de/~leiss/polyrec/polyrec.cisbericht.96-101.ps.gz}
}
@book{eopl,
  author = {Daniel P. Friedman and Mitchell Wand},
  title = {Essentials of Programming Languages, 3rd Edition},
  publisher = {MIT Press},
  year = {2008},
  url = {http://www.eopl3.com/}
}
@unpublished{epigram-05,
  author = {Thorsten Altenkirch and Conor McBride and James
                 McKinna},
  title = {Why Dependent Types Matter},
  note = {Unpublished},
  month = apr,
  year = {2005},
  url = {http://www.e-pig.org/downloads/ydtm.pdf}
}
@misc{ergo,
  author = {Sylvain Conchon and Evelyne Contejean},
  title = {The {Alt-Ergo} Automatic Theorem Prover},
  note = {\url{http://alt-ergo.lri.fr/}},
  year = {2013},
  url = {http://alt-ergo.lri.fr/}
}
@article{ericsson-myreen-pohjola-19,
  author = {Adam {Sandberg Ericsson} and Magnus O. Myreen and
                 Johannes {\AA}man Pohjola},
  title = {A Verified Generational Garbage Collector for
                 {CakeML}},
  journal = {Journal of Automated Reasoning},
  volume = {63},
  number = {2},
  pages = {463--488},
  year = {2019},
  url = {https://doi.org/10.1007/s10817-018-9487-z}
}
@inproceedings{erlingsson-schneider-00,
  author = {{\'U}lfar Erlingsson and Fred B. Schneider},
  title = {{IRM} Enforcement of {Java} Stack Inspection},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  year = {2000},
  month = may,
  pages = {246--255},
  url = {http://csdl.computer.org/comp/proceedings/sp/2000/0665/00/06650246abs.htm}
}
@inproceedings{erlingsson-schneider-99,
  author = {{\'U}lfar Erlingsson and Fred B. Schneider},
  title = {{SASI} Enforcement of Security Policies: a
                 Retrospective},
  booktitle = {New Security Paradigms Workshop},
  pages = {87--95},
  year = {1999},
  month = sep,
  url = {http://www.cs.cornell.edu/fbs/publications/sasiNSPW.ps}
}
@inproceedings{esparza-13,
  author = {Javier Esparza and Peter Lammich and Ren{\'e} Neumann
                 and Tobias Nipkow and Alexander Schimpf and Jan-Georg
                 Smaus},
  title = {A Fully Verified Executable {LTL} Model Checker},
  booktitle = {Computer Aided Verification (CAV)},
  pages = {463--478},
  month = jul,
  year = {2013},
  series = {Lecture Notes in Computer Science},
  volume = {8044},
  publisher = {Springer},
  url = {https://www21.in.tum.de/~nipkow/pubs/cav13.pdf}
}
@inproceedings{esparza-efficient-00,
  author = {Javier Esparza and David Hansel and Peter Rossmanith
                 and Stefan Schwoon},
  title = {Efficient Algorithms for Model Checking Pushdown
                 Systems},
  booktitle = {Computer Aided Verification (CAV)},
  pages = {232--247},
  month = jul,
  year = {2000},
  series = {Lecture Notes in Computer Science},
  volume = {1855},
  publisher = {Springer},
  url = {https://www7.in.tum.de/um/bibdb/esparza/cav00.pdf}
}
@misc{f7,
  author = {Karthik Bhargavan and Cédric Fournet and Andy Gordon
                 and Sergio Maffeis and Jesper Bengtson},
  title = {The {F7} Typechecker},
  note = {\url{http://research.microsoft.com/en-us/projects/f7/}},
  year = {2011},
  url = {http://research.microsoft.com/en-us/projects/f7/}
}
@misc{facebook-infer,
  author = {Cristiano Calcagno and Dino Distefano and Peter
                 O'Hearn},
  title = {Open-sourcing {Facebook Infer}: Identify bugs before
                 you ship},
  howpublished = {\url{https://code.facebook.com/posts/1648953042007882/open-sourcing-facebook-infer-identify-bugs-before-you-ship/}},
  month = jun,
  year = {2015}
}
@inproceedings{faehndrich-al-00,
  author = {Manuel Fähndrich and Jakob Rehof and Manuvir Das},
  title = {Scalable Context-Sensitive Flow Analysis Using
                 Instantiation Constraints},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {2000},
  month = jun,
  url = {http://research.microsoft.com/pubs/67468/pldi00.ps}
}
@inproceedings{faehndrich-barnett-logozzo-10,
  author = {Manuel F{\"{a}}hndrich and Michael Barnett and
                 Francesco Logozzo},
  title = {Embedded contract languages},
  booktitle = {Symposium on Applied Computing},
  pages = {2103--2110},
  month = mar,
  year = {2010},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2010/03/cc.pdf}
}
@inproceedings{faehndrich-cycles-98,
  author = {Manuel Fähndrich and Jeffrey S. Foster and Zhendong
                 Su and Alexander S. Aiken},
  title = {Partial Online Cycle Elimination in Inclusion
                 Constraint Graphs},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  month = jun,
  year = {1998},
  pages = {85--96},
  url = {http://research.microsoft.com/pubs/67475/pldi98.pdf}
}
@inproceedings{faehndrich-deline-02,
  author = {Manuel Fähndrich and Robert DeLine},
  title = {Adoption and focus: practical linear types for
                 imperative programming},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  month = jun,
  year = {2002},
  pages = {13--24},
  url = {http://research.microsoft.com/pubs/67459/pldi02.pdf}
}
@inproceedings{faehndrich-leino-03,
  author = {Manuel Fähndrich and Rustan Leino},
  title = {Heap Monotonic Typestates},
  booktitle = {International Workshop on Alias Confinement and
                 Ownership {(IWACO)}},
  year = {2003},
  month = jul,
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml123.pdf}
}
@phdthesis{faehndrich-phd-99,
  school = {University of California at Berkeley},
  title = {Bane: {A} Library for Scalable Constraint-Based
                 Program Analysis},
  year = {1999},
  author = {Manuel Fähndrich},
  url = {http://research.microsoft.com/pubs/67479/thesis-compact.pdf}
}
@inproceedings{faehndrich-singularity-06,
  author = {Manuel Fähndrich and Mark Aiken and Chris Hawblitzel
                 and Orion Hodson and Galen Hunt and James R. Larus and
                 Steven Levi},
  title = {Language support for fast and reliable message-based
                 communication in {Singularity OS}},
  booktitle = {EuroSys},
  year = {2006},
  pages = {177--190},
  url = {http://www.cs.kuleuven.ac.be/conference/EuroSys2006/papers/p177-fahndrich.pdf}
}
@unpublished{fan,
  author = {Hongbo Zhang and Steve Zdancewic},
  title = {{Fan}: compile-time metaprogramming for {OCaml}},
  note = {Unpublished},
  month = mar,
  year = {2013},
  url = {http://zhanghongbo.me/fan/_downloads/metaprogramming_for_ocaml.pdf}
}
@article{faxen-02,
  author = {Karl-Filip Fax\'{e}n},
  title = {A Static Semantics for {Haskell}},
  pages = {295--357},
  year = {2002},
  month = jul,
  journal = {Journal of Functional Programming},
  volume = {12},
  number = {4--5},
  url = {http://www.it.kth.se/~kff/semantics.ps.gz}
}
@article{fecht-seidl-99,
  author = {Christian Fecht and Helmut Seidl},
  title = {A Faster Solver for General Systems of Equations},
  journal = {Science of Computer Programming},
  year = {1999},
  volume = {35},
  number = {2--3},
  pages = {137--162},
  url = {http://www2.in.tum.de/~seidl/papers/final-solver.ps.gz}
}
@inproceedings{felleisen-88,
  author = {Matthias Felleisen},
  title = {The Theory and Practice of First-Class Prompts},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {180--190},
  month = jan,
  year = {1988},
  url = {https://www.cs.tufts.edu/~nr/cs257/archive/matthias-felleisen/prompts.pdf}
}
@article{felleisen-91,
  author = {Matthias Felleisen},
  title = {On the Expressive Power of Programming Languages},
  pages = {35--75},
  year = {1991},
  journal = {Science of Computer Programming},
  volume = {17},
  number = {1},
  url = {https://doi.org/10.1016/0167-6423(91)90036-W}
}
@inproceedings{felleisen-flanagan-componential-97,
  author = {Cormac Flanagan and Matthias Felleisen},
  title = {Componential Set-Based Analysis},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {1997},
  pages = {235--248},
  url = {http://www.cs.rice.edu/CS/PLT/Publications/Scheme/pldi97-ff.ps.gz}
}
@techreport{felleisen-flanagan-theory-practice-96,
  number = {TR96-266},
  institution = {Rice University},
  title = {Modular and Polymorphic Set-Based Analysis: Theory and
                 Practice},
  year = {1996},
  month = nov,
  pages = {48},
  author = {Cormac Flanagan and Matthias Felleisen},
  url = {http://www.cs.rice.edu/CS/PLT/Publications/Scheme/tr96-266.ps.gz}
}
@article{felleisen-hieb-92,
  author = {Matthias Felleisen and Robert Hieb},
  title = {The Revised Report on the Syntactic Theories of
                 Sequential Control and State},
  journal = {Theoretical Computer Science},
  volume = {103},
  number = {2},
  pages = {235--271},
  year = {1992},
  url = {https://www2.ccs.neu.edu/racket/pubs/tcs92-fh.pdf}
}
@inproceedings{felleisen-wand-friedman-duba-88,
  author = {Matthias Felleisen and Mitchell Wand and Daniel P.
                 Friedman and Bruce F. Duba},
  title = {Abstract Continuations: {A} Mathematical Semantics for
                 Handling Full Jumps},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  pages = {52--62},
  month = jul,
  year = {1988},
  url = {https://legacy.cs.indiana.edu/ftp/techreports/TR248.pdf}
}
@phdthesis{fenton-73,
  school = {University of Cambridge},
  title = {Information Protection Systems},
  year = {1973},
  author = {J. S. Fenton}
}
@article{fenton-74,
  author = {J. S. Fenton},
  title = {Memoryless Subsystems},
  journal = {Computer Journal},
  volume = {17},
  number = {2},
  pages = {143--147},
  month = may,
  year = {1974}
}
@inproceedings{ferreira-pientka-17,
  author = {Francisco Ferreira and Brigitte Pientka},
  title = {Programs Using Syntax with First-Class Binders},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2017},
  series = {Lecture Notes in Computer Science},
  volume = {10201},
  pages = {504--529},
  month = apr,
  publisher = {Springer},
  url = {http://www.cs.mcgill.ca/~bpientka/papers/esop17_ferreira.pdf}
}
@article{fftw-05,
  author = {Matteo Frigo and Steven G. Johnson},
  title = {The Design and Implementation of {FFTW3}},
  journal = {Proceedings of the IEEE},
  year = {2005},
  volume = {93},
  number = {2},
  pages = {216--231},
  url = {http://www.fftw.org/fftw-paper-ieee.pdf}
}
@article{fidge-91,
  author = {Colin J. Fidge},
  title = {Logical Time in Distributed Computing Systems},
  journal = {Computer},
  volume = {24},
  number = {8},
  pages = {28--33},
  year = {1991},
  url = {http://courses.csail.mit.edu/6.895/fall02/papers/Fidge/ieeecomputer.pdf}
}
@inproceedings{field-teitelbaum-90,
  author = {John Field and Tim Teitelbaum},
  title = {Incremental Reduction in the Lambda Calculus},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  year = {1990},
  pages = {307--322}
}
@phdthesis{filinski-96,
  author = {Andrzej Filinski},
  title = {Controlling Effects},
  month = may,
  year = {1996},
  school = {School of Computer Science, Carnegie Mellon
                 University},
  url = {http://hjemmesider.diku.dk/~andrzej/papers/CE-abstract.html}
}
@inproceedings{filinski-99,
  author = {Andrzej Filinski},
  title = {Representing Layered Monads},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1999},
  month = jan,
  pages = {175--188},
  url = {http://www.diku.dk/~andrzej/papers/RLM.ps.gz}
}
@article{filliatre-00,
  author = {Jean-Christophe Filliâtre},
  title = {Verification of Non-Functional Programs using
                 Interpretations in Type Theory},
  journal = {Journal of Functional Programming},
  volume = {13},
  number = {4},
  pages = {709--745},
  month = jul,
  year = {2003},
  url = {http://www.lri.fr/~filliatr/ftp/publis/jphd.ps.gz}
}
@inproceedings{filliatre-06,
  author = {Jean-Christophe Filli\^atre},
  title = {Backtracking iterators},
  booktitle = {ACM Workshop on ML},
  month = sep,
  year = {2006},
  pages = {55--62},
  url = {http://www.lri.fr/~filliatr/publis/enum2.ps.gz}
}
@article{filliatre-11,
  author = {Jean{-}Christophe Filli{\^{a}}tre},
  title = {Deductive software verification},
  journal = {Software Tools for Technology Transfer},
  volume = {13},
  number = {5},
  pages = {397--403},
  year = {2011},
  url = {https://doi.org/10.1007/s10009-011-0211-0}
}
@inproceedings{filliatre-conchon-06,
  author = {Jean-Christophe Filli{\^a}tre and Sylvain Conchon},
  title = {Type-safe modular hash-consing},
  booktitle = {ACM Workshop on ML},
  pages = {12--19},
  month = sep,
  year = {2006},
  url = {https://www.lri.fr/~filliatr/ftp/publis/hash-consing2.pdf}
}
@article{filliatre-find-06,
  author = {Jean-Christophe Filliâtre},
  title = {Formal Proof of a Program: {Find}},
  journal = {Science of Computer Programming},
  year = {2006},
  volume = {64},
  pages = {332--240},
  url = {http://www.lri.fr/~filliatr/ftp/publis/find.ps.gz}
}
@inproceedings{filliatre-ghost-14,
  author = {Jean{-}Christophe Filli{\^{a}}tre and Léon Gondelman
                 and Andrei Paskevich},
  title = {The Spirit of Ghost Code},
  booktitle = {Computer Aided Verification (CAV)},
  pages = {1--16},
  month = jul,
  year = {2014},
  series = {Lecture Notes in Computer Science},
  volume = {8559},
  publisher = {Springer},
  url = {https://hal.archives-ouvertes.fr/hal-00873187/PDF/main.pdf}
}
@inproceedings{filliatre-letouzey-04,
  author = {Jean-Christophe Filliâtre and Pierre Letouzey},
  title = {Functors for Proofs and Programs},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {370--384},
  year = {2004},
  volume = {2986},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {https://hal.inria.fr/hal-00150913/document}
}
@inproceedings{filliatre-marche-04,
  author = {Jean-Christophe Filliâtre and Claude Marché},
  title = {Multi-Prover Verification of {C} Programs},
  booktitle = {International Conference on Formal Engineering Methods
                 (ICFEM)},
  year = {2004},
  month = nov,
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3308},
  pages = {15--29},
  url = {http://www.lri.fr/~filliatr/ftp/publis/caduceus.ps.gz}
}
@inproceedings{filliatre-paskevich-20,
  author = {Jean-Christophe Filliâtre and Andrei Paskevich},
  title = {Abstraction and Genericity in {Why3}},
  booktitle = {Leveraging Applications of Formal Methods,
                 Verification and Validation {(ISoLA)}},
  series = {Lecture Notes in Computer Science},
  volume = {12476},
  pages = {122--142},
  publisher = {Springer},
  month = oct,
  year = {2020},
  url = {https://hal.inria.fr/hal-02696246v2/document}
}
@inproceedings{filliatre-pereira-16,
  author = {Jean{-}Christophe Filli{\^{a}}tre and M{\'{a}}rio
                 Pereira},
  title = {A Modular Way to Reason About Iteration},
  booktitle = {{NASA} Formal Methods (NFM)},
  pages = {322--336},
  month = jun,
  year = {2016},
  series = {Lecture Notes in Computer Science},
  volume = {9690},
  publisher = {Springer},
  url = {https://hal.inria.fr/hal-01281759}
}
@inproceedings{findler-felleisen-02,
  author = {Robert Bruce Findler and Matthias Felleisen},
  title = {Contracts for higher-order functions},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {48--59},
  month = oct,
  year = {2002},
  url = {https://www2.ccs.neu.edu/racket/pubs/icfp2002-ff.pdf}
}
@article{fischbach-hannan-02,
  author = {Adam Fischbach and John Hannan},
  title = {Specification and Correctness of Lambda Lifting},
  journal = {Journal of Functional Programming},
  year = {2003},
  volume = {13},
  number = {3},
  month = may,
  pages = {509--543},
  url = {http://dx.doi.org/10.1017/S0956796802004604}
}
@inproceedings{fischer-72,
  author = {Michael J. Fischer},
  title = {Lambda Calculus Schemata},
  booktitle = {Proceedings of the {ACM} Conference on Proving
                 Assertions About Programs},
  year = {1972},
  pages = {104--109},
  url = {http://doi.acm.org/10.1145/800235.807077}
}
@article{fischer-93,
  author = {Michael J. Fischer},
  title = {Lambda-Calculus Schemata},
  journal = {Lisp and Symbolic Computation},
  volume = {6},
  number = {3--4},
  pages = {259--288},
  year = {1993},
  url = {https://dx.doi.org/10.1007/BF01019461}
}
@article{fisher-mitchell-98,
  author = {Kathleen Fisher and John C. Mitchell},
  title = {On the Relationship between Classes, Objects and Data
                 Abstraction},
  journal = {Theory and Practice of Object Systems},
  year = {1998},
  volume = {4},
  number = {1},
  pages = {3--25},
  url = {http://www.research.att.com/~kfisher/files/tapos98.ps}
}
@inproceedings{flanagan-abadi-99,
  author = {Cormac Flanagan and Mart\'{\i}n Abadi},
  title = {Types for Safe Locking},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {1999},
  pages = {91--108},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1576},
  url = {http://users.soe.ucsc.edu/~cormac/papers/esop99.pdf}
}
@inproceedings{flanagan-al-93,
  author = {Cormac Flanagan and Amr Sabry and Bruce F. Duba and
                 Matthias Felleisen},
  title = {The Essence of Compiling with Continuations},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {1993},
  pages = {237--247},
  url = {https://slang.soe.ucsc.edu/cormac/papers/pldi93.pdf}
}
@inproceedings{flanagan-al-96,
  author = {Cormac Flanagan and Matthew Flatt and Shriram
                 Krishnamurthi and Stephanie Weirich and Matthias
                 Felleisen},
  year = {1996},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  title = {Catching Bugs in the Web of Program Invariants},
  url = {http://www.cs.rice.edu/CS/PLT/Publications/Scheme/pldi96-ffkwf.ps.gz}
}
@phdthesis{flanagan-effective-97,
  school = {Rice University},
  title = {Effective Static Debugging via Componential Set-Based
                 Analysis},
  year = {1997},
  month = may,
  pages = {164},
  author = {Cormac Flanagan},
  url = {http://www.cs.rice.edu/CS/PLT/Publications/Scheme/thesis-flanagan.ps.gz}
}
@inproceedings{flanagan-esc-02,
  author = {Cormac Flanagan and K. Rustan M. Leino and Mark
                 Lillibridge and Greg Nelson and James B. Saxe and
                 Raymie Stata},
  title = {Extended Static Checking for {Java}},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {234--245},
  year = {2002},
  url = {http://www.soe.ucsc.edu/~cormac/papers/pldi02.ps}
}
@inproceedings{flanagan-saxe-01,
  author = {Cormac Flanagan and James B. Saxe},
  title = {Avoiding exponential explosion: generating compact
                 verification conditions},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2001},
  pages = {193--205},
  url = {http://www.soe.ucsc.edu/~cormac/papers/popl01.ps}
}
@inproceedings{flatt-al-07,
  author = {Matthew Flatt and Gang Yu and Robert Bruce Findler and
                 Matthias Felleisen},
  title = {Adding Delimited and Composable Control to a
                 Production Programming Environment},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = oct,
  year = {2007},
  pages = {165--176},
  url = {https://www.cs.utah.edu/plt/publications/icfp07-fyff.pdf}
}
@inproceedings{flix-16,
  author = {Magnus Madsen and Ming{-}Ho Yee and Ondrej
                 Lhot{\'{a}}k},
  title = {From {Datalog} to \textsc{Flix}: a declarative
                 language for fixed points on lattices},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {194--208},
  month = jun,
  year = {2016},
  url = {https://plg.uwaterloo.ca/~olhotak/pubs/pldi16.pdf}
}
@inproceedings{floyd-67,
  author = {R. W. Floyd},
  title = {Assigning meanings to programs},
  booktitle = {Mathematical Aspects of Computer Science},
  series = {Proceedings of Symposia in Applied Mathematics},
  volume = {19},
  year = {1967},
  organization = {American Mathematical Society},
  pages = {19--32},
  url = {https://people.eecs.berkeley.edu/~necula/Papers/FloydMeaning.pdf}
}
@inproceedings{fluet-02,
  author = {Matthew Fluet and Riccardo Pucella},
  title = {Phantom types and subtyping},
  booktitle = {IFIP International Conference on Theoretical Computer
                 Science (TCS)},
  pages = {448--460},
  year = {2002},
  month = aug,
  url = {http://arXiv.org/abs/cs.PL/0403034}
}
@inproceedings{fluet-al-06,
  author = {Matthew Fluet and Greg Morrisett and Amal Ahmed},
  title = {Linear Regions Are All You Need},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {7--21},
  year = {2006},
  volume = {3924},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://ttic.uchicago.edu/~fluet/research/substruct-regions/ESOP06/esop06.pdf}
}
@phdthesis{fluet-phd-07,
  author = {Matthew Fluet},
  title = {Monadic and Substructural Type Systems for
                 Region-Based Memory Management},
  school = {Cornell University},
  year = {2007},
  month = jan,
  url = {http://ttic.uchicago.edu/~fluet/research/thesis/fluet-thesis.single.pdf}
}
@inproceedings{fluet-pucella-02,
  author = {Matthew Fluet and Riccardo Pucella},
  title = {Phantom Types and Subtyping},
  booktitle = {IFIP International Conference on Theoretical Computer
                 Science (TCS)},
  pages = {448--460},
  year = {2002},
  volume = {223},
  series = {IFIP Conference Proceedings},
  month = aug,
  publisher = {Kluwer},
  url = {http://www.cs.cornell.edu/people/fluet/phantom-subtyping/TCS02/tcs02.ps}
}
@inproceedings{fluet-pucella-05,
  author = {Matthew Fluet and Riccardo Pucella},
  title = {Practical Datatype Specializations with Phantom Types
                 and Recursion Schemes},
  booktitle = {ACM Workshop on ML},
  year = {2005},
  series = {Electronic Notes in Theoretical Computer Science},
  month = sep,
  url = {http://www.cs.cornell.edu/people/fluet/specializations/MLWRK05/mlwrk05.pdf}
}
@article{focardi-gorrieri-95,
  author = {Riccardo Focardi and Roberto Gorrieri},
  title = {A classification of security properties for process
                 algebras},
  journal = {Journal of Computer Security},
  volume = {3},
  number = {1},
  pages = {5--33},
  year = {1995},
  url = {http://www.cs.unibo.it/~gorrieri/Papers/jcsfinal.ps.gz}
}
@inproceedings{ford-02,
  author = {Bryan Ford},
  title = {Packrat parsing: simple, powerful, lazy, linear time},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = oct,
  year = {2002},
  pages = {36--47},
  url = {http://www.brynosaurus.com/pub/lang/packrat-icfp02.pdf}
}
@inproceedings{ford-04,
  author = {Bryan Ford},
  title = {Parsing expression grammars: a recognition-based
                 syntactic foundation},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2004},
  pages = {111--122},
  url = {http://pdos.csail.mit.edu/~baford/packrat/popl04/peg-popl04.pdf}
}
@article{forster-kammar-lindley-pretnar-19,
  author = {Yannick Forster and Ohad Kammar and Sam Lindley and
                 Matija Pretnar},
  title = {On the expressive power of user-defined effects:
                 Effect handlers, monadic reflection, delimited
                 control},
  journal = {Journal of Functional Programming},
  volume = {29},
  pages = {e15},
  year = {2019},
  url = {https://doi.org/10.1017/S0956796819000121}
}
@techreport{foster-aiken-restrict-01,
  author = {Jeffrey S. Foster and Alex Aiken},
  institution = {University of California, Berkeley},
  title = {Checking Programmer-Specified Non-Aliasing},
  year = {2001},
  month = oct,
  number = {UCB//CSD-01-1160},
  url = {http://www.cs.umd.edu/~jfoster/papers/tr01-restrict.pdf}
}
@inproceedings{foster-flow-sensitive-qualifiers-02,
  author = {Jeffrey S. Foster and Tachio Terauchi and Alex Aiken},
  title = {Flow-Sensitive Type Qualifiers},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  month = jun,
  year = {2002},
  pages = {1--12},
  url = {http://www.cs.umd.edu/~jfoster/papers/pldi02.pdf}
}
@article{fournet-al-join-03,
  author = {Cédric Fournet and Cosimo Laneve and Luc Maranget and
                 Didier Rémy},
  journal = {Journal of Logic and Algebraic Programming},
  title = {Inheritance in the Join Calculus},
  volume = {57},
  number = {2},
  pages = {23--69},
  year = {2003},
  url = {http://cambium.inria.fr/~remy/work/ojoin/jojoin.pdf}
}
@inproceedings{fournet-al-join-97,
  author = {Cédric Fournet and Luc Maranget and Cosimo Laneve and
                 Didier Rémy},
  title = {Implicit typing à la {ML} for the join-calculus},
  booktitle = {International Conference on Concurrency Theory
                 (CONCUR)},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {1243},
  pages = {196--212},
  year = {1997},
  url = {http://cambium.inria.fr/~remy/ftp/typing-join.pdf}
}
@inproceedings{fournet-gonthier-96,
  author = {Cédric Fournet and Georges Gonthier},
  title = {The Reflexive Chemical Abstract Machine and the
                 Join-Calculus},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {372--385},
  month = jan,
  year = {1996},
  url = {https://doi.org/10.1145/237721.237805}
}
@inproceedings{fournet-gordon-02,
  author = {Cédric Fournet and Andrew D. Gordon},
  title = {Stack Inspection: Theory and Variants},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {307--318},
  month = jan,
  year = {2002},
  url = {http://research.microsoft.com/~fournet/papers/stack-inspection-theory-and-variants-popl-02.ps}
}
@article{fournet-gordon-03,
  author = {Cédric Fournet and Andrew D. Gordon},
  title = {Stack Inspection: Theory and Variants},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2003},
  volume = {25},
  number = {3},
  pages = {360--399},
  month = may,
  url = {http://doi.acm.org/10.1145/641909.641912}
}
@article{francalanza-rathke-sassone-2011,
  author = {Adrian Francalanza and Julian Rathke and Vladimiro
                 Sassone},
  title = {Permission-Based Separation Logic for Message-Passing
                 Concurrency},
  journal = {Logical Methods in Computer Science},
  volume = {7},
  number = {3},
  year = {2011},
  url = {http://arxiv.org/abs/1106.5128}
}
@inproceedings{fredman-saks-89,
  author = {Michael Fredman and Michael Saks},
  title = {The Cell Probe Complexity of Dynamic Data Structures},
  pages = {345--354},
  booktitle = {Annual Symposium on Theory of Computing ({STOC})},
  month = may,
  publisher = {ACM},
  year = {1989},
  url = {http://dx.doi.org/10.1145/73007.73040}
}
@article{fredman-tarjan-87,
  author = {Michael L. Fredman and Robert Endre Tarjan},
  title = {Fibonacci heaps and their uses in improved network
                 optimization algorithms},
  journal = {Journal of the {ACM}},
  volume = {34},
  number = {3},
  year = {1987},
  pages = {596--615},
  url = {http://doi.acm.org/10.1145/28869.28874}
}
@inproceedings{freeman-91,
  author = {Tim Freeman and Frank Pfenning},
  title = {Refinement types for {ML}},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {268--277},
  year = {1991},
  url = {http://www.cs.cmu.edu/~fp/papers/pldi91.pdf}
}
@techreport{fresh-ocaml,
  author = {Mark R. Shinwell and Andrew M. Pitts},
  month = feb,
  year = {2005},
  title = {{Fresh Objective Caml} user manual},
  institution = {University of Cambridge},
  number = {621},
  url = {http://www.cl.cam.ac.uk/TechReports/UCAM-CL-TR-621.pdf}
}
@phdthesis{frey-04,
  author = {Alexandre Frey},
  title = {Approche algébrique du typage d'un langage à la {ML}
                 avec objets, sous-typage et multi-méthodes},
  school = {École des Mines de Paris},
  year = {2004},
  month = jun,
  url = {http://cambium.inria.fr/~remy/students/alexandre.frey.pdf}
}
@inproceedings{frey-97,
  author = {Alexandre Frey},
  title = {Satisfying Subtype Inequalities in Polynomial Space},
  booktitle = {Static Analysis Symposium (SAS)},
  series = {Lecture Notes in Computer Science},
  number = {1302},
  year = {1997},
  month = sep,
  pages = {265--277},
  publisher = {Springer},
  url = {http://citeseer.ist.psu.edu/frey97satisfying.html},
  alturl = {http://dx.doi.org/10.1016/S0304-3975(00)00314-5}
}
@techreport{friedman-wise-75,
  author = {Daniel P. Friedman and David S. Wise},
  title = {Unwinding stylized recursions into iterations},
  institution = {Computer Science Department, Indiana University,
                 Bloomington},
  year = {1975},
  number = {19},
  url = {https://legacy.cs.indiana.edu/ftp/techreports/TR19.pdf}
}
@inproceedings{frisch-castagna-benzaken-02,
  author = {Alain Frisch and Giuseppe Castagna and V{\'e}ronique
                 Benzaken},
  title = {Semantic Subtyping},
  booktitle = {Logic in Computer Science (LICS)},
  month = jul,
  year = {2002},
  pages = {137--146},
  url = {http://www.cduce.org/papers/lics02.ps.gz}
}
@article{frisch-castagna-benzaken-08,
  author = {Alain Frisch and Giuseppe Castagna and V{\'e}ronique
                 Benzaken},
  title = {Semantic subtyping: Dealing set-theoretically with
                 function, union, intersection, and negation types},
  journal = {Journal of the {ACM}},
  volume = {55},
  number = {4},
  year = {2008},
  url = {http://www.pps.univ-paris-diderot.fr/~gc/papers/semantic_subtyping.pdf}
}
@phdthesis{fromherz-21,
  author = {Aymeric Fromherz},
  title = {A Proof-Oriented Approach to Low-Level, High-Assurance
                 Programming},
  school = {Carnegie Mellon University},
  year = {2021},
  month = dec,
  url = {https://users.ece.cmu.edu/~afromher/papers/thesis.pdf}
}
@article{fromherz-steel-21,
  author = {Aymeric Fromherz and Aseem Rastogi and Nikhil Swamy
                 and Sydney Gibson and Guido Mart{\'{\i}}nez and Denis
                 Merigoux and Tahina Ramananandro},
  title = {Steel: proof-oriented programming in a dependently
                 typed concurrent separation logic},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {{ICFP}},
  pages = {1--30},
  year = {2021},
  url = {https://doi.org/10.1145/3473590}
}
@inproceedings{frumin-gondelman-krebbers-19,
  author = {Dan Frumin and Léon Gondelman and Robbert Krebbers},
  title = {Semi-automated Reasoning About Non-determinism in {C}
                 Expressions},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {11423},
  pages = {60--87},
  publisher = {Springer},
  month = apr,
  year = {2019},
  url = {https://iris-project.org/pdfs/2019-esop-c.pdf}
}
@article{frumin-timany-birkedal-24,
  author = {Dan Frumin and Amin Timany and Lars Birkedal},
  title = {Modular Denotational Semantics for Effects with
                 Guarded Interaction Trees},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {{POPL}},
  pages = {332--361},
  year = {2024},
  url = {https://doi.org/10.1145/3632854}
}
@inproceedings{fstar,
  author = {Nikhil Swamy and Juan Chen and C{\'e}dric Fournet and
                 Pierre-Yves Strub and Karthik Bhargavan and Jean Yang},
  title = {Secure distributed programming with value-dependent
                 types},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2011},
  pages = {266--278},
  url = {http://research.microsoft.com/pubs/150012/icfp-camera-ready.pdf}
}
@inproceedings{fu-et-al-10,
  author = {Ming Fu and Yong Li and Xinyu Feng and Zhong Shao and
                 Yu Zhang},
  title = {Reasoning about Optimistic Concurrency Using a Program
                 Logic for History},
  booktitle = {International Conference on Concurrency Theory
                 (CONCUR)},
  series = {Lecture Notes in Computer Science},
  volume = {6269},
  pages = {388--402},
  publisher = {Springer},
  year = {2010},
  url = {https://doi.org/10.1007/978-3-642-15375-4_27}
}
@inproceedings{fuh-mishra-88,
  author = {You-Chin Fuh and Prateek Mishra},
  title = {Type inference with subtypes},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {300},
  year = {1988},
  pages = {94--114},
  url = {http://dx.doi.org/10.1007/3-540-19027-9_7}
}
@inproceedings{fuh-mishra-gap-89,
  author = {You-Chin Fuh and Prateek Mishra},
  title = {Polymorphic Subtype Inference: Closing the
                 Theory-Practice Gap},
  pages = {167--183},
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  month = mar,
  series = {Lecture Notes in Computer Science},
  volume = {352},
  publisher = {Springer},
  year = {1989},
  url = {http://dx.doi.org/10.1007/3-540-50940-2_35}
}
@inproceedings{furuse-03,
  author = {Jun Furuse},
  title = {Extensional Polymorphism by Flow Graph Dispatching},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2895},
  year = {2003},
  month = nov,
  url = {http://gallium.inria.fr/~furuse/publications/flowgraph.ps.gz}
}
@phdthesis{gabbay-01,
  author = {Murdoch J. Gabbay},
  title = {A Theory of Inductive Definitions with
                 $\alpha$-Equivalence},
  school = {Cambridge University},
  year = {2001},
  url = {http://www.macs.hw.ac.uk/~gabbay/papers/thesis.pdf}
}
@unpublished{gabbay-04,
  author = {Murdoch J. Gabbay},
  title = {A General Mathematics of Names in Syntax},
  month = mar,
  year = {2004},
  note = {Submitted for publication},
  url = {http://www.macs.hw.ac.uk/~gabbay/papers/genmns.pdf}
}
@article{gabbay-pitts-02,
  author = {Murdoch J. Gabbay and Andrew M. Pitts},
  title = {A New Approach to Abstract Syntax with Variable
                 Binding},
  journal = {Formal Aspects of Computing},
  year = {2002},
  volume = {13},
  number = {3--5},
  pages = {341--363},
  month = jul,
  url = {http://www.cl.cam.ac.uk/~amp12/papers/newaas/newaas-jv.pdf},
  alturl = {http://www.springerlink.com/link.asp?id=epn028x83rqw00qv}
}
@article{galil-italiano-91,
  author = {Zvi Galil and Giuseppe F. Italiano},
  title = {Data Structures and Algorithms for Disjoint Set Union
                 Problems},
  journal = {{ACM} Computing Surveys},
  volume = {23},
  number = {3},
  pages = {319--344},
  year = {1991},
  url = {http://doi.acm.org/10.1145/116873.116878}
}
@article{galler-fischer-64,
  author = {Bernard A. Galler and Michael J. Fischer},
  title = {An improved equivalence algorithm},
  journal = {Communications of the {ACM}},
  volume = {7},
  number = {5},
  pages = {301--303},
  year = {1964},
  url = {http://doi.acm.org/10.1145/364099.364331}
}
@article{gapeyev-levin-pierce-00,
  author = {Vladimir Gapeyev and Michael Levin and Benjamin
                 Pierce},
  title = {Recursive Subtyping Revealed},
  journal = {Journal of Functional Programming},
  volume = {12},
  number = {6},
  pages = {511--548},
  month = nov,
  year = {2002},
  url = {http://dx.doi.org/10.1017/S0956796802004318}
}
@article{garbervetsky-11,
  author = {Diego Garbervetsky and Sergio Yovine and V{\'{\i}}ctor
                 A. Braberman and Mart{\'{\i}}n Rouaux and Alejandro
                 Taboada},
  title = {Quantitative dynamic-memory analysis for {Java}},
  journal = {Concurrency and Computation Practice and Experience},
  volume = {23},
  number = {14},
  pages = {1665--1678},
  year = {2011},
  url = {https://doi.org/10.1002/cpe.1656}
}
@inproceedings{gardner-ntizk-wright-14,
  author = {Philippa Gardner and Gian Ntzik and Adam Wright},
  title = {Local Reasoning for the {POSIX} File System},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {169--188},
  month = apr,
  year = {2014},
  series = {Lecture Notes in Computer Science},
  volume = {8410},
  publisher = {Springer},
  url = {https://www.doc.ic.ac.uk/~gn408/POSIXFS/esop2014.pdf}
}
@book{garey-johnson-79,
  author = {Michael R. Garey and David S. Johnson},
  title = {Computers and Intractability: {A} Guide to the Theory
                 of {NP}-Completeness},
  year = {1979},
  publisher = {W. H. Freeman and Company}
}
@inproceedings{garrigue-00,
  author = {Jacques Garrigue},
  title = {Code reuse through polymorphic variants},
  booktitle = {Workshop on Foundations of Software Engineering},
  year = {2000},
  month = nov,
  url = {http://www.math.nagoya-u.ac.jp/~garrigue/papers/variant-reuse.ps.gz}
}
@inproceedings{garrigue-02,
  author = {Jacques Garrigue},
  title = {Simple Type Inference for Structural Polymorphism},
  booktitle = {Foundations of Object-Oriented Languages (FOOL)},
  year = {2002},
  month = jan,
  url = {http://www.math.nagoya-u.ac.jp/~garrigue/papers/structural-inf.ps.gz}
}
@article{garrigue-15,
  author = {Jacques Garrigue},
  title = {A certified implementation of {ML} with structural
                 polymorphism and recursive types},
  journal = {Mathematical Structures in Computer Science},
  volume = {25},
  number = {4},
  pages = {867--891},
  year = {2015},
  url = {https://www.math.nagoya-u.ac.jp/~garrigue/papers/certint1202.pdf}
}
@inproceedings{garrigue-98,
  author = {Jacques Garrigue},
  title = {Programming with polymorphic variants},
  booktitle = {ACM Workshop on ML},
  year = {1998},
  month = sep,
  url = {http://www.math.nagoya-u.ac.jp/~garrigue/papers/variants.ps.gz}
}
@techreport{garrigue-furuse-95,
  author = {Jun P. Furuse and Jacques Garrigue},
  title = {A label-selective lambda-calculus with optional
                 arguments and its compilation method},
  institution = {Kyoto University},
  year = {1995},
  type = {RIMS Preprint},
  number = {1041},
  month = oct,
  url = {http://wwwfun.kurims.kyoto-u.ac.jp/~garrigue/papers/rims-1041.pdf}
}
@inproceedings{garrigue-relax-04,
  author = {Jacques Garrigue},
  title = {Relaxing the Value Restriction},
  booktitle = {Functional and Logic Programming},
  pages = {196--213},
  year = {2004},
  volume = {2998},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://www.math.nagoya-u.ac.jp/~garrigue/papers/morepoly-long.pdf}
}
@article{garrigue-remy-99,
  author = {Jacques Garrigue and Didier R{\'e}my},
  title = {Extending {ML} with Semi-Explicit Higher-Order
                 Polymorphism},
  journal = {Information and Computation},
  year = {1999},
  volume = {155},
  number = {1},
  pages = {134--169},
  url = {http://cambium.inria.fr/~remy/ftp/iandc.pdf}
}
@inproceedings{garrigue-remy-gadts-13,
  author = {Jacques Garrigue and Didier R{\'e}my},
  title = {Ambivalent types for principal type inference with
                 {GADT}s},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  month = dec,
  year = {2013},
  url = {http://cambium.inria.fr/~remy/gadts/Garrigue-Remy:gadts@aplas2013.pdf}
}
@phdthesis{gaster-98,
  author = {Benedict R. Gaster},
  title = {Records, variants and qualified types},
  school = {University of Nottingham},
  month = jul,
  year = {1998},
  url = {http://www.cs.nott.ac.uk/Research/fop/gaster-thesis.ps}
}
@techreport{gaster-jones-96,
  author = {Benedict R. Gaster and Mark P. Jones},
  title = {A Polymorphic Type System for Extensible Records and
                 Variants},
  institution = {Department of Computer Science, University of
                 Nottingham},
  year = {1996},
  number = {NOTTCS-TR-96-3},
  month = nov,
  url = {http://web.cecs.pdx.edu/~mpj/pubs/polyrec.html}
}
@inproceedings{gauthier-pottier-04,
  author = {Nadji Gauthier and François Pottier},
  title = {Numbering Matters: First-Order Canonical Forms for
                 Second-Order Recursive Types},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  url = {http://cambium.inria.fr/~fpottier/publis/gauthier-fpottier-icfp04.pdf},
  month = sep,
  year = {2004},
  pages = {150--161}
}
@inproceedings{gay-modular-session-types-10,
  author = {Simon J. Gay and Vasco Thudichum Vasconcelos and
                 Ant{\'o}nio Ravara and Nils Gesbert and Alexandre Z.
                 Caldeira},
  title = {Modular session types for distributed object-oriented
                 programming},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2010},
  pages = {299--312},
  url = {http://www.dcs.gla.ac.uk/~simon/publications/ModularSessionTypes.pdf}
}
@inproceedings{german-clarke-halpern-83,
  author = {Steven German and Edmund Clarke and Joseph Halpern},
  title = {Reasoning About Procedures as Parameters},
  booktitle = {Logic of Programs},
  pages = {206--220},
  year = {1983},
  volume = {164},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-12896-4_365}
}
@techreport{geser-chaotic-94,
  author = {Alfons Geser and Jens Knoop and Gerald Lüttgen and
                 Oliver Rüthing and Bernhard Steffen},
  title = {Chaotic fixed point iterations},
  institution = {Fakultät für Mathematik und Informatik, Universität
                 Passau},
  year = {1994},
  type = {MIP-Bericht},
  number = {9403},
  url = {http://citeseer.ist.psu.edu/190778.html}
}
@manual{ghc,
  author = {The GHC team},
  title = {The {Glasgow Haskell} compiler},
  month = mar,
  year = {2005},
  url = {http://www.haskell.org/ghc/}
}
@article{ghelli-divergence-95,
  title = {Divergence of {$F_\leq$} type checking},
  author = {Giorgio Ghelli},
  journal = {Theoretical Computer Science},
  pages = {131--162},
  month = mar,
  year = {1995},
  volume = {139},
  number = {1--2},
  url = {ftp://ftp.di.unipi.it/pub/Papers/ghelli/DivergenceFsubTCS95.ps.gz}
}
@inproceedings{gherghina-structured-11,
  author = {Cristian Gherghina and Cristina David and Shengchao
                 Qin and Wei-Ngan Chin},
  title = {Structured Specifications for Better Verification of
                 Heap-Manipulating Programs},
  month = jun,
  year = {2011},
  pages = {386--401},
  booktitle = {Formal Methods (FM)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6664},
  url = {http://loris-7.ddns.comp.nus.edu.sg/~project/hip/publications/FM_2011_Case.pdf}
}
@inproceedings{gibbons-dgp-06,
  author = {Jeremy Gibbons},
  title = {Datatype-generic programming},
  booktitle = {International Spring School on Datatype-Generic
                 Programming},
  pages = {1--71},
  month = apr,
  year = {2006},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {4719},
  url = {http://www.cs.ox.ac.uk/jeremy.gibbons/publications/dgp.pdf}
}
@inproceedings{gibbons-hinze-11,
  author = {Jeremy Gibbons and Ralf Hinze},
  title = {Just do it: simple monadic equational reasoning},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {2--14},
  month = sep,
  year = {2011},
  url = {https://www.cs.ox.ac.uk/jeremy.gibbons/publications/mr.pdf}
}
@article{giesl-aprove-17,
  author = {J{\"{u}}rgen Giesl and Cornelius Aschermann and Marc
                 Brockschmidt and Fabian Emmes and Florian Frohn and
                 Carsten Fuhs and Jera Hensel and Carsten Otto and
                 Martin Pl{\"{u}}cker and Peter Schneider{-}Kamp and
                 Thomas Str{\"{o}}der and Stephanie Swiderski and René
                 Thiemann},
  title = {Analyzing Program Termination and Complexity
                 Automatically with {AProVE}},
  journal = {Journal of Automated Reasoning},
  volume = {58},
  number = {1},
  pages = {3--31},
  year = {2017},
  url = {https://verify.rwth-aachen.de/giesl/papers/JAR-AProVE.pdf}
}
@techreport{gifford-fx-87,
  author = {David K. Gifford and Pierre Jouvelot and John M.
                 Lucassen and Mark A. Sheldon},
  title = {{FX-87} Reference Manual},
  institution = {Massachusetts Institute of Technology},
  year = {1987},
  number = {MIT/LCS/TR-407},
  month = jan
}
@techreport{gifford-fx-91,
  author = {David K. Gifford and Pierre Jouvelot and Mark A.
                 Sheldon and James W. O'Toole},
  title = {Report on the {FX-91} Programming Language},
  institution = {Massachusetts Institute of Technology},
  year = {1992},
  number = {MIT/LCS/TR-531},
  month = feb,
  url = {http://www.psrg.lcs.mit.edu/history/publications.html#fxps}
}
@inproceedings{gillian-20,
  author = {José Fragoso Santos and Petar Maksimovic and
                 Sacha{-}élie Ayoun and Philippa Gardner},
  title = {Gillian, part {I}: a multi-language platform for
                 symbolic execution},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {927--942},
  month = jun,
  year = {2020},
  url = {https://doi.org/10.1145/3385412.3386014}
}
@phdthesis{girard-72,
  author = {Jean-Yves Girard},
  title = {Interprétation fonctionnelle et élimination des
                 coupures de l'arith\-mé\-ti\-que d'ordre supérieur},
  school = {Universit{\'e} Paris 7},
  type = {Th\`ese d'\'Etat},
  month = jun,
  year = {1972},
  url = {https://girard.perso.math.cnrs.fr/These.pdf}
}
@article{girard-87,
  author = {Jean-Yves Girard},
  title = {Linear logic},
  journal = {Theoretical Computer Science},
  year = {1987},
  volume = {50},
  number = {1},
  pages = {1--102},
  url = {http://iml.univ-mrs.fr/~girard/linear.pdf}
}
@inproceedings{glew-00,
  author = {Neal Glew},
  title = {An Efficient Class and Object Encoding},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {311--324},
  year = {2000},
  month = oct,
  url = {http://glew.org/nglew/papers/oce-oopsla.ps.gz}
}
@inproceedings{glew-02,
  author = {Neal Glew},
  title = {A Theory of Second-Order Trees},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {147--161},
  year = {2002},
  volume = {2305},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://glew.org/nglew/papers/tsot-esop.pdf}
}
@inproceedings{glew-99,
  author = {Neal Glew},
  title = {Object Closure Conversion},
  booktitle = {Higher Order Operational Techniques in Semantics
                 (HOOTS)},
  year = {1999},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {26},
  pages = {52--68},
  month = sep,
  url = {http://glew.org/nglew/papers/occ-hoots.ps.gz}
}
@inproceedings{gmeta-12,
  author = {Gyesik Lee and Bruno C. d. S. Oliveira and Sungkeun
                 Cho and Kwangkeun Yi},
  title = {{GMeta}: {A} Generic Formal Metatheory Framework for
                 First-Order Representations},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {436--455},
  month = apr,
  year = {2012},
  series = {Lecture Notes in Computer Science},
  volume = {7211},
  publisher = {Springer},
  url = {http://ropas.snu.ac.kr/gmeta/gmeta.pdf}
}
@inproceedings{goerdt-85,
  author = {Andreas Goerdt},
  title = {A {Hoare} Calculus for Functions Defined by Recursion
                 on Higher Types},
  booktitle = {Logic of Programs},
  year = {1985},
  pages = {106--117},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {193},
  url = {http://dx.doi.org/10.1007/3-540-15648-8_9}
}
@inproceedings{goguen-meseguer-82,
  author = {Joseph Goguen and José Meseguer},
  title = {Security policies and security models},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  month = apr,
  year = {1982},
  pages = {11--20}
}
@article{gomez-londono-20,
  author = {Alejandro G{\'{o}}mez{-}Londo{\~{n}}o and Johannes
                 {\AA}man Pohjola and Hira Taqdees Syeda and Magnus O.
                 Myreen and Yong Kiam Tan},
  title = {Do you have space for dessert? {A} verified space cost
                 semantics for {CakeML} programs},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {{OOPSLA}},
  pages = {204:1--204:29},
  year = {2020},
  url = {https://doi.org/10.1145/3428272}
}
@inproceedings{gomez-londono-22,
  author = {Alejandro G{\'{o}}mez{-}Londo{\~{n}}o and Magnus O.
                 Myreen},
  title = {A flat reachability-based measure for {CakeML}'s cost
                 semantics},
  booktitle = {Implementation of Functional Languages (IFL)},
  pages = {1--9},
  month = sep,
  year = {2021},
  url = {https://doi.org/10.1145/3544885.3544887}
}
@inproceedings{goncharov-schroeder-13,
  author = {Sergey Goncharov and Lutz Schröder},
  title = {A Relatively Complete Generic Hoare Logic for
                 Order-Enriched Effects},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {273--282},
  month = jun,
  year = {2013},
  url = {https://doi.org/10.1109/LICS.2013.33}
}
@inproceedings{gong-97,
  author = {Li Gong and Marianne Mueller and Hemma Prafullchandra
                 and Roland Schemers},
  title = {Going Beyond the Sandbox: An Overview of the New
                 Security Architecture in the {Java Development Kit
                 1.2}},
  booktitle = {{USENIX} Symposium on Internet Technologies and
                 Systems},
  month = dec,
  year = {1997},
  pages = {103--112},
  url = {http://secinf.net/uplarticle/10/jdk12arch.ps}
}
@inproceedings{gong-schemers-98,
  author = {Li Gong and Roland Schemers},
  title = {Implementing Protection Domains in the {Java}
                 Development Kit 1.2},
  booktitle = {Internet Society Symposium on Network and Distributed
                 System Security},
  year = {1998},
  month = mar,
  url = {http://www.isoc.org/isoc/conferences/ndss/98/gong.pdf}
}
@article{goodenough-issues-75,
  author = {John B. Goodenough},
  title = {Exception Handling: Issues and a Proposed Notation},
  journal = {Communications of the {ACM}},
  volume = {18},
  number = {12},
  pages = {683--696},
  year = {1975},
  url = {https://web.eecs.umich.edu/~weimerw/2006-615/reading/goodenough-exceptions.pdf}
}
@inproceedings{goodenough-structured-75,
  author = {John B. Goodenough},
  title = {Structured Exception Handling},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {204--224},
  month = jan,
  year = {1975},
  url = {https://doi.org/10.1145/512976.512997}
}
@inproceedings{gordon-12,
  author = {Colin S. Gordon and Matthew J. Parkinson and Jared
                 Parsons and Aleks Bromfield and Joe Duffy},
  title = {Uniqueness and reference immutability for safe
                 parallelism},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2012},
  pages = {21--40},
  url = {http://homes.cs.washington.edu/~csgordon/papers/oopsla12.pdf}
}
@inproceedings{gordon-melham-96,
  author = {Andrew D. Gordon and Tom Melham},
  title = {Five Axioms of Alpha-Conversion},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  pages = {173--191},
  year = {1996},
  volume = {1125},
  series = {Lecture Notes in Computer Science},
  month = aug,
  publisher = {Springer},
  url = {http://www.ftp.cl.cam.ac.uk/ftp/papers/adg/hug96.ps.gz}
}
@inproceedings{gordon-noble-07,
  author = {Donald Gordon and James Noble},
  title = {Dynamic ownership in a dynamic language},
  booktitle = {Symposium on Dynamic Languages},
  year = {2007},
  pages = {41--52},
  url = {http://doi.acm.org/10.1145/1297081.1297090}
}
@inproceedings{gospel,
  author = {Arthur Charguéraud and Jean{-}Christophe
                 Filli{\^{a}}tre and Cl{\'{a}}udio Louren{\c{c}}o and
                 M{\'{a}}rio Pereira},
  title = {{GOSPEL} - Providing {OCaml} with a Formal
                 Specification Language},
  booktitle = {Formal Methods (FM)},
  series = {Lecture Notes in Computer Science},
  volume = {11800},
  pages = {484--501},
  publisher = {Springer},
  month = oct,
  year = {2019},
  url = {https://hal.inria.fr/hal-02157484v2}
}
@inproceedings{gotsman-aplas-07,
  author = {Alexey Gotsman and Josh Berdine and Byron Cook and
                 Noam Rinetzky and Mooly Sagiv},
  title = {Local Reasoning for Storable Locks and Threads},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  pages = {19--37},
  month = nov,
  year = {2007},
  series = {Lecture Notes in Computer Science},
  volume = {4807},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/978-3-540-76637-7_3}
}
@article{gotsman-berdine-cook-11,
  author = {Alexey Gotsman and Josh Berdine and Byron Cook},
  title = {Precision and the Conjunction Rule in Concurrent
                 Separation Logic},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {276},
  pages = {171--190},
  year = {2011},
  url = {http://www0.cs.ucl.ac.uk/staff/b.cook/pdfs/precision_and_the_conjunction_rule_in_concurrent_seperation_logic.pdf}
}
@inproceedings{gotsman-et-al-13,
  author = {Alexey Gotsman and Noam Rinetzky and Hongseok Yang},
  title = {Verifying Concurrent Memory Reclamation Algorithms
                 with Grace},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {7792},
  pages = {249--269},
  publisher = {Springer},
  month = mar,
  year = {2013},
  url = {https://software.imdea.org/~gotsman/papers/recycling-esop13.pdf}
}
@techreport{gotsman-storable-07,
  author = {Alexey Gotsman and Josh Berdine and Byron Cook and
                 Noam Rinetzky and Mooly Sagiv},
  title = {Local Reasoning for Storable Locks and Threads},
  institution = {Microsoft Research},
  year = {2007},
  number = {MSR-TR-2007-39},
  month = sep,
  url = {http://research.microsoft.com/pubs/70427/tr-2007-39.pdf}
}
@inproceedings{goubault-dim-94,
  author = {Jean Goubault},
  title = {Inférence d'unités physiques en {ML}},
  booktitle = {Journées Françaises des Langages Applicatifs
                 (JFLA)},
  pages = {3--20},
  year = {1994}
}
@book{graham-knuth-patashnik,
  author = {Ronald L. Graham and Donald E. Knuth and Oren
                 Patashnik},
  title = {Concrete mathematics: a foundation for computer
                 science},
  publisher = {Addison-Wesley},
  year = {1994},
  url = {http://www-cs-faculty.stanford.edu/~knuth/gkp.html}
}
@article{gries-73,
  author = {David Gries},
  title = {Describing an Algorithm by {Hopcroft}},
  journal = {Acta Informatica},
  volume = {2},
  pages = {97--109},
  year = {1973},
  url = {http://dx.doi.org/10.1007/BF00264025}
}
@book{griewank-walther,
  author = {Andreas Griewank and Andrea Walther},
  title = {Evaluating derivatives -- principles and techniques of
                 algorithmic differentiation, Second Edition},
  publisher = {{SIAM}},
  year = {2008},
  url = {https://doi.org/10.1137/1.9780898717761}
}
@article{grosch-90,
  author = {Josef Grosch},
  title = {Efficient and Comfortable Error Recovery in Recursive
                 Descent Parsers},
  journal = {Structured Programming},
  volume = {11},
  number = {3},
  pages = {129--140},
  year = {1990},
  url = {http://www.cocolab.com/products/cocktail/doc.pdf/ell.pdf}
}
@inproceedings{grosen-kahn-hoffmann-23,
  author = {Jessie Grosen and David M. Kahn and Jan Hoffmann},
  title = {Automatic Amortized Resource Analysis with Regular
                 Recursive Types},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {1--14},
  year = {2023},
  url = {https://www.cs.cmu.edu/~janh/assets/pdf/GrosenKH23.pdf}
}
@article{grossman-06,
  author = {Dan Grossman},
  title = {Quantified Types in an Imperative Language},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2006},
  volume = {28},
  number = {3},
  pages = {429--475},
  month = may,
  url = {http://www.cs.washington.edu/homes/djg/papers/qtil.pdf}
}
@book{grune-jacobs-08,
  author = {Dick Grune and Ceriel J. H. Jacobs},
  title = {Parsing techniques: a practical guide, second
                 edition},
  year = {2008},
  publisher = {Springer},
  series = {Monographs in computer science},
  url = {https://dickgrune.com/Books/PTAPG_2nd_Edition/}
}
@book{grune-jacobs-90,
  author = {Dick Grune and Ceriel J. H. Jacobs},
  title = {Parsing techniques: a practical guide},
  year = {1990},
  publisher = {Ellis Horwood},
  url = {https://dickgrune.com/Books/PTAPG_1st_Edition/}
}
@inproceedings{guatto-18,
  author = {Adrien Guatto},
  title = {A Generalized Modality for Recursion},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {482--491},
  year = {2018},
  url = {https://doi.org/10.1145/3209108.3209148}
}
@phdthesis{gueneau-19,
  author = {Armaël Gu{\'e}neau},
  title = {Mechanized Verification of the Correctness and
                 Asymptotic Complexity of Programs},
  school = {Université de Paris},
  month = dec,
  year = {2019},
  url = {https://tel.archives-ouvertes.fr/tel-02437532}
}
@inproceedings{gueneau-cakeml-17,
  author = {Armaël Guéneau and Magnus O. Myreen and Ramana Kumar
                 and Michael Norrish},
  title = {Verified Characteristic Formulae for {CakeML}},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2017},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  volume = {10201},
  pages = {584--610},
  url = {http://cambium.inria.fr/~agueneau/publis/gueneau-myreen-kumar-norrish-cf-cakeml.pdf}
}
@inproceedings{gueneau-chargueraud-jourdan-pottier-19,
  author = {Armaël Guéneau and Jacques-Henri Jourdan and Arthur
                 Charguéraud and François Pottier},
  title = {Formal Proof and Analysis of an Incremental Cycle
                 Detection Algorithm},
  booktitle = {Interactive Theorem Proving (ITP)},
  month = sep,
  year = {2019},
  pages = {18:1--18:20},
  series = {{Leibniz} International Proceedings in Informatics},
  volume = {141},
  url = {http://cambium.inria.fr/~fpottier/publis/gueneau-jourdan-chargueraud-pottier-2019.pdf}
}
@inproceedings{gueneau-chargueraud-pottier-18,
  author = {Armaël Guéneau and Arthur Charguéraud and François
                 Pottier},
  title = {A Fistful of Dollars: Formalizing Asymptotic
                 Complexity Claims via Deductive Program Verification},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {10801},
  pages = {533--560},
  month = apr,
  year = {2018},
  url = {http://cambium.inria.fr/~fpottier/publis/gueneau-chargeraud-pottier-esop2018.pdf}
}
@misc{gueneau-pottier-protzenko-13,
  author = {Armaël Guéneau and François Pottier and Jonathan
                 Protzenko},
  title = {The ins and outs of iteration in {Mezzo}},
  note = {\url{http://goo.gl/NrgKc4}},
  month = sep,
  year = {2013},
  howpublished = {Higher-Order Programming and Effects (HOPE)}
}
@article{guillemette-monnier-06,
  author = {Louis-Julien Guillemette and Stefan Monnier},
  title = {Type-Safe Code Transformations in {Haskell}},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {174},
  number = {7},
  pages = {23--39},
  year = {2007},
  url = {https://doi.org/10.1016/j.entcs.2006.10.036}
}
@inproceedings{guillemette-monnier-07,
  author = {Louis-Julien Guillemette and Stefan Monnier},
  title = {A Type-Preserving Closure Conversion in {Haskell}},
  booktitle = {Haskell workshop},
  pages = {83--92},
  year = {2007},
  month = sep,
  url = {http://www.iro.umontreal.ca/~monnier/tcm.pdf}
}
@inproceedings{guillemette-monnier-08,
  author = {Louis-Julien Guillemette and Stefan Monnier},
  title = {A Type-Preserving Compiler in {Haskell}},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2008},
  pages = {75--86},
  url = {http://www-etud.iro.umontreal.ca/~guillelj/icfp08.pdf}
}
@inproceedings{guillemette-vote-08,
  author = {Louis-Julien Guillemette and Stefan Monnier},
  title = {One Vote for Type Families in {Haskell}!},
  booktitle = {Trends in Functional Programming (TFP)},
  year = {2008},
  url = {http://www-etud.iro.umontreal.ca/~guillelj/tfp08.pdf}
}
@inproceedings{gulwani-09,
  author = {Sumit Gulwani},
  title = {{SPEED:} Symbolic Complexity Bound Analysis},
  booktitle = {Computer Aided Verification (CAV)},
  pages = {51--62},
  month = jul,
  year = {2009},
  series = {Lecture Notes in Computer Science},
  volume = {5643},
  publisher = {Springer},
  url = {https://www.microsoft.com/en-us/research/publication/speed-symbolic-complexity-bound-analysis/}
}
@inproceedings{gulwani-mehra-chilimbi-09,
  author = {Sumit Gulwani and Krishna K. Mehra and Trishul M.
                 Chilimbi},
  title = {{SPEED:} precise and efficient static estimation of
                 program computational complexity},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {127--139},
  month = jan,
  year = {2009},
  url = {https://www.microsoft.com/en-us/research/publication/speed-precise-and-efficient-static-estimation-of-program-computational-complexity-2/}
}
@inproceedings{gundry-10,
  author = {Adam Gundry and Conor McBride and James McKinna},
  title = {Type inference in context},
  booktitle = {Workshop on Mathematically Structured Functional
                 Programming (MSFP)},
  pages = {43--54},
  year = {2010},
  month = sep,
  url = {https://adam.gundry.co.uk/pub/type-inference-in-context/}
}
@phdthesis{gundry-13,
  author = {Adam Gundry},
  title = {Type Inference, {Haskell} and Dependent Types},
  school = {University of Strathclyde},
  year = {2013},
  url = {https://adam.gundry.co.uk/pub/thesis/}
}
@article{gupta-nandivada-15,
  author = {Kartik Gupta and V. Krishna Nandivada},
  title = {Lexical state analyzer for {JavaCC} grammars},
  journal = {Software: Practice and Experience},
  url = {http://dx.doi.org/10.1002/spe.2322},
  year = {2015}
}
@inproceedings{gustavsson-svenningsson-01,
  author = {Jörgen Gustavsson and Josef Svenningsson},
  title = {Constraint Abstractions},
  booktitle = {Symposium on Programs as Data Objects},
  year = {2001},
  volume = {2053},
  series = {Lecture Notes in Computer Science},
  month = may,
  publisher = {Springer},
  url = {http://www.cse.chalmers.se/~josefs/publications/ca.pdf}
}
@inproceedings{guzman-suarez-94,
  author = {Juan Carlos Guzm{\'a}n and Asc{\'a}nder Su{\'a}rez},
  title = {An Extended Type System for Exceptions},
  booktitle = {ACM Workshop on ML and its Applications},
  series = {INRIA Research Reports},
  publisher = {INRIA},
  number = {2265},
  month = jun,
  year = {1994},
  pages = {127--135}
}
@inproceedings{haack-huisman-hurlin-08,
  author = {Christian Haack and Marieke Huisman and Clément
                 Hurlin},
  title = {Reasoning about {Java's} Reentrant Locks},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  pages = {171--187},
  month = dec,
  year = {2008},
  series = {Lecture Notes in Computer Science},
  volume = {5356},
  publisher = {Springer},
  url = {http://www.cs.ru.nl/~chaack/papers/papers/reentrant.pdf}
}
@article{haack-hurlin-09,
  author = {Christian Haack and Clément Hurlin},
  title = {Resource Usage Protocols for Iterators},
  journal = {Journal of Object Technology},
  volume = {8},
  number = {4},
  pages = {55--83},
  year = {2009},
  url = {http://www.jot.fm/issues/issue_2009_06/article3.pdf}
}
@inproceedings{haack-wells-03,
  author = {Christian Haack and J. B. Wells},
  title = {Type error slicing in implicitly typed, higher-order
                 languages},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2003},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {2618},
  url = {http://www.macs.hw.ac.uk/~jbw/papers/Haack+Wells:Type-Error-Slicing-in-Implicitly-Typed-Higher-Order-Languages:ESOP-2003.pdf}
}
@article{hackett-hutton-19,
  author = {Jennifer Hackett and Graham Hutton},
  title = {Call-by-need is clairvoyant call-by-value},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{ICFP}},
  pages = {114:1--114:23},
  year = {2019},
  url = {https://doi.org/10.1145/3341718}
}
@article{hague-ong-08,
  author = {Matthew Hague and C.{-}H. Luke Ong},
  title = {Symbolic Backwards-Reachability Analysis for
                 Higher-Order Pushdown Systems},
  journal = {Logical Methods in Computer Science},
  volume = {4},
  number = {4},
  year = {2008},
  url = {https://doi.org/10.2168/LMCS-4(4:14)2008}
}
@inproceedings{hall-94,
  author = {Cordelia Hall and Kevin Hammond and Simon {Peyton
                 Jones} and Philip Wadler},
  title = {Type classes in {Haskell}},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {241--256},
  year = {1994},
  volume = {788},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://research.microsoft.com/Users/simonpj/Papers/classhask.ps.gz}
}
@article{hall-96,
  author = {Cordelia Hall and Kevin Hammond and Simon {Peyton
                 Jones} and Philip Wadler},
  title = {Type classes in {Haskell}},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {1996},
  volume = {18},
  number = {2},
  pages = {109--138},
  month = mar,
  url = {http://doi.acm.org/10.1145/227699.227700}
}
@inproceedings{haller-odersky-10,
  author = {Philipp Haller and Martin Odersky},
  title = {Capabilities for Uniqueness and Borrowing},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jun,
  year = {2010},
  pages = {354--378},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6183},
  url = {http://lampwww.epfl.ch/~phaller/doc/haller-odersky10-Capabilities_for_uniqueness_and_borrowing.pdf}
}
@techreport{hallett-kfoury-04,
  author = {Joseph J. Hallett and Assaf J. Kfoury},
  title = {Programming Examples Needing Polymorphic Recursion},
  institution = {Department of Computer Science, Boston University},
  year = {2004},
  month = jan,
  number = {BUCS-TR-2004-004},
  url = {http://www.church-project.org/reports/electronic/Hal+Kfo:BUCS-TR-2004-004.pdf}
}
@inproceedings{hance-al-20,
  author = {Travis Hance and Andrea Lattuada and Chris Hawblitzel
                 and Jon Howell and Rob Johnson and Bryan Parno},
  title = {Storage Systems are Distributed Systems (So Verify
                 Them That Way!)},
  booktitle = {Symposium on Operating Systems Design and
                 Implementation},
  pages = {99--115},
  month = nov,
  year = {2020},
  url = {https://www.usenix.org/system/files/osdi20-hance.pdf}
}
@article{handley-vazou-hutton-20,
  author = {Martin A. T. Handley and Niki Vazou and Graham
                 Hutton},
  title = {Liquidate your assets: reasoning about resource usage
                 in {Liquid Haskell}},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {{POPL}},
  pages = {24:1--24:27},
  year = {2020},
  url = {https://doi.org/10.1145/3371092}
}
@phdthesis{hanus-88,
  author = {Michael Hanus},
  title = {Horn Clause Specifications with Polymorphic Types},
  year = {1988},
  school = {Fachbereich Informatik, Universität Dortmund},
  url = {http://www.informatik.uni-kiel.de/~mh/publications/various/Dissertation.dvi.Z}
}
@inproceedings{hanus-89,
  author = {Michael Hanus},
  title = {Horn Clause Programs with Polymorphic Types: Semantics
                 and Resolution},
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {352},
  pages = {225--240},
  year = {1989},
  url = {http://www.informatik.uni-kiel.de/~mh/publications/papers/TAPSOFT89.ps}
}
@manual{happy,
  author = {Simon Marlow and Andy Gill},
  title = {Happy: the parser generator for {Haskell}},
  year = {2004},
  month = apr,
  url = {http://www.haskell.org/happy/}
}
@article{hardy-88,
  author = {Norm Hardy},
  title = {The Confused Deputy (or why capabilities might have
                 been invented)},
  journal = {ACM Operating Systems Review},
  year = {1988},
  volume = {22},
  number = {4},
  pages = {36--38},
  month = oct,
  url = {http://www.cis.upenn.edu/~KeyKOS/ConfusedDeputy.html}
}
@article{harfst-reingold-00,
  author = {Gregory C. Harfst and Edward M. Reingold},
  title = {A potential-based amortized analysis of the union-find
                 data structure},
  journal = {{SIGACT} News},
  volume = {31},
  number = {3},
  pages = {86--95},
  year = {2000},
  url = {http://doi.acm.org/10.1145/356458.356463}
}
@article{harper-94,
  author = {Robert Harper},
  title = {A simplified account of polymorphic references},
  journal = {Information Processing Letters},
  volume = {51},
  number = {4},
  year = {1994},
  pages = {201--206},
  url = {http://www.cs.cmu.edu/~rwh/papers/refs/ipl94.pdf}
}
@article{harper-99,
  author = {Robert Harper},
  title = {Proof-Directed Debugging},
  journal = {Journal of Functional Programming},
  volume = {9},
  number = {4},
  year = {1999},
  pages = {463--469},
  url = {http://dx.doi.org/10.1017/S0956796808007119}
}
@article{harper-honsell-plotkin-93,
  author = {Robert Harper and Furio Honsell and Gordon D.
                 Plotkin},
  title = {A Framework for Defining Logics},
  journal = {Journal of the {ACM}},
  volume = {40},
  number = {1},
  pages = {143--184},
  year = {1993},
  url = {http://homepages.inf.ed.ac.uk/gdp/publications/Framework_Def_Log.pdf}
}
@article{harper-licata-07,
  author = {Robert Harper and Daniel R. Licata},
  title = {Mechanizing metatheory in a logical framework},
  journal = {Journal of Functional Programming},
  volume = {17},
  number = {4--5},
  year = {2007},
  pages = {613--673},
  url = {http://www.cs.cmu.edu/~rwh/papers/mech/jfp07.pdf}
}
@misc{harper-lillibridge-91,
  author = {Bob Harper and Mark Lillibridge},
  title = {{ML} with callcc is unsound},
  howpublished = {Message to the {TYPES} mailing list},
  month = jul,
  year = {1991},
  url = {http://www.cis.upenn.edu/~bcpierce/types/archives/1991/msg00034.html}
}
@article{harper-lillibridge-93,
  author = {Robert Harper and Mark Lillibridge},
  title = {Polymorphic Type Assignment and {CPS} Conversion},
  journal = {Lisp and Symbolic Computation},
  volume = {6},
  number = {3--4},
  pages = {361--380},
  year = {1993},
  url = {https://www.cs.cmu.edu/~rwh/papers/cps-ml/lasc93.pdf}
}
@inproceedings{harper-pierce-91,
  author = {Robert Harper and Benjamin Pierce},
  title = {A Record Calculus Based on symmetric Concatenation},
  pages = {131--142},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1991},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/merge.ps}
}
@incollection{harper-pierce-attapl,
  author = {Robert Harper and Benjamin C. Pierce},
  title = {Design Considerations for {ML}-Style Module Systems},
  booktitle = {Advanced Topics in Types and Programming Languages},
  pages = {293--345},
  publisher = {MIT Press},
  year = {2005},
  editor = {Benjamin C. Pierce},
  chapter = {8}
}
@inproceedings{harrison-06,
  author = {William L. Harrison},
  title = {The Essence of Multitasking},
  booktitle = {International Conference on Algebraic Methodology and
                 Software Technology (AMAST)},
  series = {Lecture Notes in Computer Science},
  volume = {4019},
  pages = {158--172},
  publisher = {Springer},
  month = jul,
  year = {2006},
  url = {https://bibbase.org/network/publication/harrison-theessenceofmultitasking-2006}
}
@book{harrison-09,
  author = {John Harrison},
  title = {Handbook of Practical Logic and Automated Reasoning},
  publisher = {Cambridge University Press},
  year = {2009},
  url = {http://www.cl.cam.ac.uk/~jrh13/atp/}
}
@book{haskell-98,
  editor = {Simon {Peyton Jones}},
  title = {{Haskell} 98 Language and Libraries: The Revised
                 Report},
  publisher = {Cambridge University Press},
  year = {2003},
  month = apr,
  url = {http://www.haskell.org/onlinereport/}
}
@inproceedings{haskell-history-07,
  author = {Paul Hudak and John Hughes and Simon {Peyton Jones}
                 and Philip Wadler},
  title = {A History of {Haskell}: being lazy with class},
  booktitle = {History of Programming Languages},
  year = {2007},
  month = jun,
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/history.pdf}
}
@inproceedings{haslbeck-lammich-21,
  author = {Maximilian P. L. Haslbeck and Peter Lammich},
  title = {For a Few Dollars More - Verified Fine-Grained
                 Algorithm Analysis Down to {LLVM}},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {12648},
  pages = {292--319},
  publisher = {Springer},
  month = mar,
  year = {2021},
  url = {https://www21.in.tum.de/~haslbema/documents/Haslbeck_Lammich_LLVM_with_Time.pdf}
}
@inproceedings{haslbeck-nipkow-18,
  author = {Maximilian P. L. Haslbeck and Tobias Nipkow},
  title = {Hoare Logics for Time Bounds: {A} Study in Meta
                 Theory},
  booktitle = {Tools and Algorithms for Construction and Analysis of
                 Systems (TACAS)},
  pages = {155--171},
  month = apr,
  year = {2018},
  series = {Lecture Notes in Computer Science},
  volume = {10805},
  publisher = {Springer},
  url = {https://www21.in.tum.de/~nipkow/pubs/tacas18.pdf}
}
@article{hasuo-15,
  author = {Ichiro Hasuo},
  title = {Generic weakest precondition semantics from monads
                 enriched with order},
  journal = {Theoretical Computer Science},
  volume = {604},
  pages = {2--29},
  year = {2015},
  url = {https://doi.org/10.1016/j.tcs.2015.03.047}
}
@techreport{hawblitzel-05,
  author = {Chris Hawblitzel},
  title = {Linear Types for Aliased Resources},
  institution = {Microsoft Research},
  year = {2005},
  number = {MSR-TR-2005-141},
  month = oct,
  url = {http://research.microsoft.com/pubs/70228/tr-2005-141.pdf}
}
@article{hawblitzel-petrank-10,
  author = {Chris Hawblitzel and Erez Petrank},
  title = {Automated Verification of Practical Garbage
                 Collectors},
  journal = {Logical Methods in Computer Science},
  volume = {6},
  number = {3},
  year = {2010},
  url = {http://arxiv.org/abs/1004.3808}
}
@inproceedings{he-09,
  author = {Guanhua He and Shengchao Qin and Chenguang Luo and
                 Wei{-}Ngan Chin},
  title = {Memory Usage Verification Using {Hip/Sleek}},
  booktitle = {Automated Technology for Verification and Analysis
                 (ATVA)},
  series = {Lecture Notes in Computer Science},
  volume = {5799},
  pages = {166--181},
  publisher = {Springer},
  month = oct,
  year = {2009},
  url = {https://dro.dur.ac.uk/6241/}
}
@article{he-18,
  author = {Mengda He and Viktor Vafeiadis and Shengchao Qin and
                 Jo{\~{a}}o F. Ferreira},
  title = {{GPS++}: Reasoning About Fences and Relaxed Atomics},
  journal = {International Journal of Parallel Programming},
  volume = {46},
  number = {6},
  pages = {1157--1183},
  year = {2018},
  url = {https://research.tees.ac.uk/ws/files/4220693/IJPP_Preprint.pdf}
}
@inproceedings{hecht-ullman-73,
  author = {Matthew S. Hecht and Jeffrey D. Ullman},
  title = {Analysis of a simple algorithm for global data flow
                 problems},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {207--217},
  year = {1973},
  url = {http://doi.acm.org/10.1145/512927.512946}
}
@phdthesis{heeren-05,
  author = {Bastiaan Heeren},
  title = {Top Quality Type Error Messages},
  school = {Utrecht University},
  year = {2005},
  url = {http://dspace.library.uu.nl/handle/1874/7297}
}
@techreport{heeren-improving-02,
  title = {Improving type-error messages in functional
                 languages},
  author = {Bastiaan Heeren and Johan Jeuring and Doaitse
                 Swierstra and Pablo Azero Alcocer},
  month = feb,
  year = {2002},
  institution = {University of Utrecht, Institute of Information and
                 Computing Science},
  number = {UU-CS-2002-009},
  url = {http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2002-009.pdf}
}
@techreport{heeren2002generalizing,
  title = {Generalizing {Hindley-Milner} Type Inference
                 Algorithms},
  author = {Bastiaan Heeren and Jurriaan Hage and Doaitse
                 Swierstra},
  month = jul,
  year = {2002},
  institution = {University of Utrecht, Institute of Information and
                 Computing Science},
  number = {UU-CS-2002-031},
  url = {http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2002-031.pdf}
}
@techreport{heeren2002parametric,
  title = {Parametric Type Inferencing for {Helium}},
  author = {Bastiaan Heeren and Jurriaan Hage},
  month = aug,
  year = {2002},
  institution = {University of Utrecht, Institute of Information and
                 Computing Science},
  number = {UU-CS-2002-035},
  url = {http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2002-035.pdf}
}
@inbook{hehner-96,
  author = {Eric C. R. Hehner},
  booktitle = {A classical mind},
  title = {Abstractions of Time},
  publisher = {Prentice Hall},
  year = {1994},
  pages = {191--210},
  url = {http://www.cs.toronto.edu/~hehner/AoT.pdf}
}
@article{hehner-98,
  author = {Eric C. R. Hehner},
  title = {Formalization of Time and Space},
  journal = {Formal Aspects of Computing},
  year = {1998},
  volume = {10},
  pages = {290--206},
  url = {http://www.cs.toronto.edu/~hehner/FTS.pdf}
}
@techreport{heintze-93,
  author = {Nevin Heintze},
  institution = {Carnegie Mellon University, School of Computer
                 Science},
  title = {Set Based Analysis of {ML} Programs},
  year = {1993},
  month = jul,
  number = {CMU-CS-93-193},
  url = {http://reports-archive.adm.cs.cmu.edu/anon/1993/CMU-CS-93-193.ps}
}
@inproceedings{heintze-mcallester-97,
  author = {Nevin Heintze and David McAllester},
  title = {Linear-Time Subtransitive Control Flow Analysis},
  pages = {261--272},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {1997},
  url = {http://www.autoreason.com/PLDI97.ps}
}
@inproceedings{heintze-riecke-slam-98,
  author = {Nevin Heintze and Jon G. Riecke},
  title = {The {SL}am Calculus: Programming with Secrecy and
                 Integrity},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1998},
  pages = {365--377},
  url = {http://cm.bell-labs.com/cm/cs/who/nch/slam.ps}
}
@inproceedings{heintze-tardieu-01,
  author = {Nevin Heintze and Olivier Tardieu},
  title = {Ultra-fast Aliasing Analysis using {CLA}: {A} Million
                 Lines of {C} Code in a Second},
  pages = {254--263},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {2001},
  url = {http://cm.bell-labs.com/cm/cs/who/nch/pldi01-1m.ps}
}
@inproceedings{helsen-thiemann-00,
  author = {Simon Helsen and Peter Thiemann},
  title = {Syntactic Type Soundness for the Region Calculus},
  booktitle = {Higher Order Operational Techniques in Semantics
                 (HOOTS)},
  pages = {1--19},
  year = {2000},
  volume = {41},
  number = {3},
  series = {Electronic Notes in Theoretical Computer Science},
  url = {http://www.swen.uwaterloo.ca/~shelsen/papers/helsen-thiemann-hoots-00.pdf}
}
@techreport{henderson-modes-92,
  author = {Fergus Henderson},
  title = {Strong modes can change the world!},
  institution = {Department of Computer Science, University of
                 Melbourne},
  year = {1992},
  number = {96/11},
  month = nov,
  url = {http://www.cs.mu.oz.au/~fjh/papers/hons_thesis.ps.gz}
}
@inproceedings{hendriks-oostrom-03,
  author = {Dimitri Hendriks and Vincent van Oostrom},
  title = {Adbmal},
  booktitle = {International Conference on Automated Deduction
                 (CADE)},
  pages = {136--150},
  year = {2003},
  volume = {2741},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {https://doi.org/10.1007/978-3-540-45085-6_11}
}
@inproceedings{henglein-91,
  author = {Fritz Henglein},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  title = {Efficient Type Inference for Higher-Order Binding-Time
                 Analysis},
  year = {1991},
  pages = {448--472},
  series = {Lecture Notes in Computer Science},
  volume = {523},
  publisher = {Springer},
  url = {ftp://ftp.diku.dk/pub/diku/users/henglein/binding-time-analysis.dvi.gz}
}
@article{henglein-93,
  author = {Fritz Henglein},
  title = {Type Inference with Polymorphic Recursion},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {1993},
  volume = {15},
  month = apr,
  number = {2},
  pages = {253--289},
  url = {http://doi.acm.org/10.1145/169701.169692}
}
@inproceedings{henglein-breaking-97,
  author = {Fritz Henglein},
  title = {Breaking through the $n^3$ barrier: Faster object type
                 inference},
  booktitle = {Foundations of Object-Oriented Languages (FOOL)},
  year = {1997}
}
@article{henglein-breaking-99,
  author = {Fritz Henglein},
  title = {Breaking through the $n^3$ barrier: Faster Object Type
                 Inference},
  journal = {Theory and Practice of Object Systems},
  year = {1999},
  volume = {5},
  number = {1},
  pages = {57--72},
  url = {ftp://ftp.diku.dk/diku/semantics/papers/D-396.ps.gz}
}
@article{henglein-paige-87,
  author = {Robert Paige and Fritz Henglein},
  title = {Mechanical translation of set theoretic problem
                 specifications into efficient {RAM} code -- {A} case
                 study},
  journal = {Journal of Symbolic Computation},
  volume = {4},
  number = {2},
  year = {1987},
  pages = {207--232},
  url = {http://dx.doi.org/10.1016/S0747-7171(87)80066-4}
}
@phdthesis{henglein-phd-89,
  author = {Fritz Henglein},
  month = apr,
  school = {Rutgers University},
  title = {Polymorphic Type Inference and Semi-Unification},
  year = {1989},
  url = {ftp://ftp.diku.dk/diku/users/henglein/poly-typ-inf-and-semi-unif.ps.gz}
}
@inproceedings{henglein-rehof-97,
  author = {Fritz Henglein and Jakob Rehof},
  title = {The Complexity of Subtype Entailment for Simple
                 Types},
  pages = {352--361},
  booktitle = {Logic in Computer Science (LICS)},
  month = jun,
  year = {1997},
  url = {http://research.microsoft.com/~rehof/lics97.ps}
}
@inproceedings{henglein-rehof-98,
  author = {Fritz Henglein and Jakob Rehof},
  title = {Constraint Automata and the Complexity of Recursive
                 Subtype Entailment},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  month = jul,
  year = {1998},
  url = {http://research.microsoft.com/~rehof/icalp98.ps}
}
@techreport{hennessy-2000,
  author = {Matthew Hennessy},
  title = {The security picalculus and non-interference},
  month = nov,
  year = {2000},
  institution = {University of Sussex},
  number = {2000:05},
  url = {ftp://ftp.cogs.susx.ac.uk/pub/reports/compsci/cs052000.ps.Z}
}
@inproceedings{hennessy-riely-00,
  author = {Matthew Hennessy and James Riely},
  title = {Information Flow vs. Resource Access in the
                 Asynchronous Pi-Calculus},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  month = jul,
  year = {2000},
  url = {http://www.depaul.edu/~jriely/papers/00icalp.ps.gz}
}
@inproceedings{hepburn-wright-01,
  author = {Mark Hepburn and David Wright},
  title = {Trust in the Pi-Calculus},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  month = sep,
  year = {2001}
}
@article{herlihy-schachte-sondergaard-07,
  author = {Brian Herlihy and Peter Schachte and Harald
                 Søndergaard},
  title = {Un-{Kleene} {Boolean} Equation Solving},
  journal = {International Journal of Foundations of Computer
                 Science},
  year = {2007},
  volume = {18},
  number = {2},
  pages = {227--250},
  url = {http://dx.doi.org/10.1142/S0129054107004668}
}
@article{herlihy-wing-90,
  author = {Maurice P. Herlihy and Jeannette M. Wing},
  title = {Linearizability: a correctness condition for
                 concurrent objects},
  year = {1990},
  volume = {12},
  number = {3},
  url = {https://doi.org/10.1145/78969.78972},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  month = jul,
  pages = {463--492}
}
@inproceedings{heule-13,
  author = {Stefan Heule and K. Rustan M. Leino and Peter
                 M{\"u}ller and Alexander J. Summers},
  title = {Abstract Read Permissions: Fractional Permissions
                 without the Fractions},
  booktitle = {Verification, Model Checking and Abstract
                 Interpretation (VMCAI)},
  year = {2013},
  pages = {315--334},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {7737},
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml225.pdf}
}
@inproceedings{higuchi-ohori-03,
  author = {Tomoyuki Higuchi and Atsushi Ohori},
  title = {A Static Type System for {JVM} Access Control},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {227--237},
  year = {2003},
  month = aug,
  url = {http://doi.acm.org/10.1145/944726}
}
@inproceedings{hillerstrom-al-17,
  author = {Daniel Hillerstr{\"{o}}m and Sam Lindley and Robert
                 Atkey and K. C. Sivaramakrishnan},
  title = {Continuation Passing Style for Effect Handlers},
  booktitle = {Formal Structures for Computation and Deduction
                 (FSCD)},
  pages = {18:1--18:19},
  year = {2017},
  series = {{Leibniz} International Proceedings in Informatics},
  volume = {84},
  url = {http://www.dagstuhl.de/dagpub/978-3-95977-047-7}
}
@inproceedings{hillerstrom-lindley-16,
  author = {Daniel Hillerstr{\"{o}}m and Sam Lindley},
  title = {Liberating effects with rows and handlers},
  booktitle = {International Workshop on Type-Driven Development
                 {(TyDe@ICFP)}},
  pages = {15--27},
  month = sep,
  year = {2016},
  url = {http://homepages.inf.ed.ac.uk/slindley/papers/links-effect.pdf}
}
@inproceedings{hillerstrom-lindley-18,
  author = {Daniel Hillerstr{\"{o}}m and Sam Lindley},
  title = {Shallow Effect Handlers},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  pages = {415--435},
  month = dec,
  year = {2018},
  series = {Lecture Notes in Computer Science},
  volume = {11275},
  publisher = {Springer},
  url = {http://homepages.inf.ed.ac.uk/slindley/papers/shallow-extended.pdf}
}
@article{hillerstrom-lindley-atkey-20,
  author = {Daniel Hillerstr{\"{o}}m and Sam Lindley and Robert
                 Atkey},
  title = {Effect handlers via generalised continuations},
  journal = {Journal of Functional Programming},
  volume = {30},
  pages = {e5},
  year = {2020},
  url = {https://www.dhil.net/research/papers/generalised_continuations-jfp-draft.pdf}
}
@article{hindley-69,
  author = {J. Roger Hindley},
  title = {The Principal Type-scheme of an Object in Combinatory
                 Logic},
  journal = {Transactions of the American Mathematical Society},
  volume = {146},
  pages = {29--60},
  year = {1969},
  url = {http://dx.doi.org/10.2307/1995158}
}
@article{hinrichsen-bengtson-krebbers-20,
  author = {Jonas Kastberg Hinrichsen and Jesper Bengtson and
                 Robbert Krebbers},
  title = {Actris: session-type based reasoning in separation
                 logic},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {{POPL}},
  pages = {6:1--6:30},
  year = {2020},
  url = {https://iris-project.org/pdfs/2020-popl-actris-final.pdf}
}
@inproceedings{hinze-00,
  author = {Ralf Hinze},
  title = {Deriving backtracking monad transformers},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {186--197},
  month = sep,
  year = {2000},
  url = {https://doi.org/10.1145/351240.351258}
}
@incollection{hinze-03,
  author = {Ralf Hinze},
  editor = {Jeremy Gibbons and Oege de Moor},
  booktitle = {The Fun of Programming},
  title = {Fun with Phantom Types},
  publisher = {Palgrave Macmillan},
  year = {2003},
  month = mar,
  pages = {245--262},
  url = {http://www.informatik.uni-bonn.de/~ralf/publications/With.pdf}
}
@techreport{hinze-comparing-generic-06,
  author = {Ralf Hinze and Johan Jeuring and Andres Löh},
  year = {2006},
  title = {Comparing approaches to generic programming in
                 {Haskell}},
  number = {UU-CS-2006-022},
  institution = {Department of Information and Computing Sciences,
                 Utrecht University},
  url = {http://www.cs.uu.nl/research/techreps/repo/CS-2006/2006-022.pdf}
}
@inproceedings{hinze-derivable-00,
  author = {Ralf Hinze and Simon {Peyton Jones}},
  title = {Derivable type classes},
  booktitle = {Haskell workshop},
  year = {2000},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2000/09/derive.pdf}
}
@unpublished{hinze-paterson-05,
  author = {Ralf Hinze and Ross Paterson},
  title = {Derivation of a Typed Functional {LR} Parser},
  note = {Unpublished},
  month = nov,
  year = {2005},
  url = {http://www.cs.ox.ac.uk/ralf.hinze/publications/TypedLR.pdf}
}
@article{hinze-paterson-06,
  title = {Finger trees: a simple general-purpose data
                 structure},
  author = {Ralf Hinze and Ross Paterson},
  journal = {Journal of Functional Programming},
  year = {2006},
  number = {2},
  volume = {16},
  pages = {197--217},
  url = {http://www.cs.ox.ac.uk/ralf.hinze/publications/FingerTrees.pdf}
}
@article{hinze-unparsing-03,
  author = {Ralf Hinze},
  title = {Formatting: a class act},
  journal = {Journal of Functional Programming},
  volume = {13},
  number = {5},
  pages = {935--944},
  year = {2003},
  url = {https://doi.org/10.1017/S0956796802004367}
}
@inproceedings{hirschowitz-cbv-04,
  author = {Tom Hirschowitz and Xavier Leroy and J. B. Wells},
  title = {Call-by-value mixin modules: Reduction semantics, side
                 effects, types},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {64--78},
  year = {2004},
  volume = {2986},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {https://hal.science/hal-00310123/document}
}
@inproceedings{hoang-mitchell-lower-95,
  author = {My Hoang and John C. Mitchell},
  title = {Lower Bounds on Type Inference with Subtypes},
  pages = {176--185},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1995},
  url = {http://doi.acm.org/10.1145/199448.199481}
}
@article{hoare-61,
  author = {C. A. R. Hoare},
  title = {Algorithm 65: find},
  journal = {Communications of the {ACM}},
  volume = {4},
  number = {7},
  month = jul,
  year = {1961},
  pages = {321--322},
  url = {http://doi.acm.org/10.1145/366622.366647}
}
@article{hoare-69,
  author = {C. A. R. Hoare},
  title = {An axiomatic basis for computer programming},
  journal = {Communications of the {ACM}},
  volume = {12},
  number = {10},
  year = {1969},
  pages = {576--580},
  url = {http://doi.acm.org/10.1145/363235.363259}
}
@article{hoare-71,
  author = {C. A. R. Hoare},
  title = {Proof of a program: {FIND}},
  journal = {Communications of the {ACM}},
  year = {1971},
  volume = {14},
  number = {1},
  pages = {39--45},
  month = jan,
  url = {http://doi.acm.org/10.1145/362452.362489}
}
@article{hoare-data-72,
  author = {C. A. R. Hoare},
  title = {Proof of correctness of data representations},
  journal = {Acta Informatica},
  year = {1972},
  volume = {4},
  pages = {271--281},
  url = {http://dx.doi.org/10.1007/BF00289507}
}
@inproceedings{hobor-gherghina-11,
  author = {Aquinas Hobor and Cristian Gherghina},
  title = {Barriers in Concurrent Separation Logic},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2011},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {http://www.comp.nus.edu.sg/~hobor/Publications/barrier.pdf}
}
@inproceedings{hobor-indirection-10,
  author = {Aquinas Hobor and Robert Dockins and Andrew W. Appel},
  title = {A Theory of Indirection via Approximation},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2010},
  month = jan,
  url = {http://www.comp.nus.edu.sg/~hobor/Publications/indirection.pdf}
}
@inproceedings{hobor-oracle-08,
  author = {Aquinas Hobor and Andrew W. Appel and Francesco {Zappa
                 Nardelli}},
  title = {Oracle Semantics for Concurrent Separation Logic},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {353--367},
  year = {2008},
  volume = {4960},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://www.cs.princeton.edu/~appel/papers/concurrent.pdf}
}
@article{hoffmann-aehlig-hofmann-multivariate-12,
  author = {Jan Hoffmann and Klaus Aehlig and Martin Hofmann},
  title = {Multivariate amortized resource analysis},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {34},
  number = {3},
  pages = {14:1--14:62},
  year = {2012},
  url = {https://www.cs.cmu.edu/~janh/assets/pdf/HoffmannAH10.pdf}
}
@inproceedings{hoffmann-aehlig-hofmann-raml-12,
  author = {Jan Hoffmann and Klaus Aehlig and Martin Hofmann},
  title = {Resource Aware {ML}},
  booktitle = {Computer Aided Verification (CAV)},
  pages = {781--786},
  month = jul,
  year = {2012},
  url = {http://dx.doi.org/10.1007/978-3-642-31424-7_64},
  series = {Lecture Notes in Computer Science},
  volume = {7358},
  publisher = {Springer}
}
@inproceedings{hoffmann-das-weng-17,
  author = {Jan Hoffmann and Ankush Das and Shu{-}Chun Weng},
  title = {Towards automatic resource bound analysis for
                 {OCaml}},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {359--373},
  month = jan,
  year = {2017},
  url = {http://www.cs.cmu.edu/~janh/papers/HoffmannDW17.pdf}
}
@inproceedings{hoffmann-hofmann-10,
  author = {Jan Hoffmann and Martin Hofmann},
  title = {Amortized Resource Analysis with Polynomial
                 Potential},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {287--306},
  month = mar,
  year = {2010},
  volume = {6012},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.cs.yale.edu/homes/hoffmann/papers/aapoly_conference.pdf}
}
@article{hoffmann-jost-22,
  author = {Jan Hoffmann and Steffen Jost},
  title = {Two decades of automatic amortized resource analysis},
  journal = {Mathematical Structures in Computer Science},
  volume = {32},
  number = {6},
  pages = {729--759},
  year = {2022},
  url = {https://doi.org/10.1017/S0960129521000487}
}
@inproceedings{hoffmann-marmar-shao-13,
  author = {Jan Hoffmann and Michael Marmar and Zhong Shao},
  title = {Quantitative Reasoning for Proving Lock-Freedom},
  booktitle = {Logic in Computer Science (LICS)},
  month = jun,
  year = {2013},
  pages = {124--133},
  url = {http://www.cs.cmu.edu/~janh/papers/lockfree2013.pdf}
}
@article{hofmann-00,
  author = {Martin Hofmann},
  title = {A type system for bounded space and functional
                 in-place update},
  journal = {Nordic Journal of Computing},
  year = {2000},
  volume = {7},
  number = {4},
  pages = {258--289},
  url = {http://www.dcs.ed.ac.uk/home/mxh/nordic.ps.gz}
}
@article{hofmann-03,
  author = {Martin Hofmann},
  title = {Linear types and non-size-increasing polynomial time
                 computation},
  journal = {Information and Computation},
  volume = {183},
  number = {1},
  pages = {57--85},
  year = {2003},
  url = {https://doi.org/10.1016/S0890-5401(03)00009-9}
}
@inproceedings{hofmann-99,
  author = {Martin Hofmann},
  title = {Linear Types and Non-Size-Increasing Polynomial Time
                 Computation},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {464--473},
  month = jul,
  year = {1999},
  url = {https://doi.org/10.1109/LICS.1999.782641}
}
@inproceedings{hofmann-jost-03,
  author = {Martin Hofmann and Steffen Jost},
  title = {Static prediction of heap space usage for first-order
                 functional programs},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2003},
  pages = {185--197},
  url = {http://www2.tcs.ifi.lmu.de/~jost/research/POPL_2003_Jost_Hofmann.pdf}
}
@inproceedings{hofmann-jost-06,
  author = {Martin Hofmann and Steffen Jost},
  title = {Type-Based Amortised Heap-Space Analysis},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {3924},
  pages = {22--37},
  publisher = {Springer},
  month = mar,
  year = {2006},
  url = {https://www2.tcs.ifi.lmu.de/~jost/research/hofmann_jost_esop06_postfinal.pdf}
}
@inproceedings{hofmann-karbyshev-seidl-icalp-10,
  author = {Martin Hofmann and Aleksandr Karbyshev and Helmut
                 Seidl},
  title = {What Is a Pure Functional?},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  pages = {199--210},
  month = jul,
  year = {2010},
  series = {Lecture Notes in Computer Science},
  volume = {6199},
  publisher = {Springer},
  url = {http://www2.in.tum.de/bib/files/Hofmann10Pure.pdf}
}
@inproceedings{hofmann-karbyshev-seidl-sas-10,
  author = {Martin Hofmann and Aleksandr Karbyshev and Helmut
                 Seidl},
  title = {Verifying a Local Generic Solver in {Coq}},
  booktitle = {Static Analysis Symposium (SAS)},
  pages = {340--355},
  month = sep,
  year = {2010},
  series = {Lecture Notes in Computer Science},
  volume = {6337},
  publisher = {Springer},
  url = {http://goblint.in.tum.de/papers/coq.pdf}
}
@inproceedings{hofmann-moser-14,
  author = {Martin Hofmann and Georg Moser},
  title = {Amortised Resource Analysis and Typed Polynomial
                 Interpretations},
  booktitle = {Typed Lambda Calculi and Applications (TLCA)},
  pages = {272--286},
  month = jul,
  year = {2014},
  volume = {8560},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://arxiv.org/pdf/1402.1922.pdf}
}
@inproceedings{hofmann-pavlova-08,
  author = {Martin Hofmann and Mariela Pavlova},
  title = {Elimination of ghost variables in program logics},
  booktitle = {Trustworthy Global Computing},
  pages = {1--20},
  year = {2008},
  volume = {4912},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www-sop.inria.fr/everest/personnel/Mariela.Pavlova/ghost.pdf}
}
@article{hofmann-pierce-94,
  author = {Martin Hofmann and Benjamin Pierce},
  title = {A Unifying Type-Theoretic Framework for Objects},
  journal = {Journal of Functional Programming},
  volume = {5},
  number = {4},
  pages = {593--635},
  month = oct,
  note = {Previous versions appeared in the Symposium on
                 Theoretical Aspects of Computer Science, 1994, (pages
                 251--262) and, under the title ``An Abstract View of
                 Objects and Subtyping (Preliminary Report),'' as
                 University of Edinburgh, LFCS technical report
                 ECS-LFCS-92-226, 1992},
  year = {1995},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/abstroop.ps}
}
@inproceedings{hofmann-rodriguez-09,
  author = {Martin Hofmann and Dulma Rodriguez},
  title = {Efficient Type-Checking for Amortised Heap-Space
                 Analysis},
  booktitle = {Computer Science Logic},
  series = {Lecture Notes in Computer Science},
  volume = {5771},
  pages = {317--331},
  publisher = {Springer},
  month = sep,
  year = {2009},
  url = {https://doi.org/10.1007/978-3-642-04027-6_24}
}
@inproceedings{hofmann-rodriguez-13,
  author = {Martin Hofmann and Dulma Rodriguez},
  title = {Automatic Type Inference for Amortised Heap-Space
                 Analysis},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {7792},
  pages = {593--613},
  publisher = {Springer},
  month = mar,
  year = {2013},
  url = {https://doi.org/10.1007/978-3-642-37036-6_32}
}
@inproceedings{hogg-91,
  author = {John Hogg},
  title = {Islands: Aliasing Protection in Object-Oriented
                 Languages},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  year = {1991},
  pages = {271--285},
  url = {http://dx.doi.org/10.1145/118014.117975}
}
@inproceedings{holland-al-16,
  author = {Benjamin Holland and Ganesh Ram Santhanam and Payas
                 Awadhutkar and Suresh Kothari},
  title = {Statically-Informed Dynamic Analysis Tools to Detect
                 Algorithmic Complexity Vulnerabilities},
  booktitle = {Source Code Analysis and Manipulation (SCAM)},
  pages = {79--84},
  month = oct,
  year = {2016},
  url = {https://ben-holland.com/papers/Statically-informed_Dynamic_Analysis_Tools_to_Detect_Algorithmic_Complexity_Vulnerabilities.pdf}
}
@inproceedings{honda-al-00,
  author = {Kohei Honda and Vasco Vasconcelos and Nobuko Yoshida},
  title = {Secure information flow as typed process behaviour},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1782},
  pages = {180--199},
  month = mar,
  year = {2000},
  url = {ftp://ftp.dcs.qmw.ac.uk/lfp/kohei/siftp-esop00.ps.gz}
}
@techreport{honda-al-00-long,
  author = {Kohei Honda and Vasco Vasconcelos and Nobuko Yoshida},
  title = {Secure information flow as typed process behaviour},
  institution = {Queen Mary and Westfield College, University of
                 London},
  month = dec,
  year = {1999},
  number = {QMW-DCS-1999-767},
  url = {ftp://ftp.dcs.qmw.ac.uk/lfp/kohei/siftp-qmwrep.ps.gz}
}
@inproceedings{honda-yoshida-02,
  author = {Kohei Honda and Nobuko Yoshida},
  title = {A Uniform Type Structure for Secure Information Flow},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2002},
  pages = {81--92},
  url = {http://www.mcs.le.ac.uk/~nyoshida/paper/ifa_long.ps.gz}
}
@inproceedings{honda-yoshida-04,
  author = {Kohei Honda and Nobuko Yoshida},
  title = {A compositional logic for polymorphic higher-order
                 functions},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  month = aug,
  year = {2004},
  pages = {191--202},
  url = {http://www.dcs.qmul.ac.uk/~kohei/logics/polyrec.pdf.gz}
}
@inproceedings{honsell-01,
  author = {Furio Honsell and Marino Miculan and Ivan Scagnetto},
  title = {An axiomatic approach to metareasoning on nominal
                 algebras in {HOAS}},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  pages = {963--978},
  year = {2001},
  volume = {2076},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {https://users.dimi.uniud.it/~marino.miculan/Papers/ICALP01.pdf}
}
@article{hopcroft-87,
  author = {John E. Hopcroft},
  title = {Computer Science: The Emergence of a Discipline},
  journal = {Communications of the {ACM}},
  volume = {30},
  number = {3},
  pages = {198--202},
  year = {1987},
  url = {https://doi.org/10.1145/214748.214750}
}
@incollection{hopcroft-minimizing-71,
  author = {John~E. Hopcroft},
  title = {An $n\log n$ algorithm for minimizing states in a
                 finite automaton},
  booktitle = {Theory of Machines and Computations},
  editor = {Zvi Kohavi and Azaria Paz},
  publisher = {Academic Press},
  year = {1971},
  pages = {189--196},
  url = {https://www.sciencedirect.com/science/article/pii/B9780124177505500221}
}
@book{hopcroft-motwani-ullman-00,
  author = {John E. Hopcroft and Rajeev Motwani and Jeffrey D.
                 Ullman},
  title = {Introduction to Automata Theory, Languages, and
                 Computation},
  publisher = {Addison-Wesley},
  year = {2000},
  url = {http://www-db.stanford.edu/~ullman/ialc.html}
}
@article{hopcroft-ullman-73,
  author = {John E. Hopcroft and Jeffrey D. Ullman},
  title = {Set Merging Algorithms},
  journal = {SIAM Journal on Computing},
  volume = {2},
  number = {4},
  pages = {294--303},
  year = {1973},
  url = {http://dx.doi.org/10.1137/0202024}
}
@inproceedings{horning-74,
  author = {James J. Horning},
  title = {What the Compiler Should Tell the User},
  booktitle = {Compiler Construction (CC)},
  year = {1974},
  pages = {525--548},
  volume = {21},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3540069585_64}
}
@article{horspool-faster-90,
  author = {R. Nigel Horspool and Michael Whitney},
  title = {Even Faster {LR} Parsing},
  journal = {Software: Practice and Experience},
  year = {1990},
  volume = {20},
  number = {6},
  pages = {515--535},
  month = jun,
  url = {http://www.cs.uvic.ca/~nigelh/Publications/fastparse.pdf}
}
@inproceedings{horwitz-95,
  author = {Susan Horwitz and Thomas Reps and Mooly Sagiv},
  title = {Demand interprocedural dataflow analysis},
  booktitle = {{ACM} Symposium on the Foundations of Software
                 Engineering {(FSE)}},
  year = {1995},
  month = oct,
  url = {http://www.cs.wisc.edu/wpis/papers/fse95a.ps}
}
@article{horwitz-demers-teitelbaum-87,
  author = {Alan Demers and Susan Horwitz and Tim Teitelbaum},
  title = {An efficient general algorithm for dataflow analysis},
  journal = {Acta Informatica},
  year = {1987},
  volume = {24},
  number = {6},
  pages = {679--694},
  month = nov,
  url = {http://dx.doi.org/10.1007/BF00282621}
}
@article{hosoya-pierce-02,
  author = {Haruo Hosoya and Benjamin C. Pierce},
  title = {Regular expression pattern matching for {XML}},
  journal = {Journal of Functional Programming},
  volume = {13},
  number = {6},
  month = nov,
  year = {2003},
  pages = {961--1004},
  url = {http://dx.doi.org/10.1017/S0956796802004410}
}
@techreport{howell-08,
  author = {Rodney R. Howell},
  title = {On Asymptotic Notation with Multiple Variables},
  institution = {Kansas State University},
  year = {2008},
  number = {2007-4},
  month = jan,
  url = {http://people.cs.ksu.edu/~rhowell/asymptotic.pdf}
}
@misc{howell-book,
  author = {Rodney R. Howell},
  title = {Algorithms: {A} Top-Down Approach},
  month = jul,
  year = {2012},
  note = {Draft.},
  url = {http://people.cs.ksu.edu/~rhowell/algorithms-text/text/}
}
@article{hru-76,
  author = {Michael A. Harrison and Walter L. Ruzzo and Jeffrey D.
                 Ullman},
  title = {Protection in Operating Systems},
  journal = {Communications of the {ACM}},
  year = {1976},
  volume = {19},
  number = {8},
  pages = {461--471},
  month = aug,
  url = {http://doi.acm.org/10.1145/360303.360333}
}
@inproceedings{hubert-marche-07,
  author = {Thierry Hubert and Claude Marché},
  title = {Separation Analysis for Deductive Verification},
  booktitle = {Heap Analysis and Verification (HAV)},
  year = {2007},
  month = mar,
  url = {http://www.lri.fr/~marche/hubert07hav.pdf}
}
@phdthesis{huet-76,
  author = {G{\'e}rard Huet},
  title = {{R}{\'e}solution d'{\'e}quations dans des langages
                 d'ordre $1$, $2$, $\ldots$, $\omega$},
  school = {Universit{\'e} Paris 7},
  month = sep,
  year = {1976}
}
@article{huet-98,
  author = {Gérard Huet},
  title = {Regular {Böhm} Trees},
  journal = {Mathematical Structures in Computer Science},
  year = {1998},
  volume = {8},
  pages = {671--680},
  url = {http://yquem.inria.fr/~huet/PUBLIC/RBT2.pdf}
}
@article{huet-zipper-97,
  author = {G{\'e}rard Huet},
  title = {The Zipper},
  journal = {Journal of Functional Programming},
  volume = {7},
  number = {5},
  year = {1997},
  pages = {549--554},
  url = {http://cambium.inria.fr/~huet/PUBLIC/zip.pdf}
}
@inproceedings{huffman-urban-10,
  author = {Brian Huffman and Christian Urban},
  title = {A New Foundation for {Nominal Isabelle}},
  booktitle = {Interactive Theorem Proving (ITP)},
  pages = {35--50},
  month = jul,
  year = {2010},
  series = {Lecture Notes in Computer Science},
  volume = {6172},
  publisher = {Springer},
  url = {http://nms.kcl.ac.uk/christian.urban/Publications/nominal-atoms.pdf}
}
@inproceedings{hughes-07,
  author = {John Hughes},
  title = {{QuickCheck} Testing for Fun and Profit},
  booktitle = {Practical Aspects of Declarative Languages (PADL)},
  series = {Lecture Notes in Computer Science},
  volume = {4354},
  pages = {1--32},
  publisher = {Springer},
  month = jan,
  year = {2007},
  url = {https://people.inf.elte.hu/center/fulltext.pdf}
}
@inproceedings{hughes-95,
  author = {John Hughes},
  title = {The Design of a Pretty-printing Library},
  booktitle = {Advanced Functional Programming},
  series = {Lecture Notes in Computer Science},
  volume = {925},
  pages = {53--96},
  publisher = {Springer},
  month = may,
  year = {1995},
  url = {https://belle.sourceforge.net/doc/hughes95design.pdf}
}
@article{hughes-arrows-00,
  author = {John Hughes},
  title = {Generalising monads to arrows},
  journal = {Science of Computer Programming},
  volume = {37},
  number = {1--3},
  year = {2000},
  pages = {67--111},
  url = {http://www.cse.chalmers.se/~rjmh/Papers/arrows.pdf}
}
@article{hughes-matters-89,
  author = {John Hughes},
  title = {Why Functional Programming Matters},
  journal = {Computer Journal},
  volume = {32},
  number = {2},
  pages = {98--107},
  year = {1989},
  url = {http://www.cse.chalmers.se/~rjmh/Papers/whyfp.pdf}
}
@inproceedings{hughes-pareto-99,
  author = {John Hughes and Lars Pareto},
  title = {Recursion and Dynamic Data-structures in Bounded
                 Space: Towards Embedded {ML} Programming},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {70--81},
  month = sep,
  year = {1999},
  url = {https://doi.org/10.1145/317636.317785}
}
@inproceedings{hughes-pareto-sabry-96,
  author = {John Hughes and Lars Pareto and Amr Sabry},
  title = {Proving the correctness of reactive systems using
                 sized types},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1996},
  pages = {410--423},
  url = {http://doi.acm.org/10.1145/237721.240882}
}
@inproceedings{huot-staton-vakar-20,
  author = {Mathieu Huot and Sam Staton and Matthijs
                 V{\'{a}}k{\'{a}}r},
  title = {Correctness of Automatic Differentiation via
                 Diffeologies and Categorical Gluing},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  series = {Lecture Notes in Computer Science},
  volume = {12077},
  pages = {319--338},
  publisher = {Springer},
  month = apr,
  year = {2020},
  url = {https://doi.org/10.1007/978-3-030-45231-5_17}
}
@article{huot-staton-vakar-22,
  author = {Mathieu Huot and Sam Staton and Matthijs
                 V{\'{a}}k{\'{a}}r},
  title = {Higher Order Automatic Differentiation of Higher Order
                 Functions},
  journal = {Logical Methods in Computer Science},
  volume = {18},
  number = {1},
  year = {2022},
  url = {https://doi.org/10.46298/lmcs-18(1:41)2022}
}
@inproceedings{hur-dreyer-vafeiadis-11,
  author = {Chung{-}Kil Hur and Derek Dreyer and Viktor
                 Vafeiadis},
  title = {Separation Logic in the Presence of Garbage
                 Collection},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {247--256},
  year = {2011},
  url = {http://people.mpi-sws.org/~dreyer/papers/gcsl/paper.pdf}
}
@article{hutton-fold-99,
  author = {Graham Hutton},
  title = {A Tutorial on the Universality and Expressiveness of
                 Fold},
  journal = {Journal of Functional Programming},
  volume = {9},
  number = {4},
  pages = {355--372},
  year = {1999},
  url = {http://www.cs.nott.ac.uk/~pszgmh/fold.pdf}
}
@article{igarashi-kobayashi-00,
  author = {Atsushi Igarashi and Naoki Kobayashi},
  title = {Type Reconstruction for Linear $\pi$-Calculus with
                 {I}/{O} Subtyping},
  journal = {Information and Computation},
  volume = {161},
  pages = {1--44},
  month = aug,
  year = {2000},
  url = {http://www.sato.kuis.kyoto-u.ac.jp/~igarashi/papers/psgz/linear-pi.IC.ps.gz}
}
@article{iris,
  author = {Ralf Jung and Robbert Krebbers and Jacques-Henri
                 Jourdan and Ale{\v s} Bizjak and Lars Birkedal and
                 Derek Dreyer},
  title = {Iris from the ground up: {A} modular foundation for
                 higher-order concurrent separation logic},
  journal = {Journal of Functional Programming},
  volume = {28},
  year = {2018},
  pages = {e20},
  url = {https://people.mpi-sws.org/~dreyer/papers/iris-ground-up/paper.pdf}
}
@inproceedings{iris-15,
  author = {Ralf Jung and David Swasey and Filip Sieczkowski and
                 Kasper Svendsen and Aaron Turon and Lars Birkedal and
                 Derek Dreyer},
  title = {Iris: monoids and invariants as an orthogonal basis
                 for concurrent reasoning},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {637--650},
  month = jan,
  year = {2015},
  url = {http://plv.mpi-sws.org/iris/paper.pdf}
}
@inproceedings{iris-16,
  author = {Ralf Jung and Robbert Krebbers and Lars Birkedal and
                 Derek Dreyer},
  title = {Higher-order ghost state},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {256--269},
  month = sep,
  year = {2016},
  url = {http://iris-project.org/pdfs/2016-icfp-iris2-final.pdf}
}
@inproceedings{iris-17,
  author = {Robbert Krebbers and Ralf Jung and Ale{\v s} Bizjak
                 and Jacques-Henri Jourdan and Derek Dreyer and Lars
                 Birkedal},
  title = {The essence of higher-order concurrent separation
                 logic},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {696--723},
  month = apr,
  year = {2017},
  volume = {10201},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://iris-project.org/pdfs/2017-esop-iris3-final.pdf}
}
@unpublished{iris-lecture-notes,
  author = {Lars Birkedal and Ale{\v s} Bizjak},
  title = {Lecture Notes on {Iris}: Higher-Order Concurrent
                 Separation Logic},
  note = {Lectures notes},
  month = sep,
  year = {2020},
  url = {https://iris-project.org/tutorial-pdfs/iris-lecture-notes.pdf}
}
@inproceedings{ishtiaq-ohearn-01,
  author = {Samin S. Ishtiaq and Peter W. O'Hearn},
  title = {{BI} as an assertion language for mutable data
                 structures},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2001},
  pages = {14--26},
  url = {http://www.cs.ucl.ac.uk/staff/p.ohearn/papers/bi-assertion-lan.pdf}
}
@misc{iso2011cstandard,
  title = {{ISO/IEC} 9899:2011 -- Programming languages -- {C}},
  author = {ISO},
  year = {2011},
  url = {http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf}
}
@incollection{iwaco-03,
  author = {Dave Clarke and Sophia Drossopoulou and James Noble},
  title = {Aliasing, Confinement, and Ownership in
                 Object-Oriented Programming},
  booktitle = {Object-Oriented Technology. {ECOOP 2003} Workshop
                 Reader},
  year = {2004},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3013},
  pages = {197--207},
  url = {http://dx.doi.org/10.1007/978-3-540-25934-3_19}
}
@inproceedings{izmaylova-al-16,
  author = {Anastasia Izmaylova and Ali Afroozeh and Tijs van der
                 Storm},
  title = {Practical, general parser combinators},
  booktitle = {Workshop on Evaluation and Semantics-Based Program
                 Manipulation ({PEPM})},
  pages = {1--12},
  month = jan,
  year = {2016},
  url = {https://ir.cwi.nl/pub/25145/25145.pdf}
}
@manual{jacc,
  title = {jacc: Just Another Compiler Compiler for {Java}},
  author = {Mark P. Jones},
  month = feb,
  year = {2004},
  url = {http://web.cecs.pdx.edu/~mpj/jacc/jacc.pdf}
}
@inproceedings{jackson-vaziri-00,
  author = {Daniel Jackson and Mandana Vaziri},
  title = {Finding Bugs with a Constraint Solver},
  booktitle = {International Symposium on Software Testing and
                 Analysis (ISSTA)},
  month = aug,
  year = {2000},
  url = {http://sdg.csail.mit.edu/pubs/2000/issta00.pdf}
}
@inproceedings{jacobs-03,
  author = {Bart Jacobs},
  title = {{Java's} Integral Types in {PVS}},
  booktitle = {Formal Methods for Open Object-Based Distributed
                 Systems {(FMOODS)}},
  series = {Lecture Notes in Computer Science},
  volume = {2884},
  pages = {1--15},
  publisher = {Springer},
  month = nov,
  year = {2003},
  url = {https://doi.org/10.1007/978-3-540-39958-2_1}
}
@inproceedings{jacobs-termination-15,
  author = {Bart Jacobs and Dragan Bosnacki and Ruurd Kuipe},
  title = {Modular Termination Verification},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  pages = {99--1023},
  year = {2015},
  series = {{Leibniz} International Proceedings in Informatics},
  month = jul,
  url = {http://people.cs.kuleuven.be/~bart.jacobs/ecoop2015.pdf}
}
@inproceedings{jagannathan-wright-95,
  author = {Suresh Jagannathan and Andrew Wright},
  title = {Effective Flow Analysis for Avoiding Run-Time Checks},
  year = {1995},
  month = sep,
  booktitle = {Static Analysis Symposium (SAS)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {983},
  url = {http://www.cs.purdue.edu/homes/suresh/papers/sas95.ps.gz}
}
@phdthesis{jansson-00,
  author = {Patrik Jansson},
  title = {Functional Polytypic Programming},
  school = {Chalmers University of Technology},
  year = {2000},
  url = {http://www.cse.chalmers.se/~patrikj/poly/polythesis/Jansson2000_PhD_thesis.pdf}
}
@inproceedings{jaskelioff-rivas-15,
  author = {Mauro Jaskelioff and Exequiel Rivas},
  title = {Functional pearl: a smart view on datatypes},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {355--361},
  month = sep,
  year = {2015},
  url = {https://doi.org/10.1145/2784731.2784743}
}
@book{java,
  author = {James Gosling and Bill Joy and Guy Steele and Gilad
                 Bracha},
  title = {The {Java} Language Specification, Second Edition},
  publisher = {Addison-Wesley},
  year = {2000},
  url = {http://java.sun.com/docs/books/jls/}
}
@book{javasec,
  author = {Li Gong and Gary Ellison and Mary Dageforde},
  title = {Inside {Java 2} Platform Security, Second Edition},
  publisher = {Addison-Wesley},
  year = {2003},
  url = {http://java.sun.com/docs/books/security/}
}
@article{jay-04,
  author = {C. Barry Jay},
  title = {The Pattern Calculus},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {26},
  number = {6},
  pages = {911--937},
  month = nov,
  year = {2004},
  url = {http://www-staff.it.uts.edu.au/~cbj/Publications/pattern_calculus.pdf},
  alturl = {http://doi.acm.org/10.1145/1034774.1034775}
}
@article{jeffery-03,
  author = {Clinton L. Jeffery},
  title = {Generating {LR} syntax error messages from examples},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {25},
  number = {5},
  year = {2003},
  pages = {631--640},
  url = {http://doi.acm.org/10.1145/937563.937566}
}
@inproceedings{jensen-13,
  author = {Jonas Braband Jensen and Nick Benton and Andrew
                 Kennedy},
  title = {High-level separation logic for low-level code},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {301--314},
  month = jan,
  year = {2013},
  url = {http://research.microsoft.com/en-us/um/people/nick/hlsl.pdf}
}
@inproceedings{jensen-98,
  author = {Thomas Jensen},
  title = {Inference of polymorphic and conditional strictness
                 properties},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1998},
  pages = {209--221},
  publisher = {ACM Press},
  url = {http://www.irisa.fr/lande/jensen/papers/popl98.ps}
}
@inproceedings{jensen-al-99,
  author = {Thomas Jensen and Daniel {Le Métayer} and Tommy
                 Thorn},
  title = {Verifying security properties of control-flow graphs},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  pages = {89--105},
  year = {1999},
  month = may,
  url = {http://www.irisa.fr/lande/jensen/papers/SP99.ps}
}
@inproceedings{jensen-birkedal-fictional-12,
  author = {Jonas Braband Jensen and Lars Birkedal},
  title = {Fictional Separation Logic},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2012},
  pages = {377--396},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {7211},
  url = {http://cs.au.dk/~birke/papers/sharing-conf.pdf}
}
@article{jensen-birkedal-sestoft-11,
  author = {Jonas Braband Jensen and Lars Birkedal and Peter
                 Sestoft},
  title = {Modular Verification of Linked Lists with Views via
                 Separation Logic},
  journal = {Journal of Object Technology},
  volume = {10},
  pages = {2:1--20},
  year = {2011},
  url = {http://www.jot.fm/issues/issue_2011_01/article2.pdf}
}
@inproceedings{jensen-ployette-ridoux-02,
  title = {Iteration schemes for fixed point computation},
  author = {Thomas Jensen and Florimond Ployette and Olivier
                 Ridoux},
  year = {2002},
  booktitle = {International workshop on Fixed Points in Computer
                 Science (FICS)},
  pages = {69--76},
  url = {http://www.irisa.fr/lande/REQS/fics02.ps}
}
@inproceedings{jha-al-02,
  author = {Somesh Jha and Jens Palsberg and Tian Zhao},
  title = {Efficient Type Matching},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  pages = {187--204},
  month = apr,
  year = {2002},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2303},
  url = {http://www.cs.ucla.edu/~palsberg/paper/fossacs02.pdf}
}
@inproceedings{jia-05,
  author = {Limin Jia and Frances Spalding and David Walker and
                 Neal Glew},
  title = {Certifying Compilation for a Language with Stack
                 Allocation},
  booktitle = {Logic in Computer Science (LICS)},
  year = {2005},
  month = jun,
  url = {http://www.cs.princeton.edu/~dpw/papers/stackcert-lics05.pdf},
  pages = {407--416}
}
@inproceedings{jia-walker-06,
  author = {Limin Jia and David Walker},
  title = {{ILC}: {A} Foundation for Automated Reasoning About
                 Pointer Programs},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2006},
  pages = {131--145},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3924},
  url = {http://sip.cs.princeton.edu/pub/ilc-esop06.pdf}
}
@inproceedings{jim-00,
  author = {Trevor Jim},
  title = {A Polar Type System},
  booktitle = {Workshop on Intersection Types and Related Systems
                 (ITRS)},
  year = {2000},
  volume = {8},
  series = {Proceedings in Informatics},
  publisher = {Carleton Scientific},
  url = {http://www.cee.hw.ac.uk/~jbw/itrs/itrs00/papers/Jim:ITRS-2000.ps.gz}
}
@techreport{jim-95,
  author = {Trevor Jim},
  title = {What are principal typings and what are they good
                 for?},
  institution = {Massachusetts Institute of Technology},
  year = {1995},
  number = {MIT/LCS TM-532},
  month = aug,
  url = {http://www.research.att.com/~trevor/papers/principal-typings.ps.gz}
}
@unpublished{jim-palsberg-99,
  author = {Trevor Jim and Jens Palsberg},
  title = {Type inference in systems of recursive types with
                 subtyping},
  year = {1999},
  note = {Manuscript},
  url = {http://www.cs.ucla.edu/~palsberg/draft/jim-palsberg99.pdf}
}
@manual{jml,
  title = {{JML} Reference Manual},
  author = {Gary T. Leavens and Erik Poll and Curtis Clifton and
                 Yoonsik Cheon and Clyde Ruby and David Cok and Peter
                 Müller and Joseph Kiniry and Patrice Chalin and Daniel
                 M. Zimmerman},
  month = may,
  year = {2008},
  url = {http://www.jmlspecs.org/OldReleases/jmlrefman.pdf}
}
@article{jml-05,
  author = {Lilian Burdy and Yoonsik Cheon and David Cok and
                 Michael Ernst and Joe Kiniry and Gary T. Leavens and K.
                 Rustan M. Leino and Erik Poll},
  title = {An overview of {JML} tools and applications},
  journal = {Software Tools for Technology Transfer},
  year = {2005},
  volume = {7},
  number = {3},
  pages = {212--232},
  month = jun,
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/jml-sttt.pdf}
}
@inproceedings{jmm,
  author = {Jeremy Manson and William Pugh and Sarita V. Adve},
  title = {The {Java} memory model},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {378--391},
  month = jan,
  year = {2005},
  url = {http://rsim.cs.uiuc.edu/Pubs/popl05.pdf}
}
@article{jo-chang-yi-choe-04,
  author = {Jang{-}Wu Jo and Byeong{-}Mo Chang and Kwangkeun Yi
                 and Kwang{-}Moo Choe},
  title = {An uncaught exception analysis for {Java}},
  journal = {Journal of Systems and Software},
  volume = {72},
  number = {1},
  pages = {59--69},
  year = {2004},
  url = {http://cs.sookmyung.ac.kr/~chang/pub/jss.pdf}
}
@techreport{johnson-75,
  author = {Stephen C. Johnson},
  title = {Yacc: Yet Another Compiler-Compiler},
  institution = {Bell Laboratories},
  year = {1975},
  type = {Computing Science Technical Report},
  number = {32},
  url = {https://www.cs.utexas.edu/users/novak/yaccpaper.htm}
}
@inproceedings{johnson-walz-86,
  author = {Gregory F. Johnson and Janet A. Walz},
  title = {A maximum-flow approach to anomaly isolation in
                 unification-based incremental type inference},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {44--57},
  year = {1986},
  month = jan
}
@incollection{johnson-yacc-79,
  author = {Steven C. Johnson},
  title = {{Yacc}: Yet Another Compiler Compiler},
  booktitle = {{UNIX} Programmer's Manual},
  volume = {2},
  publisher = {Holt, Rinehart, and Winston},
  pages = {353--387},
  year = {1979},
  url = {http://dinosaur.compilertools.net/}
}
@incollection{johnsson-85,
  author = {Thomas Johnsson},
  editor = {Jean-Pierre Jouannaud},
  title = {Lambda Lifting: Transforming Programs to Recursive
                 Equations},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  series = {Lecture Notes in Computer Science},
  volume = {201},
  pages = {190--203},
  publisher = {Springer},
  year = {1985},
  url = {http://dx.doi.org/10.1007/3-540-15975-4_37}
}
@inproceedings{jones-92,
  author = {Mark P. Jones},
  title = {A theory of qualified types},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {1992},
  volume = {582},
  series = {Lecture Notes in Computer Science},
  month = feb,
  publisher = {Springer},
  url = {http://web.cecs.pdx.edu/~mpj/pubs/esop92.html}
}
@book{jones-94,
  author = {Mark P. Jones},
  title = {Qualified Types: Theory and Practice},
  publisher = {Cambridge University Press},
  month = nov,
  year = {1994}
}
@techreport{jones-95,
  author = {Mark P. Jones},
  title = {From {Hindley-Milner} Types to First-Class
                 Structures},
  institution = {Yale University},
  year = {1995},
  type = {Research Report},
  number = {YALEU/DCS/RR-1075},
  month = jun,
  url = {http://web.cecs.pdx.edu/~mpj/pubs/haskwork95.html}
}
@inproceedings{jones-96,
  author = {Mark P. Jones},
  title = {Using Parameterized Signatures to Express Modular
                 Structure},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1996},
  url = {http://web.cecs.pdx.edu/~mpj/pubs/paramsig.html}
}
@inproceedings{jones-dictionary-94,
  author = {Mark P. Jones},
  title = {Dictionary-free Overloading by Partial Evaluation},
  booktitle = {Workshop on Evaluation and Semantics-Based Program
                 Manipulation ({PEPM})},
  year = {1994},
  month = jun,
  url = {http://web.cecs.pdx.edu/~mpj/pubs/pepm94.ps}
}
@inproceedings{jones-mycroft-86,
  author = {Neil D. Jones and Alan Mycroft},
  title = {Data Flow Analysis of Applicative Programs Using
                 Minimal Function Graphs},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1986},
  pages = {296--306},
  url = {http://doi.acm.org/10.1145/512644.512672}
}
@inproceedings{jones-peyton-jones-99,
  author = {Mark P. Jones and Simon {Peyton Jones}},
  title = {Lightweight Extensible Records for {Haskell}},
  booktitle = {Haskell workshop},
  year = {1999},
  month = oct,
  url = {http://web.cecs.pdx.edu/~mpj/pubs/recpro.ps.gz}
}
@techreport{jones-qualified-94,
  author = {Mark P. Jones},
  institution = {Yale University},
  title = {Simplifying and Improving Qualified Types},
  year = {1994},
  month = jun,
  number = {YALEU/DCS/RR-1040},
  url = {ftp://nebula.cs.yale.edu/pub/yale-fp/reports/RR-1040.ps.Z}
}
@inproceedings{jones-thih-00,
  author = {Mark P. Jones},
  title = {Typing {Haskell} in {Haskell}},
  booktitle = {Haskell workshop},
  year = {2000},
  month = nov,
  url = {http://web.cecs.pdx.edu/~mpj/thih/}
}
@inproceedings{jorgensen-93,
  author = {Niels Jørgensen},
  title = {Chaotic Fixpoint Iteration Guided by Dynamic
                 Dependency},
  booktitle = {International Workshop on Static Analysis (WSA)},
  year = {1993},
  pages = {27--44},
  series = {Lecture Notes in Computer Science},
  volume = {724},
  publisher = {Springer},
  url = {http://webhotel2.ruc.dk/nielsj/research/publications/wsa93.ps}
}
@inproceedings{jost-hammond-loidl-hofmann-10,
  author = {Steffen Jost and Kevin Hammond and Hans{-}Wolfgang
                 Loidl and Martin Hofmann},
  title = {Static determination of quantitative resource usage
                 for higher-order programs},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {223--236},
  month = jan,
  year = {2010},
  url = {http://www2.tcs.ifi.lmu.de/~jost/research/POPL_2010__Higher-Order_AA__Jost_etAl.pdf}
}
@inproceedings{jost-loidl-hammond-scaife-hofmann-09,
  author = {Steffen Jost and Hans{-}Wolfgang Loidl and Kevin
                 Hammond and Norman Scaife and Martin Hofmann},
  title = {{"}Carbon Credits{"} for Resource-Bounded Computations
                 Using Amortised Analysis},
  booktitle = {Formal Methods (FM)},
  pages = {354--369},
  month = nov,
  year = {2009},
  series = {Lecture Notes in Computer Science},
  volume = {5850},
  publisher = {Springer},
  url = {http://www2.tcs.ifi.lmu.de/~jost/research/FM09_AmortisedAnalysis__Jost_etAl.pdf}
}
@article{jost-vasconcelos-florido-hammond-17,
  author = {Steffen Jost and Pedro B. Vasconcelos and M{\'{a}}rio
                 Florido and Kevin Hammond},
  title = {Type-Based Cost Analysis for Lazy Functional
                 Languages},
  journal = {Journal of Automated Reasoning},
  volume = {59},
  number = {1},
  pages = {87--120},
  year = {2017},
  url = {https://www.dcc.fc.up.pt/~pbv/research/JAR2016-draft.pdf}
}
@techreport{jouannaud-kirchner-90,
  author = {Jean-Pierre Jouannaud and Claude Kirchner},
  title = {Solving equations in abstract algebras: a rule-based
                 survey of unification},
  institution = {Université Paris-Sud},
  number = {561},
  month = apr,
  year = {1990}
}
@incollection{jouannaud-kirchner-91,
  author = {Jean-Pierre Jouannaud and Claude Kirchner},
  title = {Solving equations in abstract algebras: a rule-based
                 survey of unification},
  booktitle = {Computational Logic. Essays in honor of Alan
                 Robinson},
  publisher = {MIT Press},
  year = {1991},
  editor = {Jean-Louis Lassez and Gordon Plotkin},
  chapter = {8},
  pages = {257--321}
}
@inproceedings{jourdan-leroy-pottier-12,
  author = {Jacques-Henri Jourdan and François Pottier and Xavier
                 Leroy},
  title = {Validating ${LR}(1)$ Parsers},
  month = mar,
  year = {2012},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {7211},
  pages = {397--416},
  url = {http://cambium.inria.fr/~fpottier/publis/jourdan-leroy-pottier-validating-parsers.pdf}
}
@inproceedings{jourdan-verasco-15,
  author = {Jacques{-}Henri Jourdan and Vincent Laporte and
                 Sandrine Blazy and Xavier Leroy and David Pichardie},
  title = {A Formally-Verified {C} Static Analyzer},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {247--259},
  month = jan,
  year = {2015},
  url = {http://cambium.inria.fr/~xleroy/publi/verasco-popl2015.pdf}
}
@inproceedings{jscert-14,
  author = {Martin Bodin and Arthur Charguéraud and Daniele
                 Filaretti and Philippa Gardner and Sergio Maffeis and
                 Daiva Naudziuniene and Alan Schmitt and Gareth Smith},
  title = {A trusted mechanised {JavaScript} specification},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {87--100},
  month = jan,
  year = {2014},
  url = {https://www.chargueraud.org/research/2013/js/jscert_popl.pdf}
}
@inproceedings{jsexplain-18,
  author = {Arthur Charguéraud and Alan Schmitt and Thomas Wood},
  title = {{JSExplain}: A Double Debugger for {JavaScript}},
  booktitle = {Companion Proceedings of The Web Conference},
  pages = {691--699},
  month = apr,
  year = {2018},
  url = {https://doi.org/10.1145/3184558.3185969}
}
@article{jung-prophecies-20,
  author = {Ralf Jung and Rodolphe Lepigre and Gaurav
                 Parthasarathy and Marianna Rapoport and Amin Timany and
                 Derek Dreyer and Bart Jacobs},
  title = {The Future is Ours: Prophecy Variables in Separation
                 Logic},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {{POPL}},
  month = jan,
  year = {2020},
  pages = {45:1--45:32},
  url = {https://plv.mpi-sws.org/prophecies/paper.pdf}
}
@article{jung-smr-23,
  author = {Jaehwang Jung and Janggun Lee and Jaemin Choi and
                 Jaewoo Kim and Sunho Park and Jeehoon Kang},
  title = {Modular Verification of Safe Memory Reclamation in
                 Concurrent Separation Logic},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {{OOPSLA2}},
  pages = {828--856},
  year = {2023},
  url = {https://doi.org/10.1145/3622827}
}
@article{Kahn-hoffmann-21,
  author = {David M. Kahn and Jan Hoffmann},
  title = {Automatic amortized resource analysis with the quantum
                 physicist's method},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {{ICFP}},
  pages = {1--29},
  year = {2021},
  url = {https://doi.org/10.1145/3473581}
}
@inproceedings{kaiser-17,
  author = {Jan-Oliver Kaiser and Hoang-Hai Dang and Derek Dreyer
                 and Ori Lahav and Viktor Vafeiadis},
  title = {Strong Logic for Weak Memory: Reasoning About
                 Release-Acquire Consistency in {Iris}},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  pages = {17:1--17:29},
  month = jun,
  year = {2017},
  url = {https://people.mpi-sws.org/~dreyer/papers/iris-weak/paper.pdf}
}
@inproceedings{kaiser-tebbi-smolka-17,
  author = {Jonas Kaiser and Tobias Tebbi and Gert Smolka},
  title = {Equivalence of {System~F} and $\lambda2$ in {Coq}
                 based on context morphism lemmas},
  booktitle = {Certified Programs and Proofs (CPP)},
  pages = {222--234},
  month = jan,
  year = {2017},
  url = {https://www.ps.uni-saarland.de/Publications/documents/KaiserEtAl_2017_sysf_pts_equiv_coq.pdf}
}
@article{kam-ullman-76,
  author = {John B. Kam and Jeffrey D. Ullman},
  title = {Global Data Flow Analysis and Iterative Algorithms},
  journal = {Journal of the {ACM}},
  year = {1976},
  volume = {23},
  number = {1},
  pages = {158--171},
  month = jan,
  url = {http://doi.acm.org/10.1145/321921.321938}
}
@article{kam-ullman-77,
  author = {John B. Kam and Jeffrey D. Ullman},
  title = {Monotone Data Flow Analysis Frameworks},
  journal = {Acta Informatica},
  month = sep,
  year = {1977},
  volume = {7},
  number = {3},
  pages = {305--317},
  url = {http://dx.doi.org/10.1007/BF00290339}
}
@inproceedings{kammar-lindley-oury-13,
  author = {Ohad Kammar and Sam Lindley and Nicolas Oury},
  title = {Handlers in action},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {145--158},
  month = sep,
  year = {2013},
  url = {http://homepages.inf.ed.ac.uk/slindley/papers/handlers.pdf}
}
@article{kammar-pretnar-17,
  author = {Ohad Kammar and Matija Pretnar},
  title = {No value restriction is needed for algebraic effects
                 and handlers},
  journal = {Journal of Functional Programming},
  volume = {27},
  pages = {e7},
  year = {2017},
  url = {http://denotational.co.uk/publications/kammar-pretnar-no-value-restriction-is-neede-for-algebraic-effects-and-handlers.pdf}
}
@phdthesis{kanig-10,
  author = {Johannes Kanig},
  title = {Specification and Proof of Higher-Order Programs},
  school = {Université Paris-Sud},
  year = {2010},
  month = nov,
  url = {http://www.lri.fr/~kanig/files/thesis-kanig-15112010.pdf}
}
@article{kantorowitz-laor-86,
  author = {E. Kantorowitz and H. Laor},
  title = {Automatic generation of useful syntax error messages},
  journal = {Software: Practice and Experience},
  volume = {16},
  number = {7},
  publisher = {John Wiley \& Sons},
  url = {http://dx.doi.org/10.1002/spe.4380160703},
  pages = {627--640},
  year = {1986}
}
@inproceedings{kaplan-shafrir-tarjan-02,
  author = {Haim Kaplan and Nira Shafrir and Robert E. Tarjan},
  title = {Union-find with deletions},
  booktitle = {Symposium on Discrete Algorithms (SODA)},
  pages = {19--28},
  month = jan,
  year = {2002},
  url = {http://dl.acm.org/citation.cfm?id=545381.545384}
}
@article{kaplan-tarjan-99,
  author = {Haim Kaplan and Robert E. Tarjan},
  title = {Purely functional, real-time deques with catenation},
  journal = {Journal of the {ACM}},
  volume = {46},
  number = {5},
  year = {1999},
  pages = {577--603},
  url = {http://www.math.tau.ac.il/~haimk/bob.ps}
}
@article{kapur-zhang-rrl,
  author = {Deepak Kapur and Hantao Zhang},
  title = {An overview of {Rewrite Rule Laboratory (RRL)}},
  journal = {J. Comput. Appl. Math.},
  year = {1995},
  volume = {29},
  number = {2},
  pages = {91--114},
  url = {ftp://ftp.cs.albany.edu/pub/ipl/papers/overview.rrl.ps.gz}
}
@phdthesis{karbyshev-13,
  author = {Aleksandr Karbyshev},
  title = {Monadic Parametricity of Second-Order Functionals},
  school = {Technische Universit{\"a}t M{\"u}nchen},
  year = {2013},
  url = {http://mediatum.ub.tum.de/node?id=1144371}
}
@article{karczmarczuk-01,
  author = {Jerzy Karczmarczuk},
  title = {Functional Differentiation of Computer Programs},
  journal = {Higher-Order and Symbolic Computation},
  volume = {14},
  number = {1},
  pages = {35--57},
  year = {2001},
  url = {https://doi.org/10.1023/A:1011501232197}
}
@inproceedings{karczmarczuk-98,
  author = {Jerzy Karczmarczuk},
  title = {Functional Differentiation of Computer Programs},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {195--203},
  month = sep,
  year = {1998},
  url = {https://doi.org/10.1145/289423.289442}
}
@techreport{kashiwagi-wise-91,
  author = {Yugo Kashiwagi and David S. Wise},
  title = {Graph Algorithms in a Lazy Functional Programming
                 Language},
  institution = {Indiana University},
  year = {1991},
  type = {Technical Report},
  number = {330},
  month = apr,
  url = {http://www.cs.indiana.edu/pub/techreports/TR330.pdf}
}
@inproceedings{kassios-06,
  author = {Ioannis T. Kassios},
  title = {Dynamic Frames: Support for Framing, Dependencies and
                 Sharing Without Restrictions},
  booktitle = {Formal Methods (FM)},
  year = {2006},
  pages = {268--283},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {4085},
  month = aug,
  url = {http://n.ethz.ch/~kassiosi/papers/fm06.pdf}
}
@inproceedings{kassios-kritikos-13,
  author = {Ioannis T. Kassios and Eleftherios Kritikos},
  title = {A Discipline for Program Verification Based on
                 Backpointers and Its Use in Observational
                 Disjointness},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {7792},
  pages = {149--168},
  publisher = {Springer},
  month = mar,
  year = {2013},
  url = {https://doi.org/10.1007/978-3-642-37036-6_10}
}
@inproceedings{kats-visser-wachsmuth-10,
  author = {Lennart C. L. Kats and Eelco Visser and Guido
                 Wachsmuth},
  title = {Pure and Declarative Syntax Definition: Paradise Lost
                 and Regained},
  year = {2010},
  url = {https://doi.org/10.1145/1869459.1869535},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {918–-932}
}
@phdthesis{keinanen-06,
  author = {Misa Keinänen},
  title = {Techniques For Solving {Boolean} Equation Systems},
  school = {Helsinki University of Technology},
  year = {2006},
  note = {Research Report HUT-TCS-A105},
  url = {http://www.tcs.hut.fi/Publications/bibdb/HUT-TCS-A105.pdf}
}
@article{keisu-94,
  author = {Torbjörn Keisu},
  title = {Finite and Rational Tree Constraints},
  journal = {Bulletin of the {IGPL}},
  year = {1994},
  volume = {2},
  number = {2},
  pages = {167--204},
  url = {http://www.dcs.kcl.ac.uk/journals/igpl/IGPL/V2-2/Keisu.ps.gz}
}
@phdthesis{keisu-phd-94,
  author = {Torbjörn Keisu},
  title = {Tree Constraints},
  school = {The Royal Institute of Technology (KTH)},
  year = {1994},
  month = may,
  url = {ftp://ftp.sics.se/pub/ps/papers/torbjorn-keisu-thesis.ps.gz}
}
@inproceedings{kennedy-07,
  author = {Andrew Kennedy},
  title = {Compiling with continuations, continued},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2007},
  pages = {177--190},
  url = {http://research.microsoft.com/~akenn/sml/CompilingWithContinuationsContinued.pdf}
}
@inproceedings{kennedy-75,
  author = {Ken W. Kennedy},
  title = {Node listings applied to data flow analysis},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1975},
  pages = {10--21},
  url = {http://doi.acm.org/10.1145/512976.512978}
}
@inproceedings{kennedy-94,
  author = {Andrew Kennedy},
  title = {Dimension Types},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {1994},
  volume = {788},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://research.microsoft.com/~akenn/units/DimensionTypes.pdf}
}
@techreport{kennedy-96,
  author = {Andrew Kennedy},
  title = {Type Inference and Equational Theories},
  institution = {École Polytechnique},
  year = {1996},
  number = {LIX/RR/96/09},
  month = sep
}
@inproceedings{kerber-91,
  author = {Manfred Kerber},
  title = {How to Prove Higher Order Theorems in First Order
                 Logic},
  booktitle = {International Joint Conferences on Artificial
                 Intelligence},
  year = {1991},
  pages = {137--142},
  url = {ftp://ftp.cs.bham.ac.uk/pub/authors/M.Kerber/91-IJCAI.pdf}
}
@book{kernighan-ritchie-88,
  author = {Brian W. Kernighan and Dennis Ritchie},
  title = {The {C} Programming Language, Second Edition},
  publisher = {Prentice Hall},
  year = {1988}
}
@article{keuchel-al-22,
  author = {Steven Keuchel and Sander Huyghebaert and Georgy
                 Lukyanov and Dominique Devriese},
  title = {Verified symbolic execution with {Kripke}
                 specification monads (and no meta-programming)},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {6},
  number = {{ICFP}},
  pages = {194--224},
  year = {2022},
  url = {https://doi.org/10.1145/3547628}
}
@unpublished{keuchel-schrijvers-inbound-15,
  author = {Steven Keuchel and Tom Schrijvers},
  title = {\textsc{InBound}: simple yet powerful specification of
                 syntax with binders},
  note = {Unpublished},
  month = feb,
  year = {2015},
  url = {http://users.ugent.be/~skeuchel/publications/inbound.pdf}
}
@book{KeY,
  editor = {Bernhard Beckert and Reiner H{\"{a}}hnle and Peter H.
                 Schmitt},
  title = {Verification of Object-Oriented Software. The {KeY}
                 Approach},
  series = {Lecture Notes in Computer Science},
  volume = {4334},
  publisher = {Springer},
  year = {2007},
  url = {https://doi.org/10.1007/978-3-540-69061-0}
}
@inproceedings{kfoury-ml-90,
  author = {Assaf J. Kfoury and Jerzy Tiuryn and Pawel Urzyczyn},
  title = {{ML} Typability is {DEXPTIME}-Complete},
  booktitle = {Colloquium on Trees in Algebra and Programming},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {431},
  pages = {206--220},
  month = may,
  year = {1990},
  url = {http://dx.doi.org/10.1007/3-540-52590-4_50}
}
@article{kfoury-recursion-93,
  author = {A. J. Kfoury and J. Tiuryn and P. Urzyczyn},
  title = {Type reconstruction in the presence of polymorphic
                 recursion},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {15},
  number = {2},
  year = {1993},
  pages = {290--311},
  url = {http://doi.acm.org/10.1145/169701.169687}
}
@article{kfoury-wells-2004,
  author = {Assaf J. Kfoury and J. B. Wells},
  title = {Principality and Type Inference for Intersection Types
                 Using Expansion Variables},
  journal = {Theoretical Computer Science},
  volume = {311},
  number = {1--3},
  pages = {1--70},
  year = {2004},
  url = {http://www.church-project.org/reports/Kfo+Wel:TCSB-2004-v311n1-3.html}
}
@inproceedings{khayam-noizet-schmitt-22,
  author = {Adam Khayam and Louis Noizet and Alan Schmitt},
  title = {A Faithful Description of {ECMAScript} Algorithms},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  pages = {8:1--8:14},
  month = sep,
  year = {2022},
  url = {https://hal.science/hal-03782992/}
}
@article{kidney-yang-wu-24,
  author = {Donnacha Ois{\'{\i}}n Kidney and Zhixuan Yang and
                 Nicolas Wu},
  title = {Algebraic Effects Meet Hoare Logic in {Cubical Agda}},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {{POPL}},
  pages = {1663--1695},
  year = {2024},
  url = {https://doi.org/10.1145/3632898}
}
@unpublished{kieburtz-02,
  author = {Richard B. Kieburtz},
  title = {${P}$-logic: Property verification for {Haskell}
                 programs},
  note = {Draft},
  month = aug,
  year = {2002},
  url = {http://www.cse.ogi.edu/PacSoft/projects/programatica/plogic.pdf}
}
@inproceedings{kieburtz-98,
  author = {Richard B. Kieburtz},
  title = {Taming effects with monadic typing},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {1998},
  pages = {51--62},
  url = {http://doi.acm.org/10.1145/289423.289428}
}
@inproceedings{kildall-73,
  author = {Gary A. Kildall},
  title = {A unified approach to global program optimization},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = oct,
  year = {1973},
  pages = {194--206},
  url = {http://doi.acm.org/10.1145/512927.512945}
}
@inproceedings{kim-yi-calcagno-06,
  author = {Ik-Soon Kim and Kwangkeun Yi and Cristiano Calcagno},
  title = {A polymorphic modal type system for {Lisp}-like
                 multi-staged languages},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2006},
  pages = {257--268},
  url = {http://www.doc.ic.ac.uk/~ccris/ftp/06-popl-kiyicr.pdf}
}
@inproceedings{king-wadler-92,
  author = {David King and Philip Wadler},
  title = {Combining Monads},
  booktitle = {Workshop on Functional Programming},
  publisher = {Springer},
  year = {1992},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/monadscomb/monadscomb.ps.gz}
}
@unpublished{kiselyov-beyond-church-12,
  author = {Oleg Kiselyov},
  title = {Beyond {Church} encoding: {Boehm-Berarducci}
                 isomorphism of algebraic data types and polymorphic
                 lambda-terms},
  note = {\url{http://okmij.org/ftp/tagless-final/course/Boehm-Berarducci.html}},
  month = apr,
  year = {2012}
}
@inproceedings{kiselyov-ishii-15,
  author = {Oleg Kiselyov and Hiromi Ishii},
  title = {Freer monads, more extensible effects},
  booktitle = {Haskell symposium},
  pages = {94--105},
  month = sep,
  year = {2015},
  url = {https://okmij.org/ftp/Haskell/extensible/more.pdf}
}
@article{kiselyov-mu-sabry-21,
  author = {Oleg Kiselyov and Shin{-}Cheng Mu and Amr Sabry},
  title = {Not by equations alone: Reasoning with extensible
                 effects},
  journal = {Journal of Functional Programming},
  volume = {31},
  pages = {e2},
  year = {2021},
  url = {https://doi.org/10.1017/S0956796820000271}
}
@inproceedings{kiselyov-sabry-swords-13,
  author = {Oleg Kiselyov and Amr Sabry and Cameron Swords},
  title = {Extensible effects: an alternative to monad
                 transformers},
  booktitle = {Haskell symposium},
  pages = {59--70},
  month = sep,
  year = {2013},
  url = {https://doi.org/10.1145/2503778.2503791}
}
@inproceedings{kiselyov-shan-07,
  author = {Oleg Kiselyov and Chung{-}chieh Shan},
  title = {A Substructural Type System for Delimited
                 Continuations},
  booktitle = {Typed Lambda Calculi and Applications (TLCA)},
  pages = {223--239},
  month = jun,
  year = {2007},
  series = {Lecture Notes in Computer Science},
  volume = {4583},
  publisher = {Springer},
  url = {http://homes.soic.indiana.edu/ccshan/binding/context.pdf}
}
@inproceedings{kiselyov-tagless-final-10,
  author = {Oleg Kiselyov},
  title = {Typed Tagless Final Interpreters},
  booktitle = {International Spring School on Generic and Indexed
                 Programming {(SSGIP)}},
  series = {Lecture Notes in Computer Science},
  volume = {7470},
  pages = {130--174},
  publisher = {Springer},
  month = mar,
  year = {2010},
  url = {http://okmij.org/ftp/tagless-final/course/lecture.pdf}
}
@unpublished{kiselyov-undelimited-14,
  author = {Oleg Kiselyov},
  title = {Undelimited continuations are co-values rather than
                 functions},
  note = {\url{https://okmij.org/ftp/continuations/undelimited.html}},
  month = oct,
  year = {2014}
}
@inproceedings{klees-18,
  author = {George Klees and Andrew Ruef and Benji Cooper and
                 Shiyi Wei and Michael Hicks},
  title = {Evaluating Fuzz Testing},
  booktitle = {Conference on Computer and Communications Security
                 {(CCS)}},
  pages = {2123--2138},
  publisher = {{ACM}},
  month = oct,
  year = {2018},
  url = {https://arxiv.org/abs/1808.09700}
}
@inproceedings{klein-10,
  author = {Casey Klein and Matthew Flatt and Robert Bruce
                 Findler},
  title = {Random testing for higher-order, stateful programs},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {555--566},
  month = oct,
  year = {2010},
  url = {https://users.cs.northwestern.edu/~robby/publications/papers/oopsla2010-kff.pdf}
}
@article{klein-seL4-2010,
  author = {Gerwin Klein and June Andronick and Kevin Elphinstone
                 and Gernot Heiser and David Cock and Philip Derrin and
                 Dhammika Elkaduwe and Kai Engelhardt and Rafal Kolanski
                 and Michael Norrish and Thomas Sewell and Harvey Tuch
                 and Simon Winwood},
  title = {{seL4}: formal verification of an operating-system
                 kernel},
  journal = {Communications of the {ACM}},
  volume = {53},
  number = {6},
  year = {2010},
  pages = {107--115},
  url = {http://ertos.nicta.com.au/publications/papers/Klein_EHACDEEKNSTW_10.pdf}
}
@techreport{klint-83,
  title = {A survey of three language-independent programming
                 environments},
  author = {Paul Klint},
  url = {https://inria.hal.science/inria-00076301},
  number = {RR-0257},
  institution = {INRIA},
  year = {1983},
  month = dec
}
@article{klint-laemmel-verhoef-05,
  author = {Paul Klint and Ralf L{\"a}mmel and Chris Verhoef},
  title = {Toward an engineering discipline for grammarware},
  journal = {ACM Transactions on Software Engineering and
                 Methodology},
  volume = {14},
  number = {3},
  year = {2005},
  pages = {331--380},
  url = {http://www.few.vu.nl/~x/gw/gw.pdf}
}
@techreport{klint-visser-94,
  author = {Paul Klint and Eelco Visser},
  title = {Using filters for the disambiguation of context-free
                 grammars},
  institution = {University of Amsterdam},
  year = {1994},
  type = {Technical Report},
  number = {P9426},
  month = dec,
  url = {https://eelcovisser.org/publications/1994/KlintV94.pdf}
}
@inproceedings{kloos-majumdar-vafeiadis-15,
  author = {Johannes Kloos and Rupak Majumdar and Viktor
                 Vafeiadis},
  title = {Asynchronous Liquid Separation Types},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  pages = {396--420},
  month = jul,
  year = {2015},
  url = {https://www.mpi-sws.org/~viktor/papers/ecoop2015-alstypes.pdf}
}
@article{kmp-77,
  author = {James H. Morris and Donald E. Knuth and Vaughan R.
                 Pratt},
  title = {Fast Pattern Matching in Strings},
  journal = {SIAM Journal on Computing},
  year = {1977},
  volume = {6},
  number = {2},
  pages = {323--350},
  month = jun,
  url = {http://locus.siam.org/fulltext/SICOMP/volume-06/0206024.pdf}
}
@article{knight-89,
  author = {Kevin Knight},
  title = {Unification: a multidisciplinary survey},
  journal = {{ACM} Computing Surveys},
  year = {1989},
  volume = {21},
  number = {1},
  pages = {93--124},
  month = mar,
  url = {http://doi.acm.org/10.1145/62029.62030}
}
@article{knuth-77,
  author = {Donald E. Knuth},
  title = {A Generalization of {Dijkstra}'s Algorithm},
  journal = {Information Processing Letters},
  year = {1977},
  volume = {6},
  number = {1},
  pages = {1--5},
  month = feb,
  url = {https://doi.org/10.1016/0020-0190(77)90002-3}
}
@article{knuth-lr-65,
  author = {Donald E. Knuth},
  title = {On the translation of languages from left to right},
  journal = {Information \& Control},
  year = {1965},
  volume = {8},
  number = {6},
  pages = {607--639},
  month = dec,
  url = {http://www.sciencedirect.com/science/article/pii/S0019995865904262}
}
@inproceedings{kobayashi-implicit-00,
  author = {Naoki Kobayashi and Shin Saito and Eijiro Sumii},
  title = {An Implicitly-Typed Deadlock-Free Process Calculus},
  booktitle = {International Conference on Concurrency Theory
                 (CONCUR)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1877},
  year = {2000},
  month = aug,
  pages = {489--503},
  url = {http://www.yl.is.s.u-tokyo.ac.jp/members/koba/papers/deadlock-inference-concur.ps.gz}
}
@article{kobayashi-linearity-99,
  author = {Naoki Kobayashi and Benjamin C. Pierce and David N.
                 Turner},
  title = {Linearity and the {Pi-Calculus}},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {21},
  number = {5},
  pages = {914--947},
  month = sep,
  year = {1999},
  url = {http://doi.acm.org/10.1145/330249.330251}
}
@article{kobayashi-partial-98,
  author = {Naoki Kobayashi},
  title = {A Partially Deadlock-Free Typed Process Calculus},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {20},
  number = {2},
  pages = {436--482},
  month = mar,
  year = {1998},
  url = {http://doi.acm.org/10.1145/276393.278524}
}
@inproceedings{kobayashi-sumii-98,
  author = {Eijiro Sumii and Naoki Kobayashi},
  title = {A Generalized Deadlock-Free Process Calculus},
  booktitle = {High-Level Concurrent Languages (HLCL)},
  month = sep,
  year = {1998},
  volume = {16},
  series = {Electronic Notes in Theoretical Computer Science},
  publisher = {Elsevier},
  pages = {55--77},
  url = {http://www1.elsevier.com/gej-ng/31/29/23/40/26/39/tcs16.3.006.ps}
}
@inproceedings{kobayashi-useless-00,
  author = {Naoki Kobayashi},
  title = {Type-based useless variable elimination},
  pages = {84--93},
  booktitle = {Workshop on Evaluation and Semantics-Based Program
                 Manipulation ({PEPM})},
  month = jan,
  year = {2000},
  url = {http://www.yl.is.s.u-tokyo.ac.jp/members/koba/papers/PEPM00.ps.gz}
}
@inproceedings{kobori-kameyama-kiselyov-16,
  author = {Ikuo Kobori and Yukiyoshi Kameyama and Oleg Kiselyov},
  title = {Answer-Type Modification without Tears: Prompt-Passing
                 Style Translation for Typed Delimited-Control
                 Operators},
  booktitle = {Workshop on Continuations {(WoC)}},
  pages = {36--52},
  year = {2016},
  series = {{EPTCS}},
  volume = {212},
  url = {https://arxiv.org/pdf/1606.06379.pdf}
}
@article{koda-ruskey-93,
  author = {Yasunori Koda and Frank Ruskey},
  title = {A {Gray} Code for the Ideals of a Forest Poset},
  journal = {Journal of Algorithms},
  volume = {15},
  number = {2},
  month = sep,
  year = {1993},
  pages = {324--340},
  url = {http://www.cs.uvic.ca/~ruskey/Publications/ForestIdeals.ps}
}
@inproceedings{koenig-stroustrup-90,
  author = {Andrew Koenig and Bjarne Stroustrup},
  title = {Exception Handling for {C++}},
  booktitle = {Proceedings of the {C++} Conference},
  pages = {149--176},
  publisher = {{USENIX} Association},
  month = apr,
  year = {1990},
  url = {https://www.stroustrup.com/except89.pdf}
}
@inproceedings{kohlbecker-hygienic-86,
  author = {Eugene Kohlbecker and Daniel P. Friedman and Matthias
                 Felleisen and Bruce Duba},
  title = {Hygienic macro expansion},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  year = {1986},
  pages = {151--161},
  url = {http://doi.acm.org/10.1145/319838.319859}
}
@inproceedings{kohlbecker-wand-87,
  author = {Eugene E. Kohlbecker and Mitchell Wand},
  title = {Macro-by-example: Deriving syntactic transformations
                 from their specifications},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1987},
  pages = {77--84},
  url = {http://doi.acm.org/10.1145/41625.41632}
}
@misc{koka,
  author = {Daan Leijen},
  title = {Koka},
  year = {2020},
  howpublished = {\url{https://www.microsoft.com/en-us/research/project/koka/}}
}
@inproceedings{konat-13,
  author = {Gabri{\"e}l Konat and Lennart Kats and Guido Wachsmuth
                 and Eelco Visser},
  title = {Declarative Name Binding and Scope Rules},
  booktitle = {Software Language Engineering},
  month = sep,
  year = {2013},
  publisher = {Springer},
  volume = {7745},
  series = {Lecture Notes in Computer Science},
  pages = {311--331},
  url = {http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2012-015.pdf}
}
@inproceedings{koopman-02,
  author = {Pieter W. M. Koopman and Artem Alimarine and Jan
                 Tretmans and Marinus J. Plasmeijer},
  title = {Gast: Generic Automated Software Testing},
  booktitle = {Implementation of Functional Languages (IFL)},
  series = {Lecture Notes in Computer Science},
  volume = {2670},
  pages = {84--100},
  publisher = {Springer},
  month = sep,
  year = {2002},
  url = {https://doi.org/10.1007/3-540-44854-3_6}
}
@inproceedings{koopman-11,
  author = {Pieter W. M. Koopman and Peter Achten and Rinus
                 Plasmeijer},
  title = {Model Based Testing with Logical Properties versus
                 State Machines},
  booktitle = {Implementation of Functional Languages (IFL)},
  series = {Lecture Notes in Computer Science},
  volume = {7257},
  pages = {116--133},
  publisher = {Springer},
  month = oct,
  year = {2011},
  url = {https://doi.org/10.1007/978-3-642-34407-7\_8}
}
@inproceedings{koprowski-binsztok-10,
  author = {Adam Koprowski and Henri Binsztok},
  title = {{TRX}: {A} Formally Verified Parser Interpreter},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2010},
  pages = {345--365},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6012},
  url = {http://adam-koprowski.net/papers/trx-ESOP-10.pdf}
}
@article{koprowski-binsztok-11,
  author = {Adam Koprowski and Henri Binsztok},
  title = {{TRX}: {A} Formally Verified Parser Interpreter},
  journal = {Logical Methods in Computer Science},
  year = {2011},
  volume = {7},
  number = {2},
  url = {http://arxiv.org/pdf/1105.2576}
}
@inproceedings{koved-al-02,
  author = {Larry Koved and Marco Pistoia and Aaron Kershenbaum},
  title = {Access rights analysis for {Java}},
  pages = {359--372},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = nov,
  year = {2002},
  url = {http://www.research.ibm.com/javasec/OOPSLA2002preprint.pdf}
}
@book{kozen-91,
  author = {Dexter C. Kozen},
  title = {The design and analysis of algorithms},
  year = {1992},
  series = {Texts and Monographs in Computer Science},
  publisher = {Springer},
  url = {http://www.cs.cornell.edu/~kozen/papers/daa.pdf}
}
@article{kozen-palsberg-schwartzbach-95,
  author = {Dexter Kozen and Jens Palsberg and Michael I.
                 Schwartzbach},
  title = {Efficient Recursive Subtyping},
  journal = {Mathematical Structures in Computer Science},
  volume = {5},
  number = {1},
  pages = {113--125},
  year = {1995},
  url = {http://www.cs.ucla.edu/~palsberg/paper/mscs95-kps.pdf}
}
@article{krawiec-krishnaswami-22,
  author = {Faustyna Krawiec and Neel Krishnaswami and Simon
                 {Peyton-Jones} and Tom Ellis and Andrew Fitzgibbon and
                 Richard A. Eisenberg},
  title = {Provably Correct, Asymptotically Efficient,
                 Higher-Order Reverse-Mode Automatic Differentiation},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {6},
  number = {{POPL}},
  year = {2022},
  url = {https://richarde.dev/papers/2022/ad/higher-order-ad.pdf}
}
@inproceedings{krebbers-14,
  author = {Robbert Krebbers},
  title = {An operational and axiomatic semantics for
                 non-determinism and sequence points in {C}},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {101--112},
  month = jan,
  year = {2014},
  url = {https://doi.org/10.1145/2535838.2535878}
}
@inproceedings{krebbers-leroy-wiedijk-14,
  author = {Robbert Krebbers and Xavier Leroy and Freek Wiedijk},
  title = {Formal {C} Semantics: {CompCert} and the {C}
                 Standard},
  booktitle = {Interactive Theorem Proving (ITP)},
  series = {Lecture Notes in Computer Science},
  volume = {8558},
  pages = {543--548},
  publisher = {Springer},
  month = jul,
  year = {2014},
  url = {https://robbertkrebbers.nl/research/articles/compcert_formalin.pdf}
}
@inproceedings{krebbers-timany-birkedal-17,
  author = {Robert Krebbers and Amin Timany and Lars Birkedal},
  title = {Interactive proofs in higher-order concurrent
                 separation logic},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2017},
  month = jan,
  url = {http://cs.au.dk/~birke/papers/ipm-conf.pdf}
}
@inproceedings{krishna-emmi-enea-jovanovic-20,
  author = {Siddharth Krishna and Michael Emmi and Constantin Enea
                 and Dejan Jovanovic},
  title = {Verifying Visibility-Based Weak Consistency},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {12075},
  pages = {280--307},
  publisher = {Springer},
  month = apr,
  year = {2020},
  url = {https://raw.githubusercontent.com/michael-emmi/research-papers/master/conf-esop-KrishnaEEJ20.pdf}
}
@inproceedings{krishna-summer-wies-20,
  author = {Siddharth Krishna and Alexander J. Summers and Thomas
                 Wies},
  title = {Local Reasoning for Global Graph Properties},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {12075},
  pages = {308--335},
  publisher = {Springer},
  month = apr,
  year = {2020},
  url = {https://arxiv.org/abs/1911.08632}
}
@inproceedings{krishnamurthi-99,
  author = {Shriram Krishnamurthi and Matthias Felleisen and Bruce
                 F. Duba},
  title = {From Macros to Reusable Generative Programming},
  booktitle = {Generative and Component-Based Software Engineering},
  pages = {105--120},
  year = {1999},
  volume = {1799},
  series = {Lecture Notes in Computer Science},
  month = sep,
  publisher = {Springer},
  url = {http://www.cs.brown.edu/~sk/Publications/Papers/Published/kfd-macro-to-gen-prog/paper.ps}
}
@phdthesis{krishnaswami-12,
  author = {Neelakantan R. Krishnaswami},
  title = {Verifying Higher-Order Imperative Programs with
                 Higher-Order Separation Logic},
  school = {School of Computer Science, Carnegie Mellon
                 University},
  year = {2012},
  url = {http://www.cs.cmu.edu/~neelk/thesis.pdf}
}
@inproceedings{krishnaswami-design-patterns-09,
  author = {Neelakantan R. Krishnaswami and Jonathan Aldrich and
                 Lars {Bir\-ke\-dal} and Kasper Svendsen and Alexandre
                 Buisse},
  title = {Design Patterns in Separation Logic},
  booktitle = {Types in Language Design and Implementation (TLDI)},
  pages = {105--116},
  year = {2009},
  month = jan,
  url = {http://www.cs.cmu.edu/~neelk/design-patterns-tldi09.pdf}
}
@inproceedings{krishnaswami-sharing-12,
  author = {Neelakantan R. Krishnaswami and Aaron Turon and Derek
                 Dreyer and Deepak Garg},
  title = {Superficially substructural types},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2012},
  pages = {41--54},
  url = {http://www.mpi-sws.org/~neelk/icfp12-superficial-krishnaswami-turon-dreyer-garg.pdf}
}
@book{kroening-strichman-08,
  author = {Daniel Kroening and Ofer Strichman},
  title = {Decision procedures -- An algorithmic point of view},
  publisher = {Springer},
  year = {2008},
  url = {http://www.decision-procedures.org/}
}
@inproceedings{krogh-jespersen-svendsen-birkedal-17,
  author = {Mortern Krogh-Jespersen and Kasper Svendsen and Lars
                 Birkedal},
  title = {A Relational Model of Type-and-Effects in Higher-Order
                 Concurrent Separation Logic},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {218--231},
  month = jan,
  year = {2017},
  url = {https://iris-project.org/pdfs/2017-popl-effects-final.pdf}
}
@inproceedings{kuan-07,
  author = {George Kuan and David MacQueen},
  title = {Efficient type inference using ranked type variables},
  booktitle = {ACM Workshop on ML},
  month = oct,
  year = {2007},
  pages = {3--14},
  url = {http://people.cs.uchicago.edu/~gkuan/pubs/ml07-km.pdf}
}
@inproceedings{kuan-macqueen-findler-07,
  author = {George Kuan and David MacQueen and Robert Bruce
                 Findler},
  title = {A Rewriting Semantics for Type Inference},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {4421},
  pages = {426--440},
  publisher = {Springer},
  month = mar,
  year = {2007},
  url = {https://people.cs.uchicago.edu/~gkuan/pubs/esop07-kmf.pdf}
}
@inproceedings{kuncak-rinard-03,
  author = {Viktor Kuncak and Martin Rinard},
  title = {Structural Subtyping of Non-Recursive Types is
                 Decidable},
  booktitle = {Logic in Computer Science (LICS)},
  year = {2003},
  month = jun,
  url = {http://www.cag.lcs.mit.edu/~rinard/paper/lics03.pdf}
}
@techreport{kuncak-rinard-tr-03,
  author = {Viktor Kuncak and Martin Rinard},
  title = {On the Theory of Structural Subtyping},
  institution = {MIT Laboratory for Computer Science},
  year = {2003},
  number = {879},
  month = jan,
  url = {http://www.mit.edu/people/vkuncak/papers/TheoryStructuralSubtyping.ps}
}
@inproceedings{laemmel-00,
  author = {Ralf Lämmel and Joost Visser and Jan Kort},
  title = {Dealing with Large Bananas},
  pages = {46--59},
  booktitle = {Workshop on Generic Programming},
  year = {2000},
  month = jul,
  url = {http://homepages.cwi.nl/~ralf/wgp00.ps}
}
@unpublished{laemmel-scrap-05,
  author = {Ralf Lämmel and Simon {Peyton Jones}},
  title = {Scrap your boilerplate with class: extensible generic
                 functions},
  note = {Submitted},
  month = apr,
  year = {2005},
  url = {http://research.microsoft.com/Users/simonpj/papers/hmap/gmap3.ps}
}
@inproceedings{lai-user-99,
  author = {Charlie Lai and Li Gong and Larry Koved and Anthony J.
                 Nadalin and Roland Schemers},
  title = {User Authentication and Authorization in the {Java}
                 Platform},
  booktitle = {Annual Computer Security Applications Conference},
  pages = {285--290},
  month = dec,
  year = {1999},
  url = {http://www.acsac.org/1999/papers/thu-b-1500-lai.pdf}
}
@inproceedings{lal-reps-06,
  author = {Akash Lal and Thomas W. Reps},
  title = {Improving Pushdown System Model Checking},
  booktitle = {Computer Aided Verification (CAV)},
  series = {Lecture Notes in Computer Science},
  volume = {4144},
  pages = {343--357},
  publisher = {Springer},
  month = aug,
  year = {2006},
  url = {https://minds.wisconsin.edu/handle/1793/60484}
}
@article{lalonde-des-rivieres-81,
  author = {Wilf R. LaLonde and Jim des Rivi{\`{e}}res},
  title = {Handling Operator Precedence in Arithmetic Expressions
                 with Tree Transformations},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {3},
  number = {1},
  pages = {83--103},
  year = {1981},
  url = {https://doi.org/10.1145/357121.357127}
}
@inproceedings{lammich-13,
  author = {Peter Lammich},
  title = {Automatic Data Refinement},
  booktitle = {Interactive Theorem Proving (ITP)},
  pages = {84--99},
  month = jul,
  year = {2013},
  volume = {7998},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www21.in.tum.de/~lammich/pub/autoref.pdf}
}
@inproceedings{lammich-14,
  author = {Peter Lammich},
  title = {Verified Efficient Implementation of {Gabow}'s
                 Strongly Connected Component Algorithm},
  booktitle = {Interactive Theorem Proving (ITP)},
  month = jul,
  year = {2014},
  pages = {325--340},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {8558},
  url = {http://www21.in.tum.de/~lammich/pub/gabow_scc.pdf}
}
@inproceedings{lammich-15,
  author = {Peter Lammich},
  title = {Refinement to {Imperative/HOL}},
  booktitle = {Interactive Theorem Proving (ITP)},
  pages = {253--269},
  month = aug,
  year = {2015},
  series = {Lecture Notes in Computer Science},
  volume = {9236},
  publisher = {Springer},
  url = {https://www21.in.tum.de/~lammich/pub/itp15_sepref.pdf}
}
@inproceedings{lammich-16,
  author = {Peter Lammich},
  title = {Refinement Based Verification of Imperative Data
                 Structures},
  booktitle = {Certified Programs and Proofs (CPP)},
  month = jan,
  year = {2016},
  pages = {27--36},
  url = {https://www21.in.tum.de/~lammich/pub/cpp2016_impds.pdf}
}
@article{lammich-19,
  author = {Peter Lammich},
  title = {Refinement to {Imperative HOL}},
  year = {2019},
  publisher = {Springer},
  volume = {62},
  number = {4},
  url = {https://www21.in.tum.de/~lammich/pub/jar_ref_imp_hol.pdf},
  journal = {Journal of Automated Reasoning},
  month = apr,
  pages = {481--503}
}
@inproceedings{lammich-lochbihler-10,
  author = {Peter Lammich and Andreas Lochbihler},
  title = {The {Isabelle} Collections Framework},
  booktitle = {Interactive Theorem Proving (ITP)},
  pages = {339--354},
  month = jul,
  year = {2010},
  series = {Lecture Notes in Computer Science},
  volume = {6172},
  publisher = {Springer},
  url = {http://cs.uni-muenster.de/sev/publications/itp10.pdf}
}
@article{lammich-meis-12,
  author = {Peter Lammich and Rene Meis},
  title = {A Separation Logic Framework for {Imperative HOL}},
  journal = {Archive of Formal Proofs},
  year = {2012},
  url = {http://afp.sourceforge.net/entries/Separation_Logic_Imperative_HOL.shtml}
}
@inproceedings{lammich-neumann-15,
  author = {Peter Lammich and René Neumann},
  title = {A Framework for Verifying Depth-First Search
                 Algorithms},
  booktitle = {Certified Programs and Proofs (CPP)},
  pages = {137--146},
  month = jan,
  year = {2015},
  url = {https://www.ssrg.ece.vt.edu/~lammich/pub/cpp2015_dfs.pdf}
}
@article{lamport-78,
  author = {Leslie Lamport},
  title = {Time, Clocks, and the Ordering of Events in a
                 Distributed System},
  journal = {Communications of the {ACM}},
  volume = {21},
  number = {7},
  pages = {558--565},
  year = {1978},
  url = {https://lamport.azurewebsites.net/pubs/time-clocks.pdf}
}
@article{lamport-79,
  author = {Leslie Lamport},
  title = {How to Make a Multiprocessor Computer That Correctly
                 Executes Multiprocess Programs},
  journal = {{IEEE} Trans. Computers},
  volume = {28},
  number = {9},
  pages = {690--691},
  year = {1979},
  url = {https://www.microsoft.com/en-us/research/uploads/prod/2016/12/How-to-Make-a-Multiprocessor-Computer-That-Correctly-Executes-Multiprocess-Programs.pdf}
}
@article{lamport-97,
  author = {Leslie Lamport},
  title = {How to Make a Correct Multiprocess Program Execute
                 Correctly on a Multiprocessor},
  journal = {{IEEE} Trans. Computers},
  volume = {46},
  number = {7},
  pages = {779--782},
  year = {1997},
  url = {https://lamport.azurewebsites.net/pubs/lamport-how-to-make.pdf}
}
@article{lamport-merz-17,
  author = {Leslie Lamport and Stephan Merz},
  title = {Auxiliary Variables in {TLA+}},
  journal = {CoRR},
  volume = {abs/1703.05121},
  year = {2017},
  url = {http://arxiv.org/abs/1703.05121}
}
@article{lampson-73,
  author = {Butler W. Lampson},
  title = {A Note on the Confinement Problem},
  journal = {Communications of the {ACM}},
  volume = {16},
  number = {10},
  pages = {613--615},
  month = oct,
  year = {1973},
  url = {http://research.microsoft.com/lampson/11-Confinement/WebPage.html}
}
@article{landin-64,
  author = {Peter J. Landin},
  title = {The Mechanical Evaluation of Expressions},
  journal = {Computer Journal},
  volume = {6},
  number = {4},
  month = jan,
  year = {1964},
  pages = {308--320}
}
@article{landin-65,
  author = {Peter J. Landin},
  title = {Correspondence between {ALGOL} 60 and {Church's}
                 Lambda-notation: part {I}},
  journal = {Communications of the {ACM}},
  volume = {8},
  number = {2},
  year = {1965},
  pages = {89--101},
  url = {http://doi.acm.org/10.1145/363744.363749}
}
@phdthesis{larus-89,
  author = {James Richard Larus},
  title = {Restructuring Symbolic Programs for Concurrent
                 Execution on Multiprocessors},
  school = {EECS Department, University of California, Berkeley},
  year = {1989},
  month = may,
  note = {Technical Report UCB/CSD-89-502},
  url = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1989/CSD-89-502.pdf}
}
@inproceedings{lassen-06,
  author = {Soren B. Lassen},
  title = {Head Normal Form Bisimulation for Pairs and the
                 $\lambda\mu$-Calculus},
  booktitle = {Logic in Computer Science (LICS)},
  month = aug,
  year = {2006},
  pages = {297--306},
  url = {http://www.blassen.dk/soren/papers/2006lics.pdf}
}
@inproceedings{lassen-99,
  author = {Soren B. Lassen},
  title = {Bisimulation in untyped lambda calculus: {Böhm} trees
                 and bisimulation up to context},
  booktitle = {Mathematical Foundations of Programming Semantics},
  pages = {346--374},
  year = {1999},
  volume = {20},
  series = {Electronic Notes in Theoretical Computer Science},
  month = apr,
  publisher = {Elsevier},
  url = {http://www.blassen.dk/soren/papers/1999mfps15.ps}
}
@incollection{lassez-al-88,
  author = {Jean-Louis Lassez and Michael J. Maher and Kim G.
                 Marriott},
  editor = {Jack Minker},
  booktitle = {Foundations of Deductive Databases and Logic
                 Programming},
  title = {Unification Revisited},
  chapter = {15},
  publisher = {Morgan Kaufmann},
  year = {1988},
  pages = {587--625}
}
@article{lassez-nguyen-sonenberg-82,
  author = {Jean-Louis Lassez and V. L. Nguyen and Liz Sonenberg},
  title = {Fixed point theorems and semantics: a folk tale},
  journal = {Information Processing Letters},
  year = {1982},
  volume = {14},
  number = {3},
  pages = {112--116},
  month = may,
  url = {http://dx.doi.org/10.1016/0020-0190(82)90065-5}
}
@inproceedings{laufer-odersky-92,
  author = {Martin Odersky and Konstantin Läufer},
  title = {An Extension of {ML} with First-Class Abstract Types},
  year = {1992},
  month = jun,
  booktitle = {ACM Workshop on ML and its Applications},
  pages = {78--91},
  url = {http://www.cs.luc.edu/laufer/papers/ml92.pdf}
}
@article{laufer-odersky-94,
  author = {Konstantin L{\"a}ufer and Martin Odersky},
  title = {Polymorphic Type Inference and Abstract Data Types},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {1994},
  month = sep,
  pages = {1411--1430},
  volume = {16},
  number = {5},
  url = {http://www.cs.luc.edu/laufer/papers/toplas94.pdf}
}
@article{launchbury-peyton-jones-95,
  author = {John Launchbury and Simon {Peyton Jones}},
  title = {State in {Haskell}},
  journal = {{LISP} and Symbolic Computation},
  publisher = {Springer},
  pages = {293--341},
  year = {1995},
  volume = {8},
  number = {4},
  url = {http://dx.doi.org/10.1007/BF01018827}
}
@inproceedings{laviron-chang-rival-10,
  author = {Vincent Laviron and Bor-Yuh Evan Chang and Xavier
                 Rival},
  title = {Separating Shape Graphs},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2010},
  pages = {387--406},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6012},
  url = {http://xisa.cs.colorado.edu/papers/esop10-sepshapegraph.pdf}
}
@inproceedings{lawall-danvy-93,
  author = {Julia L. Lawall and Olivier Danvy},
  title = {Separating Stages in the Continuation-Passing Style
                 Transformation},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {124--136},
  month = jan,
  year = {1993},
  url = {https://pages.lip6.fr/Julia.Lawall/lawall-danvy-popl93.ps.gz}
}
@techreport{le-charlier-van-hentenryck-92,
  author = {Baudouin {Le Charlier} and Pascal {Van Hentenryck}},
  title = {A Universal Top-Down Fixpoint Algorithm},
  institution = {Brown University},
  year = {1992},
  type = {Technical Report},
  number = {CS-92-25},
  month = may,
  url = {ftp://ftp.cs.brown.edu/pub/techreports/92/cs92-25.ps.gz}
}
@article{le-metayer-88,
  author = {Daniel {Le Métayer}},
  title = {{ACE:} An Automatic Complexity Evaluator},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {10},
  number = {2},
  pages = {248--266},
  year = {1988},
  url = {http://doi.acm.org/10.1145/42190.42347}
}
@article{league-02,
  author = {Christopher League and Zhong Shao and Valery
                 Trifonov},
  title = {Type-Preserving Compilation of {Featherweight}
                 {Java}},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2002},
  volume = {24},
  number = {2},
  pages = {112--152},
  month = mar,
  url = {http://flint.cs.yale.edu/flint/publications/fj-toplas.html}
}
@inproceedings{league-03,
  author = {Christopher League and Zhong Shao and Valery
                 Trifonov},
  title = {Precision in Practice: a Type-Preserving {Java}
                 Compiler},
  booktitle = {Compiler Construction (CC)},
  pages = {106--120},
  year = {2003},
  volume = {2622},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://flint.cs.yale.edu/flint/publications/piptr.html}
}
@inproceedings{league-99,
  author = {Christopher League and Zhong Shao and Valery
                 Trifonov},
  title = {Representing {Java} Classes in a Typed Intermediate
                 Language},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {183--196},
  month = sep,
  year = {1999},
  url = {http://flint.cs.yale.edu/flint/publications/javaflint2.html}
}
@inproceedings{leavens-baker-99,
  author = {Gary T. Leavens and Albert L. Baker},
  title = {Enhancing the Pre- and Postcondition Technique for
                 More Expressive Specifications},
  booktitle = {Formal Methods (FM)},
  volume = {1709},
  series = {Lecture Notes in Computer Science},
  month = jan,
  year = {1999},
  pages = {1087--1106},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-48118-4_8}
}
@article{leavens-baker-ruby-06,
  author = {Gary T. Leavens and Albert L. Baker and Clyde Ruby},
  title = {Preliminary design of {JML}: a behavioral interface
                 specification language for {Java}},
  journal = {{ACM} {SIGSOFT} Softw. Eng. Notes},
  volume = {31},
  number = {3},
  pages = {1--38},
  year = {2006},
  url = {https://www.cs.ucf.edu/~leavens/JML/prelimdesign.pdf}
}
@article{leavens-leino-muller-07,
  author = {Gary T. Leavens and K. Rustan M. Leino and Peter
                 M{\"{u}}ller},
  title = {Specification and verification challenges for
                 sequential object-oriented programs},
  journal = {Formal Aspects of Computing},
  volume = {19},
  number = {2},
  pages = {159--189},
  year = {2007},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/krml161.pdf}
}
@inproceedings{lebotlan-remy-03,
  author = {Didier {Le Botlan} and Didier R{\'e}my},
  title = {{MLF}: Raising {ML} to the power of System ${F}$},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {27--38},
  year = {2003},
  month = aug,
  url = {http://cambium.inria.fr/~remy/work/mlf/icfp.pdf}
}
@inproceedings{lebresne-08,
  author = {Sylvain Lebresne},
  title = {A System ${F}$ with Call-by-Name Exceptions},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  month = jun,
  year = {2008},
  pages = {323--335},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5126},
  url = {http://www.pps.jussieu.fr/~lebresne/papers/SystemFWithExceptions.pdf}
}
@article{lee-81,
  author = {Tony T. Lee},
  title = {Order-Preserving Representations of the Partitions on
                 the Finite Set},
  journal = {Journal of Combinatorial Theory, Series {A}},
  volume = {31},
  number = {2},
  pages = {136--145},
  year = {1981},
  url = {https://core.ac.uk/download/pdf/82548255.pdf}
}
@inproceedings{lee-al-20,
  author = {Wonyeol Lee and Hangyeol Yu and Xavier Rival and
                 Hongseok Yang},
  title = {On Correctness of Automatic Differentiation for
                 Non-Differentiable Functions},
  booktitle = {Advances in Neural Information Processing Systems 33
                 {(NeurIPS 2020)}},
  month = dec,
  year = {2020},
  url = {https://proceedings.neurips.cc/paper/2020/file/4aaa76178f8567e05c8e8295c96171d8-Paper.pdf}
}
@article{lee-yi-98,
  author = {Oukseh Lee and Kwangkeun Yi},
  title = {Proofs about a folklore let-polymorphic type inference
                 algorithm},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {20},
  number = {4},
  year = {1998},
  pages = {707--723},
  url = {http://doi.acm.org/10.1145/291891.291892}
}
@book{leermakers-93,
  author = {René Leermakers},
  title = {The functional treatment of parsing},
  publisher = {Kluwer},
  year = {1993},
  series = {The {Springer} International Series in Engineering and
                 Computer Science}
}
@inproceedings{lefessant-maranget-01,
  author = {Fabrice {Le Fessant} and Luc Maranget},
  title = {Optimizing Pattern Matching},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2001},
  url = {http://cambium.inria.fr/~maranget/papers/opt-pat.ps.gz}
}
@article{lehmann-77,
  author = {Daniel J. Lehmann},
  title = {Algebraic Structures for Transitive Closure},
  journal = {Theoretical Computer Science},
  volume = {4},
  number = {1},
  pages = {59--76},
  year = {1977},
  url = {https://doi.org/10.1016/0304-3975(77)90056-1}
}
@inproceedings{leijen-17,
  author = {Daan Leijen},
  title = {Type directed compilation of row-typed algebraic
                 effects},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {486--499},
  month = jan,
  year = {2017},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2016/08/algeff-tr-2016-1.pdf}
}
@techreport{leijen-18,
  author = {Daan Leijen},
  title = {Algebraic Effect Handlers with Resources and Deep
                 Finalization},
  institution = {Microsoft Research},
  month = apr,
  year = {2018},
  type = {Technical Report},
  number = {MSR-TR-2018-10},
  url = {https://www.microsoft.com/en-us/research/publication/algebraic-effect-handlers-resources-deep-finalization/}
}
@techreport{leijen-algebraic-effects-16,
  author = {Daan Leijen},
  title = {Algebraic Effects for Functional Programming},
  institution = {Microsoft Research},
  number = {MSR-TR-2016-29},
  year = {2016},
  month = aug,
  url = {https://www.microsoft.com/en-us/research/publication/algebraic-effects-for-functional-programming/}
}
@inproceedings{leijen-koka-14,
  author = {Daan Leijen},
  title = {Koka: Programming with Row Polymorphic Effect Types},
  booktitle = {Workshop on Mathematically Structured Functional
                 Programming (MSFP)},
  pages = {100--126},
  month = apr,
  year = {2014},
  volume = {153},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/paper-20.pdf}
}
@techreport{leijen-lorenzen-22,
  author = {Daan Leijen and Anton Lorenzen},
  title = {Tail Recursion Modulo Context -- An Equational
                 Approach},
  institution = {Microsoft Research},
  year = {2022},
  type = {Technical Report},
  number = {MSR-TR-2022-18},
  month = jul,
  url = {https://www.microsoft.com/en-us/research/publication/tail-recursion-modulo-context-an-equational-approach/}
}
@inproceedings{leijen-tyde-17,
  author = {Daan Leijen},
  title = {Structured asynchrony with algebraic effects},
  booktitle = {Type-Driven Development {(TyDe)}},
  pages = {16--29},
  month = sep,
  year = {2017},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2017/05/asynceffects-msr-tr-2017-21.pdf}
}
@article{leino-05,
  author = {K. Rustan M. Leino},
  title = {Efficient Weakest Preconditions},
  journal = {Information Processing Letters},
  year = {2005},
  volume = {93},
  number = {6},
  pages = {281--288},
  url = {http://research.microsoft.com/pubs/70052/tr-2004-34.pdf}
}
@inproceedings{leino-mueller-chalice-09,
  author = {K. Rustan M. Leino and Peter M{\"u}ller},
  title = {A Basis for Verifying Multi-threaded Programs},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2009},
  pages = {378--393},
  series = {Lecture Notes in Computer Science},
  volume = {5502},
  publisher = {Springer},
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml191.pdf}
}
@inproceedings{leino-mueller-smans-09,
  author = {K. Rustan M. Leino and Peter Müller and Jan Smans},
  title = {Verification of Concurrent Programs with {Chalice}},
  booktitle = {Foundations of Security Analysis and Design},
  year = {2009},
  pages = {195--222},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5705},
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml197.pdf}
}
@inproceedings{leino-mueller-smans-10,
  author = {K. Rustan M. Leino and Peter Müller and Jan Smans},
  title = {Deadlock-Free Channels and Locks},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2010},
  pages = {407--426},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6012},
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml200ext.pdf}
}
@article{leino-nelson-02,
  author = {K. Rustan M. Leino and Greg Nelson},
  title = {Data abstraction and information hiding},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {24},
  number = {5},
  year = {2002},
  pages = {491--553},
  url = {http://research.microsoft.com/~leino/papers/krml71.pdf}
}
@inproceedings{leino-schulte-07,
  author = {K. Rustan M. Leino and Wolfram Schulte},
  title = {Using History Invariants to Verify Observers},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2007},
  pages = {80--94},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {4421},
  url = {http://research.microsoft.com/en-us/um/people/leino/papers/krml166.pdf}
}
@inproceedings{leon-13,
  author = {Régis Blanc and Viktor Kuncak and Etienne Kneuss and
                 Philippe Suter},
  title = {An overview of the {Leon} verification system:
                 verification by translation to recursive functions},
  booktitle = {Workshop on Scala},
  pages = {1:1--1:10},
  month = jul,
  year = {2013},
  url = {http://lara.epfl.ch/~kuncak/papers/BlancETAL13VerificationTranslationRecursiveFunctions.pdf}
}
@article{leroy-00,
  author = {Xavier Leroy},
  title = {A modular module system},
  journal = {Journal of Functional Programming},
  volume = {10},
  number = {3},
  pages = {269--303},
  year = {2000},
  url = {https://caml.inria.fr/pub/papers/xleroy-modular_modules-jfp.pdf}
}
@article{leroy-09,
  author = {Xavier Leroy},
  title = {Formal verification of a realistic compiler},
  journal = {Communications of the {ACM}},
  volume = {52},
  number = {7},
  pages = {107--115},
  year = {2009},
  url = {https://doi.org/10.1145/1538788.1538814}
}
@inproceedings{leroy-12,
  author = {Xavier Leroy},
  title = {Mechanized Semantics for Compiler Verification},
  booktitle = {Certified Programs and Proofs (CPP)},
  series = {Lecture Notes in Computer Science},
  volume = {7679},
  pages = {4--6},
  publisher = {Springer},
  month = dec,
  year = {2012},
  url = {https://xavierleroy.org/publi/mechanized-semantics-aplas-cpp-2012.pdf}
}
@phdthesis{leroy-92,
  author = {Xavier Leroy},
  title = {Typage polymorphe d'un langage algorithmique},
  school = {Université Paris 7},
  month = jun,
  year = {1992},
  pages = {196},
  url = {http://cambium.inria.fr/~xleroy/publi/these-doctorat.pdf}
}
@inproceedings{leroy-compcert-06,
  author = {Xavier Leroy},
  title = {Formal certification of a compiler back-end or:
                 programming a compiler with a proof assistant},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2006},
  pages = {42--54},
  url = {http://cambium.inria.fr/~xleroy/publi/compiler-certif.pdf}
}
@article{leroy-grall-09,
  author = {Xavier Leroy and Hervé Grall},
  title = {Coinductive big-step operational semantics},
  journal = {Information and Computation},
  volume = {207},
  number = {2},
  pages = {284--304},
  year = {2009},
  url = {https://doi.org/10.1016/j.ic.2007.12.004}
}
@techreport{leroy-phd-92,
  author = {Xavier Leroy},
  title = {Polymorphic typing of an algorithmic language},
  institution = {INRIA},
  year = {1992},
  type = {Research Report},
  number = {1778},
  month = oct,
  url = {https://inria.hal.science/inria-00077018/document}
}
@mastersthesis{lescuyer-06,
  author = {Stéphane Lescuyer},
  title = {Codage de la logique du premier ordre polymorphe
                 multi-sortée dans la logique sans sortes},
  school = {Master Parisien de Recherche en Informatique},
  year = {2006},
  url = {http://www.seas.upenn.edu/~lescuyer/pdf/RapportDEA.pdf}
}
@article{lescuyer-11,
  author = {Stéphane Lescuyer},
  title = {First-Class Containers in {Coq}},
  journal = {Studia Informatica Universalis},
  volume = {9},
  number = {1},
  pages = {87--127},
  year = {2011},
  url = {http://studia.complexica.net/Art/RI090103.pdf}
}
@inproceedings{letan-al-18,
  author = {Thomas Letan and Yann Régis{-}Gianas and Pierre
                 Chifflier and Guillaume Hiet},
  title = {Modular Verification of Programs with Effects and
                 Effect Handlers in {Coq}},
  booktitle = {Formal Methods (FM)},
  pages = {338--354},
  month = jul,
  year = {2018},
  series = {Lecture Notes in Computer Science},
  volume = {10951},
  publisher = {Springer},
  url = {https://hal.inria.fr/hal-01799712}
}
@article{letan-al-21,
  author = {Thomas Letan and Yann Régis{-}Gianas and Pierre
                 Chifflier and Guillaume Hiet},
  title = {Modular verification of programs with effects and
                 effects handlers},
  journal = {Formal Aspects of Computing},
  volume = {33},
  number = {1},
  pages = {127--150},
  year = {2021},
  url = {https://doi.org/10.1007/s00165-020-00523-2}
}
@phdthesis{letouzey-04,
  author = {Pierre Letouzey},
  title = {Programmation fonctionnelle certifiée -- l'extraction
                 de programmes dans l'assistant {Coq}},
  school = {Université Paris 11},
  year = {2004},
  month = jul,
  url = {http://www.lri.fr/~letouzey/download/these_letouzey.ps.gz}
}
@inproceedings{levy-02,
  author = {Paul Blain Levy},
  title = {Possible World Semantics for General Storage in
                 Call-By-Value},
  booktitle = {Computer Science Logic},
  series = {Lecture Notes in Computer Science},
  volume = {2471},
  publisher = {Springer},
  year = {2002},
  url = {http://www.cs.bham.ac.uk/~pbl/papers/storagecbv.ps}
}
@inproceedings{lewis-al-00,
  author = {Jeffrey Lewis and Mark Shields and Erik Meijer and
                 John Launchbury},
  title = {Implicit Parameters: Dynamic Scoping with Static
                 Types},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2000},
  month = jan,
  pages = {108--118},
  url = {http://www.cse.ogi.edu/~mbs/pub/implicit_parameters/implicit.ps}
}
@inproceedings{ley-wild-nanevski-subjective-13,
  author = {Ruy Ley-Wild and Aleksandar Nanevski},
  title = {Subjective auxiliary state for coarse-grained
                 concurrency},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2013},
  pages = {561--574},
  url = {http://software.imdea.org/~aleks/papers/concur/scsl4.pdf}
}
@inproceedings{lgph-08,
  author = {Johan Jeuring and Sean Leather and José Pedro
                 Magalh{\~{a}}es and Alexey Rodriguez Yakushev},
  title = {Libraries for Generic Programming in {Haskell}},
  booktitle = {Advanced Functional Programming},
  pages = {165--229},
  month = may,
  year = {2008},
  series = {Lecture Notes in Computer Science},
  volume = {5832},
  publisher = {Springer},
  url = {http://dreixel.net/research/pdf/lgph.pdf}
}
@inproceedings{li-ogawa-10,
  author = {Xin Li and Mizuhito Ogawa},
  title = {Conditional weighted pushdown systems and
                 applications},
  booktitle = {Workshop on Evaluation and Semantics-Based Program
                 Manipulation ({PEPM})},
  pages = {141--150},
  month = jan,
  year = {2010},
  url = {http://www.jaist.ac.jp/~mizuhito/papers/conference/PEPM10.pdf}
}
@article{li-weirich-22,
  author = {Yao Li and Stephanie Weirich},
  title = {Program adverbs and {Tlön} embeddings},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {6},
  number = {{ICFP}},
  pages = {312--342},
  year = {2022},
  url = {https://doi.org/10.1145/3547632}
}
@article{li-xia-weirich-21,
  author = {Yao Li and Li{-}yao Xia and Stephanie Weirich},
  title = {Reasoning about the garden of forking paths},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {{ICFP}},
  pages = {1--28},
  year = {2021},
  url = {https://doi.org/10.1145/3473585}
}
@inproceedings{liang-hudak-jones-95,
  author = {Sheng Liang and Paul Hudak and Mark P. Jones},
  title = {Monad Transformers and Modular Interpreters},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {333--343},
  month = jan,
  year = {1995},
  url = {https://doi.org/10.1145/199448.199528}
}
@inproceedings{licata-harper-09,
  author = {Daniel R. Licata and Robert Harper},
  title = {A universe of binding and computation},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2009},
  pages = {123--134},
  url = {http://www.cs.cmu.edu/~drl/pubs/lh09unibind/lh09unibind.pdf}
}
@inproceedings{licata-zeilberger-harper-08,
  author = {Daniel R. Licata and Noam Zeilberger and Robert
                 Harper},
  title = {Focusing on Binding and Computation},
  booktitle = {Logic in Computer Science (LICS)},
  month = jun,
  year = {2008},
  pages = {241--252},
  url = {http://www.cs.cmu.edu/~rwh/papers/focusing/paper.pdf}
}
@techreport{licata-zeilberger-harper-08-tr,
  author = {Daniel R. Licata and Noam Zeilberger and Robert
                 Harper},
  title = {Focusing on Binding and Computation},
  institution = {Carnegie Mellon University},
  year = {2008},
  number = {CMU-CS-08-101},
  month = feb,
  url = {http://www.cs.cmu.edu/~noam/research/lzh08focbind-tr.pdf}
}
@inproceedings{lindley-mcbride-mclaughlin-17,
  author = {Sam Lindley and Conor McBride and Craig McLaughlin},
  title = {Do Be Do Be Do},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2017},
  month = jan,
  url = {http://homepages.inf.ed.ac.uk/slindley/papers/frankly.pdf}
}
@unpublished{linger-sheard-04,
  author = {Nathan Linger and Tim Sheard},
  title = {Programming with Static Invariants in {$\Omega$}mega},
  note = {Unpublished},
  month = sep,
  year = {2004},
  url = {http://www.cs.pdx.edu/~sheard/papers/ProgStaticInv.ps}
}
@unpublished{liquid-haskell,
  author = {Ranjit Jhala and Eric Seidel and Niki Vazou},
  title = {Programming with refinement types},
  note = {Unpublished},
  month = mar,
  year = {2017},
  url = {http://ucsd-progsys.github.io/liquidhaskell-tutorial/book.pdf}
}
@book{liskov-guttag-01,
  author = {Barbara Liskov and John V. Guttag},
  title = {Program Development in {Java} -- Abstraction,
                 Specification, and Object-Oriented Design},
  year = {2001},
  publisher = {Addison-Wesley},
  url = {http://dl.acm.org/citation.cfm?id=556707}
}
@article{liskov-snyder-79,
  author = {Barbara H. Liskov and Alan Snyder},
  title = {Exception Handling in {CLU}},
  journal = {IEEE Transactions on Software Engineering},
  volume = {5},
  number = {6},
  pages = {546--558},
  year = {1979},
  url = {https://www.cs.tufts.edu/~nr/cs257/archive/barbara-liskov/exceptions.pdf}
}
@article{liskov-wing-94,
  author = {Barbara Liskov and Jeannette M. Wing},
  title = {A Behavioral Notion of Subtyping},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {16},
  number = {6},
  year = {1994},
  pages = {1811--1841},
  url = {http://www.cs.cmu.edu/~wing/publications/LiskovWing94.pdf}
}
@inproceedings{liu-smolka-98,
  author = {Xinxin Liu and Scott A. Smolka},
  title = {Simple Linear-Time Algorithms for Minimal Fixed
                 Points},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  month = jul,
  year = {1998},
  pages = {53--66},
  series = {Lecture Notes in Computer Science},
  volume = {1443},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/BFb0055040}
}
@techreport{lngen-10,
  author = {Brian Aydemir and Stephanie Weirich},
  title = {{LNgen}: Tool Support for Locally Nameless
                 Representations},
  institution = {University of Pennsylvania Department of Computer and
                 Information Science},
  year = {2010},
  type = {Technical Report},
  number = {MS-CIS-10-24},
  month = jun,
  url = {http://repository.upenn.edu/cis_reports/933/}
}
@inproceedings{lo-chen-chen-20,
  author = {Fang{-}Yi Lo and Chao{-}Hong Chen and Ying{-}Ping
                 Chen},
  title = {Shrinking Counterexamples in Property-Based Testing
                 with Genetic Algorithms},
  booktitle = {{IEEE} Congress on Evolutionary Computation},
  pages = {1--8},
  month = jul,
  year = {2020},
  url = {http://vigir.missouri.edu/~gdesouza/Research/Conference_CDs/IEEE_WCCI_2020/CEC/Papers/E-24208.pdf}
}
@inproceedings{lochbihler-13,
  author = {Andreas Lochbihler},
  title = {Light-weight containers for {Isabelle}: efficient,
                 extensible, nestable},
  booktitle = {Interactive Theorem Proving (ITP)},
  pages = {116--132},
  month = jul,
  year = {2013},
  series = {Lecture Notes in Computer Science},
  volume = {7998},
  publisher = {Springer},
  url = {https://pp.ipd.kit.edu/uploads/publikationen/lochbihler13itp.pdf}
}
@inproceedings{lochbihler-jmm-12,
  author = {Andreas Lochbihler},
  title = {{Java} and the {Java} Memory Model -- A Unified,
                 Machine-Checked Formalisation},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {7211},
  pages = {497--517},
  publisher = {Springer},
  month = mar,
  year = {2012},
  url = {https://ethz.ch/content/dam/ethz/special-interest/infk/inst-infsec/information-security-group-dam/people/andreloc/lochbihler12esop.pdf}
}
@inproceedings{longley-99,
  author = {John Longley},
  title = {When is a Functional Program Not a Functional
                 Program?},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {1999},
  pages = {1--7},
  url = {http://doi.acm.org/10.1145/317636.317775}
}
@inproceedings{longley-pollack-04,
  author = {John Longley and Randy Pollack},
  title = {Reasoning About {CBV} Functional Programs in
                 {Isabelle/HOL}},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  month = sep,
  year = {2004},
  pages = {201--216},
  url = {http://homepages.inf.ed.ac.uk/rpollack/export/LongleyPollack04.pdf},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3223}
}
@article{lorenzen-et-al-23,
  author = {Anton Lorenzen and Daan Leijen and Wouter Swierstra},
  title = {{FP\textsuperscript{2}}: Fully in-Place Functional
                 Programming},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {{ICFP}},
  pages = {275--304},
  month = aug,
  year = {2023},
  url = {https://doi.org/10.1145/3607840}
}
@inproceedings{lucassen-gifford-88,
  author = {John M. Lucassen and David K. Gifford},
  title = {Polymorphic effect systems},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1988},
  pages = {47--57},
  url = {http://pag.lcs.mit.edu/reading-group/lucassen88effects.pdf}
}
@inproceedings{luckow-kersten-pasareanu-17,
  author = {Kasper S{\o}e Luckow and Rody Kersten and Corina S.
                 Pasareanu},
  title = {Symbolic Complexity Analysis Using Context-Preserving
                 Histories},
  booktitle = {Software Testing, Verification and Validation
                 {(ICST)}},
  pages = {58--68},
  month = mar,
  year = {2017},
  url = {https://doi.org/10.1109/ICST.2017.13}
}
@inproceedings{mackenzie-wolverson-03,
  author = {Kenneth MacKenzie and Nicholas Wolverson},
  title = {{Camelot} and {Grail}: resource-aware functional
                 programming for the {JVM}},
  booktitle = {Trends in Functional Programming (TFP)},
  pages = {29--46},
  month = sep,
  year = {2003},
  volume = {4},
  url = {http://groups.inf.ed.ac.uk/mrg/publications/mrg/camelot.ps}
}
@article{macqueen-plotkin-sethi-86,
  author = {David B. MacQueen and Gordon D. Plotkin and Ravi
                 Sethi},
  title = {An Ideal Model for Recursive Polymorphic Types},
  journal = {Information and Control},
  month = oct # {--} # nov,
  volume = {71},
  number = {1--2},
  year = {1986},
  pages = {95--130}
}
@phdthesis{mader-97,
  school = {Technische Universität München},
  author = {Angelika Mader},
  title = {Verification of Modal Properties Using {Boolean}
                 Equation Systems},
  year = {1997},
  url = {http://eprints.eemcs.utwente.nl/1078/02/diss.pdf}
}
@inproceedings{madhavan-kulal-kuncak-17,
  author = {Ravichandhran Madhavan and Sumith Kulal and Viktor
                 Kuncak},
  title = {Contract-based resource verification for higher-order
                 functions with memoization},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {330--343},
  month = jan,
  year = {2017},
  url = {https://doi.org/10.1145/3009837.3009874}
}
@article{madiot-pottier-22,
  author = {Jean-Marie Madiot and François Pottier},
  title = {A Separation Logic for Heap Space under Garbage
                 Collection},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {6},
  number = {POPL},
  month = jan,
  year = {2022},
  pages = {718--747},
  url = {http://cambium.inria.fr/~fpottier/publis/madiot-pottier-diamonds-2022.pdf}
}
@inproceedings{maeda-11,
  author = {Toshiyuki Maeda and Haruki Sato and Akinori Yonezawa},
  title = {Extended Alias Type System using Separating
                 Implication},
  booktitle = {Types in Language Design and Implementation (TLDI)},
  year = {2011},
  month = jan,
  pages = {29--42},
  url = {http://dx.doi.org/10.1145/1929553.1929559}
}
@inproceedings{maher-88,
  author = {Michael J. Maher},
  title = {Complete Axiomatizations of the Algebras of Finite,
                 Rational and Infinite Trees},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {348--357},
  year = {1988},
  month = jul
}
@article{maillard-al-19,
  author = {Kenji Maillard and Danel Ahman and Robert Atkey and
                 Guido Mart{\'{\i}}nez and Catalin Hritcu and Exequiel
                 Rivas and éric Tanter},
  title = {Dijkstra monads for all},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{ICFP}},
  pages = {104:1--104:29},
  year = {2019},
  url = {https://doi.org/10.1145/3341708}
}
@inproceedings{mairson-90,
  author = {Harry G. Mairson},
  title = {Deciding {ML} typability is complete for deterministic
                 exponential time},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1990},
  pages = {382--401},
  url = {http://doi.acm.org/10.1145/96709.96748}
}
@incollection{mairson-kanellakis-mitchell-91,
  author = {Harry G. Mairson and Paris C. Kanellakis and John C.
                 Mitchell},
  title = {Unification and {ML} type reconstruction},
  booktitle = {Computational Logic: Essays in Honor of Alan
                 Robinson},
  publisher = {MIT Press},
  year = {1991},
  editor = {J.-L. Lassez and G. Plotkin},
  pages = {444--478}
}
@inproceedings{malayeri-aldrich-06,
  author = {Donna Malayeri and Jonathan Aldrich},
  title = {Practical Exception Specifications},
  booktitle = {Advanced Topics in Exception Handling Techniques},
  series = {Lecture Notes in Computer Science},
  volume = {4119},
  pages = {200--220},
  publisher = {Springer},
  year = {2006},
  url = {https://www.cs.cmu.edu/~aldrich/papers/ecoop05exnjava.pdf}
}
@misc{malfunction,
  author = {Stephen Dolan},
  title = {Malfunction},
  howpublished = {Online repository},
  month = sep,
  year = {2022},
  url = {https://github.com/stedolan/malfunction}
}
@inproceedings{malfunction-16,
  author = {Stephen Dolan},
  title = {Malfunctional Programming},
  year = {2016},
  booktitle = {{ML} Family Workshop},
  month = sep,
  url = {https://stedolan.net/talks/2016/malfunction/malfunction.pdf}
}
@inproceedings{mansky-17,
  author = {William Mansky and Yuanfeng Peng and Steve Zdancewic
                 and Joseph Devietti},
  title = {Verifying dynamic race detection},
  booktitle = {Certified Programs and Proofs (CPP)},
  pages = {151--163},
  month = jan,
  year = {2017},
  url = {https://doi.org/10.1145/3018610.3018611}
}
@inproceedings{manzyuk-12,
  author = {Oleksandr Manzyuk},
  title = {A Simply Typed {\(\lambda\)}-Calculus of Forward
                 Automatic Differentiation},
  booktitle = {Mathematical Foundations of Programming Semantics},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {286},
  pages = {257--272},
  publisher = {Elsevier},
  month = jun,
  year = {2012},
  url = {https://doi.org/10.1016/j.entcs.2012.08.017}
}
@article{marche-krakatoa-04,
  author = {Claude Marché and Christine Paulin-Mohring and Xavier
                 Urbain},
  title = {The {Krakatoa} tool for certification of
                 {Java}/{JavaCard} programs annotated in {JML}},
  journal = {Journal of Logic and Algebraic Programming},
  year = {2004},
  volume = {58},
  number = {1--2},
  pages = {89--106},
  url = {http://www3.ensiie.fr/~urbain/textes/jlap.ps.gz}
}
@article{maric-09,
  author = {Filip Mari\'c},
  title = {Formalization and Implementation of Modern {SAT}
                 Solvers},
  journal = {Journal of Automated Reasoning},
  year = {2009},
  volume = {43},
  pages = {81--119},
  url = {http://poincare.matf.bg.ac.rs/~filip//phd/sat-tutorial.pdf}
}
@unpublished{maric-10,
  author = {Filip Mari\'c},
  title = {Formal Verification of a Modern {SAT} Solver},
  note = {Unpublished},
  month = jan,
  year = {2010},
  url = {http://poincare.matf.bg.ac.rs/~filip//phd/sat-verification-shallow.pdf}
}
@inproceedings{marlow-peyton-jones-singh-09,
  author = {Simon Marlow and Simon L. Peyton Jones and Satnam
                 Singh},
  title = {Runtime support for multicore {Haskell}},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {65--78},
  month = sep,
  year = {2009},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2009/09/multicore-ghc.pdf}
}
@inproceedings{marlow-wadler-erlang-97,
  title = {A Practical Subtyping System for {Erlang}},
  author = {Simon Marlow and Philip Wadler},
  pages = {136--149},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = jun,
  year = {1997}
}
@techreport{marriott-odersky-boolean-94,
  author = {Kim Marriott and Martin Odersky},
  title = {Negative {Boolean} Constraints},
  institution = {Monash University},
  year = {1994},
  number = {94/203},
  month = aug,
  url = {http://lampwww.epfl.ch/~odersky/papers/negative-tr.ps.gz}
}
@article{martelli-montanari-82,
  author = {Alberto Martelli and Ugo Montanari},
  title = {An Efficient Unification Algorithm},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {4},
  number = {2},
  pages = {258--282},
  month = apr,
  year = {1982},
  url = {http://doi.acm.org/10.1145/357162.357169}
}
@inproceedings{martinez-al-19,
  author = {Guido Mart{\'{\i}}nez and Danel Ahman and Victor
                 Dumitrescu and Nick Giannarakis and Chris Hawblitzel
                 and Catalin Hritcu and Monal Narasimhamurthy and Zoe
                 Paraskevopoulou and Clément Pit{-}Claudel and Jonathan
                 Protzenko and Tahina Ramananandro and Aseem Rastogi and
                 Nikhil Swamy},
  title = {Meta-{F}${}^\star$: Proof Automation with {SMT},
                 Tactics, and Metaprograms},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {30--59},
  month = apr,
  year = {2019},
  series = {Lecture Notes in Computer Science},
  volume = {11423},
  publisher = {Springer},
  url = {https://www.microsoft.com/en-us/research/uploads/prod/2019/01/2019esop.pdf}
}
@article{mateescu-sighireanu-03,
  author = {Radu Mateescu and Mihaela Sighireanu},
  title = {Efficient on-the-fly model-checking for regular
                 alternation-free mu-calculus},
  journal = {Science of Computer Programming},
  volume = {46},
  number = {3},
  year = {2003},
  pages = {255--281},
  url = {ftp://ftp.inrialpes.fr/pub/vasy/publications/cadp/Mateescu-Sighireanu-03.pdf}
}
@inproceedings{matsuda-wang-13,
  author = {Kazutaka Matsuda and Meng Wang},
  title = {{FliPpr}: A Prettier Invertible Printing System},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {7792},
  pages = {101--120},
  publisher = {Springer},
  month = mar,
  year = {2013},
  url = {https://publications.lib.chalmers.se/records/fulltext/174795/local_174795.pdf}
}
@inproceedings{mattern-88,
  author = {Friedemann Mattern},
  title = {Virtual time and global states of distributed
                 systems},
  booktitle = {International Workshop on Parallel and Distributed
                 Algorithms},
  year = {1988},
  month = oct,
  url = {https://www.vs.inf.ethz.ch/publ/papers/VirtTimeGlobStates.pdf}
}
@techreport{mauny-pottier-93,
  author = {Michel Mauny and François Pottier},
  title = {An implementation of {Caml Light} with existential
                 types},
  number = {2183},
  institution = {INRIA},
  year = {1993},
  url = {http://cambium.inria.fr/~fpottier/publis/rapport-maitrise.ps.gz}
}
@inproceedings{mazurak-10,
  author = {Karl Mazurak and Jianzhou Zhao and Steve Zdancewic},
  title = {Lightweight linear types in system ${F}^\circ$},
  booktitle = {Types in Language Design and Implementation (TLDI)},
  month = jan,
  year = {2010},
  pages = {77--88},
  url = {http://www.cis.upenn.edu/~stevez/papers/MZZ10.pdf}
}
@article{mazza-pagani-21,
  author = {Damiano Mazza and Michele Pagani},
  title = {Automatic differentiation in {PCF}},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {{POPL}},
  pages = {1--27},
  year = {2021},
  url = {https://doi.org/10.1145/3434309}
}
@inproceedings{mcadam-98,
  title = {{On the Unification of Substitutions in Type
                 Inference}},
  author = {Bruce J. McAdam},
  publisher = {Springer},
  booktitle = {Implementation of Functional Languages (IFL)},
  series = {Lecture Notes in Computer Science},
  volume = {1595},
  month = sep,
  year = {1998},
  pages = {139--154},
  url = {http://www.scms.rgu.ac.uk/staff/bjm/doc/IFL_98.ps}
}
@article{mcallester-02,
  author = {David McAllester},
  title = {On the Complexity Analysis of Static Analyses},
  year = {2002},
  pages = {512--537},
  journal = {Journal of the {ACM}},
  volume = {49},
  number = {4},
  month = jul,
  url = {http://doi.acm.org/10.1145/581771.581774}
}
@inproceedings{mcallester-03,
  author = {David McAllester},
  title = {A Logical Algorithm for {ML} Type Inference},
  booktitle = {Rewriting Techniques and Applications (RTA)},
  month = jun,
  year = {2003},
  pages = {436--451},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {2706},
  url = {http://ttic.uchicago.edu/~dmcallester/rta03.ps}
}
@phdthesis{mcbride-00,
  author = {Conor McBride},
  title = {Dependently typed functional programs and their
                 proofs},
  school = {University of Edinburgh},
  year = {2000},
  url = {https://hdl.handle.net/1842/374}
}
@inproceedings{mcbride-15,
  author = {Conor McBride},
  title = {Turing-Completeness Totally Free},
  booktitle = {Mathematics of Program Construction (MPC)},
  series = {Lecture Notes in Computer Science},
  volume = {9129},
  pages = {257--275},
  publisher = {Springer},
  month = jun,
  year = {2015},
  url = {https://strathprints.strath.ac.uk/60166/1/McBride_LNCS2015_Turing_completeness_totally_free.pdf}
}
@unpublished{mcbride-derivative,
  author = {Conor McBride},
  title = {The Derivative of a Regular Type is its Type of
                 One-Hole Contexts},
  note = {Unpublished},
  url = {http://strictlypositive.org/diff.pdf}
}
@inproceedings{mcbride-mckinna-04,
  author = {Conor McBride and James McKinna},
  title = {{I} am not a number: {I} am a free variable},
  booktitle = {Haskell workshop},
  year = {2004},
  month = sep,
  url = {http://www.cs.ru.nl/~james/RESEARCH/haskell2004.pdf}
}
@article{mcbride-paterson-08,
  author = {Conor McBride and Ross Paterson},
  title = {Applicative Programming with Effects},
  journal = {Journal of Functional Programming},
  year = {2008},
  volume = {18},
  number = {1},
  pages = {1--13},
  url = {http://www.soi.city.ac.uk/~ross/papers/Applicative.pdf}
}
@article{mcbride-unif-03,
  author = {Conor McBride},
  title = {First-order unification by structural recursion},
  journal = {Journal of Functional Programming},
  volume = {13},
  number = {6},
  year = {2003},
  pages = {1061--1075},
  url = {http://strictlypositive.org/unify.ps.gz}
}
@inproceedings{mccarthy-16,
  author = {Jay A. McCarthy and Burke Fetscher and Max S. New and
                 Daniel Feltey and Robert Bruce Findler},
  title = {A {Coq} Library for Internal Verification of
                 Running-Times},
  booktitle = {Functional and Logic Programming},
  pages = {144--162},
  month = mar,
  year = {2016},
  series = {Lecture Notes in Computer Science},
  volume = {9613},
  publisher = {Springer},
  url = {https://users.cs.northwestern.edu/~robby/publications/papers/flops2016-mfnff.pdf}
}
@inproceedings{mccreight-07,
  author = {Andrew McCreight and Zhong Shao and Chunxiao Lin and
                 Long Li},
  title = {A general framework for certifying garbage collectors
                 and their mutators},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {468--479},
  month = jun,
  year = {2007},
  url = {https://doi.org/10.1145/1250734.1250788}
}
@inproceedings{mccreight-10,
  author = {Andrew McCreight and Tim Chevalier and Andrew P.
                 Tolmach},
  title = {A certified framework for compiling and executing
                 garbage-collected languages},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {273--284},
  month = sep,
  year = {2010},
  url = {https://web.cecs.pdx.edu/~apt/icfp10.pdf}
}
@inproceedings{mckinna-pollack-93,
  author = {James McKinna and Randy Pollack},
  title = {Pure Type Systems Formalized},
  booktitle = {Typed Lambda Calculi and Applications (TLCA)},
  year = {1993},
  pages = {289--305},
  month = mar,
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  number = {664},
  url = {http://www.dcs.ed.ac.uk/home/rap/export/formalPTS.ps.gz}
}
@article{mckinna-pollack-99,
  author = {James McKinna and Randy Pollack},
  title = {Some Lambda Calculus and Type Theory Formalized},
  journal = {Journal of Automated Reasoning},
  year = {1999},
  volume = {23},
  number = {3--4},
  pages = {373--409}
}
@incollection{mclean-94,
  author = {John {McLean}},
  title = {Security Models},
  year = {1994},
  booktitle = {Encyclopedia of Software Engineering},
  editor = {John Marciniak},
  publisher = {John Wiley \& Sons},
  url = {http://chacs.nrl.navy.mil/publications/CHACS/1994/1994mclean-ency.ps}
}
@inproceedings{mclean-composition-94,
  author = {John {McLean}},
  title = {A General Theory of Composition for Trace Sets Closed
                 Under Selective Interleaving Functions},
  year = {1994},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  url = {http://chacs.nrl.navy.mil/publications/CHACS/1994/1994mclean-sp.ps}
}
@inproceedings{meadows-94,
  author = {Catherine Meadows},
  title = {Formal Verification of Cryptographic Protocols: {A}
                 Survey},
  booktitle = {Advances in Cryptology -- {ASIA\-CRYPT}'94},
  year = {1995},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {917},
  pages = {133--150},
  url = {http://chacs.nrl.navy.mil/publications/CHACS/1995/1995meadows-asiacrypt94.ps}
}
@inproceedings{mehnert-12,
  author = {Hannes Mehnert and Filip Sieczkowski and Lars Birkedal
                 and Peter Sestoft},
  title = {Formalized Verification of Snapshotable Trees:
                 Separation and Sharing},
  booktitle = {Verified Software: Theories, Tools and Experiments},
  series = {Lecture Notes in Computer Science},
  volume = {7152},
  pages = {179--195},
  publisher = {Springer},
  month = jan,
  year = {2012},
  url = {https://cs.au.dk/~birke/papers/snapshots-conf.pdf}
}
@article{mehta-nipkow-05,
  author = {Farhad Mehta and Tobias Nipkow},
  title = {Proving pointer programs in higher-order logic},
  journal = {Information and Computation},
  volume = {199},
  number = {1--2},
  year = {2005},
  pages = {200--227},
  url = {http://www4.informatik.tu-muenchen.de/~nipkow/pubs/ic05.ps.gz}
}
@article{melham-hol-93,
  author = {Thomas F. Melham},
  title = {The {HOL} Logic Extended with Quantification over Type
                 Variables},
  journal = {Formal Methods in System Design},
  year = {1993},
  volume = {3},
  number = {1--2},
  pages = {7--24},
  month = aug,
  url = {http://web.comlab.ox.ac.uk/oucl/work/tom.melham/pub/Melham-1994-HLE.pdf}
}
@article{melski-reps-00,
  author = {David Melski and Thomas Reps},
  title = {Interconvertibility of a class of set constraints and
                 context-free language reachability},
  journal = {Theoretical Computer Science},
  month = nov,
  year = {2000},
  volume = {248},
  number = {1--2},
  url = {http://www.cs.wisc.edu/wpis/papers/tcs_submission98r2.ps}
}
@inproceedings{memlock-20,
  author = {Cheng Wen and Haijun Wang and Yuekang Li and Shengchao
                 Qin and Yang Liu and Zhiwu Xu and Hongxu Chen and
                 Xiaofei Xie and Geguang Pu and Ting Liu},
  title = {{MemLock}: memory usage guided fuzzing},
  booktitle = {International Conference on Software Engineering
                 ({ICSE})},
  pages = {765--777},
  month = jun,
  year = {2020},
  url = {https://wcventure.github.io/pdf/ICSE2020_MemLock.pdf}
}
@misc{menhir,
  author = {François Pottier and Yann Régis-Gianas},
  title = {The {Menhir} parser generator},
  note = {\url{https://gitlab.inria.fr/fpottier/menhir/}},
  year = {2005--2023}
}
@article{merlin,
  author = {Frédéric Bour and Thomas Refis and Gabriel Scherer},
  title = {Merlin: a language server for {OCaml} (experience
                 report)},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {2},
  number = {{ICFP}},
  pages = {103:1--103:15},
  year = {2018},
  url = {https://doi.org/10.1145/3236798}
}
@manual{merr,
  title = {{Merr} User's Guide},
  author = {Clinton L. Jeffery},
  month = jul,
  year = {2002},
  url = {http://unicon.sourceforge.net/merr/merrguid.pdf}
}
@inproceedings{merz-00,
  author = {Stephan Merz},
  title = {Model Checking: {A} Tutorial Overview},
  booktitle = {Fourth Summer School on Modeling and Verification of
                 Parallel Processes},
  pages = {3--38},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2067},
  year = {2001},
  url = {http://www.loria.fr/~merz/papers/mc-tutorial.pdf}
}
@inproceedings{merz-08,
  author = {Stephan Merz},
  editor = {N. Navet and S. Merz},
  booktitle = {Modeling and Verification of Real-Time Systems:
                 Formalisms and Software Tools},
  title = {An Introduction to Model Checking},
  publisher = {ISTE Publishing},
  year = {2008},
  pages = {77--109},
  url = {http://www.loria.fr/~merz/papers/mc-iste2008.pdf}
}
@article{mevel-jourdan-21,
  author = {Glen Mével and Jacques-Henri Jourdan},
  title = {Formal verification of a concurrent bounded queue in a
                 weak memory model},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {{ICFP}},
  pages = {1--29},
  year = {2021},
  url = {https://doi.org/10.1145/3473571}
}
@inproceedings{mevel-jourdan-pottier-19,
  author = {Glen Mével and Jacques-Henri Jourdan and François
                 Pottier},
  title = {Time credits and time receipts in {Iris}},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {11423},
  month = apr,
  year = {2019},
  pages = {1--27},
  url = {http://cambium.inria.fr/~fpottier/publis/mevel-jourdan-pottier-time-in-iris-2019.pdf}
}
@article{mevel-jourdan-pottier-20,
  author = {Glen Mével and Jacques-Henri Jourdan and François
                 Pottier},
  title = {Cosmo: A Concurrent Separation Logic for {Multicore
                 OCaml}},
  month = jun,
  year = {2020},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {ICFP},
  url = {http://cambium.inria.fr/~fpottier/publis/mevel-jourdan-pottier-cosmo-2020.pdf}
}
@inproceedings{meyer-wand-85,
  author = {Albert R. Meyer and Mitchell Wand},
  title = {Continuation Semantics in Typed Lambda-Calculi},
  booktitle = {Logics of Programs},
  pages = {219--224},
  month = jun,
  year = {1985},
  series = {Lecture Notes in Computer Science},
  volume = {193},
  publisher = {Springer},
  url = {http://www.ccs.neu.edu/home/wand/papers/meyer-wand-85.ps}
}
@inproceedings{midtgaard-17,
  author = {Jan Midtgaard},
  title = {{QuickChecking} {Patricia} Trees},
  booktitle = {Trends in Functional Programming (TFP)},
  series = {Lecture Notes in Computer Science},
  volume = {10788},
  pages = {59--78},
  publisher = {Springer},
  year = {2017},
  url = {http://janmidtgaard.dk/papers/Midtgaard%3aTFP17.pdf}
}
@inproceedings{miller-00,
  author = {Dale Miller},
  title = {Abstract Syntax for Variable Binders: An Overview},
  booktitle = {Computational Logic},
  pages = {239--253},
  month = jul,
  year = {2000},
  series = {Lecture Notes in Computer Science},
  volume = {1861},
  publisher = {Springer},
  url = {http://www.lix.polytechnique.fr/~dale/papers/cl2000.pdf}
}
@inproceedings{miller-90,
  author = {Dale Miller},
  title = {An Extension to {ML} to Handle Bound Variables in Data
                 Structures},
  booktitle = {Logical Frameworks {BRA} Workshop},
  year = {1990},
  month = may,
  url = {http://www.lix.polytechnique.fr/Labo/Dale.Miller/papers/mll.pdf}
}
@article{miller-92,
  author = {Dale Miller},
  title = {Unification Under a Mixed Prefix},
  journal = {Journal of Symbolic Computation},
  volume = {14},
  number = {4},
  year = {1992},
  pages = {321--358},
  url = {http://www.lix.polytechnique.fr/~dale/papers/jsc92.pdf}
}
@article{miller-fredriksen-so-90,
  author = {Barton P. Miller and Lars Fredriksen and Bryan So},
  title = {An Empirical Study of the Reliability of {UNIX}
                 Utilities},
  journal = {Communications of the {ACM}},
  volume = {33},
  number = {12},
  pages = {32--44},
  year = {1990},
  url = {ftp://ftp.cs.wisc.edu/paradyn/technical_papers/fuzz.pdf}
}
@article{millstein-chambers-02,
  author = {Todd Millstein and Craig Chambers},
  title = {Modular statically typed multimethods},
  journal = {Information and Computation},
  year = {2002},
  volume = {175},
  number = {1},
  pages = {76--118},
  month = may,
  url = {http://www.cs.ucla.edu/~todd/research/iandc.ps}
}
@inproceedings{millstein-chambers-99,
  author = {Todd Millstein and Craig Chambers},
  title = {Modular statically typed multimethods},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  pages = {279--303},
  year = {1999},
  volume = {1628},
  series = {Lecture Notes in Computer Science},
  month = jun,
  publisher = {Springer},
  url = {http://www.cs.ucla.edu/~todd/research/ecoop99.ps}
}
@article{milner-78,
  title = {A Theory of Type Polymorphism in Programming},
  author = {Robin Milner},
  pages = {348--375},
  journal = {Journal of Computer and System Sciences},
  year = {1978},
  month = dec,
  volume = {17},
  number = {3},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.67.5276}
}
@techreport{milner-91,
  author = {Robin Milner},
  institution = {Laboratory for Foundations of Computer Science,
                 Department of Computer Science, University of
                 Edinburgh},
  month = oct,
  number = {{ECS--LFCS--91--180}},
  title = {The Polyadic $\pi$-Calculus: a Tutorial},
  year = {1991},
  url = {ftp://ftp.cl.cam.ac.uk/users/rm135/ppi.ps.Z}
}
@inproceedings{milner-lcf-72,
  author = {Robin Milner},
  title = {Implementation and applications of {Scott's} logic for
                 computable functions},
  booktitle = {Proceedings of the {ACM} conference on proving
                 assertions about programs},
  month = jan,
  year = {1972},
  pages = {1--6},
  url = {http://doi.acm.org/10.1145/800235.807067}
}
@techreport{milner-lcf-tr-72,
  author = {Robin Milner},
  title = {Logic for Computable Functions -- Description of a
                 Machine Implementation},
  institution = {Stanford University, Department of Computer Science},
  year = {1972},
  number = {CS-TR-72-288},
  month = may,
  url = {ftp://reports.stanford.edu/pub/cstr/reports/cs/tr/72/288/CS-TR-72-288.pdf}
}
@techreport{milner-lcf-tr-73,
  author = {Robin Milner},
  title = {Models of {LCF}},
  institution = {Stanford University, Department of Computer Science},
  year = {1973},
  number = {CS-TR-73-332},
  month = jan,
  url = {ftp://reports.stanford.edu/pub/cstr/reports/cs/tr/73/332/CS-TR-73-332.pdf}
}
@techreport{milner-parrow-walker-89b,
  author = {Robin Milner and Joachim Parrow and David Walker},
  title = {A Calculus of Mobile Processes, part 2},
  institution = {Laboratory for Foundations of Computer Science, School
                 of Informatics at the University of Edinburgh},
  year = {1989},
  number = {ECS-LFCS-89-86},
  url = {http://www.lfcs.inf.ed.ac.uk/reports/89/ECS-LFCS-89-86/ECS-LFCS-89-86.ps}
}
@inproceedings{milner-sangiorgi-92,
  title = {Barbed Bisimulation},
  author = {Robin Milner and Davide Sangiorgi},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  month = jul,
  year = {1992},
  series = {Lecture Notes in Computer Science},
  volume = {623},
  publisher = {Springer},
  pages = {685--695},
  url = {ftp://ftp-sop.inria.fr/meije/theorie-par/davides/bn.ps.gz}
}
@inproceedings{minamide-98,
  author = {Yasuhiko Minamide},
  title = {A functional representation of data structures with a
                 hole},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1998},
  pages = {75--84},
  url = {http://www.score.cs.tsukuba.ac.jp/~minamide/papers/hole.popl98.pdf}
}
@article{minamide-99,
  author = {Yasuhiko Minamide},
  title = {Space-Profiling Semantics of the Call-by-Value Lambda
                 Calculus and the {CPS} Transformation},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {26},
  pages = {105--120},
  year = {1999},
  url = {https://doi.org/10.1016/S1571-0661(05)80286-5}
}
@inproceedings{minamide-al-96,
  author = {Yasuhiko Minamide and Greg Morrisett and Robert
                 Harper},
  title = {Typed closure conversion},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1996},
  pages = {271--283},
  url = {https://www.cs.cmu.edu/~rwh/papers/closures/popl96.pdf}
}
@inproceedings{minamide-mori-12,
  author = {Yasuhiko Minamide and Shunsuke Mori},
  title = {Reachability Analysis of the {HTML5} Parser
                 Specification and Its Application to Compatibility
                 Testing},
  booktitle = {Formal Methods (FM)},
  series = {Lecture Notes in Computer Science},
  volume = {7436},
  pages = {293--307},
  publisher = {Springer},
  month = aug,
  year = {2012},
  url = {https://sv.c.titech.ac.jp/minamide/papers/minamide-FM2012.pdf}
}
@inproceedings{minamide-okuma-03,
  author = {Yasuhiko Minamide and Koji Okuma},
  title = {Verifying {CPS} transformations in {Isabelle/HOL}},
  booktitle = {ACM Workshop on Mechanized Reasoning about Languages
                 with Variable Binding},
  year = {2003},
  url = {http://doi.acm.org/10.1145/976571.976576}
}
@article{mitchell-05,
  author = {David G. Mitchell},
  title = {A {SAT} Solver Primer},
  journal = {Bulletin of the EATCS},
  volume = {85},
  month = feb,
  year = {2005},
  pages = {112--133},
  url = {http://www.cs.sfu.ca/~mitchell/papers/colLogCS85.pdf}
}
@inproceedings{mitchell-84,
  author = {John C. Mitchell},
  title = {Coercion and type inference},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {175--185},
  month = jan,
  year = {1984},
  url = {http://portal.acm.org/citation.cfm?id=800529&dl=ACM&coll=portal}
}
@inproceedings{mitchell-86,
  author = {John C. Mitchell},
  title = {Representation Independence and Data Abstraction},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1986},
  pages = {263--276},
  url = {http://dx.doi.org/10.1145/512644.512669}
}
@article{mitchell-88,
  author = {John C. Mitchell},
  title = {Polymorphic type inference and containment},
  journal = {Information and Computation},
  year = {1988},
  volume = {76},
  number = {2--3},
  pages = {211--249},
  url = {http://dx.doi.org/10.1016/0890-5401(88)90009-0}
}
@article{mitchell-91,
  author = {John C. Mitchell},
  title = {Type Inference with Simple Subtypes},
  journal = {Journal of Functional Programming},
  year = {1991},
  volume = {1},
  number = {3},
  month = jul,
  pages = {245--286}
}
@book{mitchell-96,
  author = {John C. Mitchell},
  title = {Foundations for Programming Languages},
  publisher = {MIT Press},
  year = {1996}
}
@article{mitchell-plotkin-88,
  author = {John C. Mitchell and Gordon D. Plotkin},
  title = {Abstract types have existential type},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {10},
  number = {3},
  year = {1988},
  pages = {470--502},
  url = {http://theory.stanford.edu/people/jcm/papers/mitch-plotkin-88.pdf}
}
@inproceedings{mitls-13,
  author = {Karthikeyan Bhargavan and Cédric Fournet and Markulf
                 Kohlweiss and Alfredo Pironti and Pierre{-}Yves Strub},
  title = {Implementing {TLS} with Verified Cryptographic
                 Security},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  pages = {445--459},
  month = may,
  year = {2013},
  url = {http://prosecco.gforge.inria.fr/personal/karthik/pubs/implementing-tls-with-verified-cryptographic-security-sp13.pdf}
}
@article{mizuno-schmidt-92,
  author = {Masaaki Mizuno and David A. Schmidt},
  journal = {Formal Aspects of Computing},
  title = {A Security Flow Control Algorithm and Its Denotational
                 Semantics Correctness Proof},
  year = {1992},
  volume = {4},
  number = {6A},
  pages = {727--754},
  url = {ftp://ftp.cis.ksu.edu/pub/CIS/Schmidt/papers/security.ps.Z}
}
@misc{mlton,
  author = {Henry Cejtin and Matthew Fluet and Suresh Jagannathan
                 and Stephen Weeks},
  title = {The {MLton} compiler},
  year = {2007},
  url = {http://mlton.org/}
}
@inproceedings{mogelberg-staton-10,
  author = {Rasmus Ejlers Møgelberg and Sam Staton},
  title = {Full abstraction in a metalanguage for state},
  booktitle = {Workshop on Syntax and Semantics of Low Level
                 Languages},
  year = {2010},
  month = jul
}
@inproceedings{moggi-89,
  author = {Eugenio Moggi},
  title = {Computational $\lambda$-Calculus and Monads},
  booktitle = {Logic in Computer Science (LICS)},
  year = {1989},
  month = jun,
  pages = {14--23},
  url = {http://www.disi.unige.it/person/MoggiE/ftp/lics89.ps.gz}
}
@techreport{moggi-89b,
  author = {Eugenio Moggi},
  title = {An abstract view of programming languages},
  institution = {University of Edinburgh},
  number = {ECS-LFCS-90-113},
  month = jun,
  year = {1989},
  url = {http://www.disi.unige.it/person/MoggiE/ftp/abs-view.ps.gz}
}
@article{moggi-91,
  author = {Eugenio Moggi},
  title = {Notions of computation and monads},
  journal = {Information and Computation},
  year = {1991},
  volume = {93},
  number = {1},
  url = {http://www.disi.unige.it/person/MoggiE/ftp/ic91.pdf}
}
@article{moggi-sabry-04,
  author = {Eugenio Moggi and Amr Sabry},
  title = {An Abstract Monadic Semantics for Value Recursion},
  journal = {Informatique théorique et applications},
  year = {2004},
  volume = {38},
  number = {4},
  pages = {377--400},
  url = {http://www.disi.unige.it/person/MoggiE/ftp/ita04.pdf}
}
@inproceedings{mohan-al-21,
  author = {Anshuman Mohan and Wei Xiang Leow and Aquinas Hobor},
  title = {Functional Correctness of {C} Implementations of
                 {Dijkstra}'s, {Kruskal}'s, and {Prim}'s Algorithms},
  booktitle = {Computer Aided Verification (CAV)},
  month = jul,
  series = {Lecture Notes in Computer Science},
  volume = {12760},
  pages = {801--826},
  publisher = {Springer},
  year = {2021},
  url = {https://www.cs.cornell.edu/~amohan/papers/dpk-as-published.pdf}
}
@article{moine-chargueraud-pottier-23,
  author = {Alexandre Moine and Arthur Charguéraud and François
                 Pottier},
  title = {A High-Level Separation Logic for Heap Space under
                 Garbage Collection},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {POPL},
  pages = {718--747},
  month = jan,
  year = {2023},
  url = {https://doi.org/10.1145/3571218}
}
@article{monadic-regions-06,
  author = {Matthew Fluet and Greg Morrisett},
  title = {Monadic Regions},
  journal = {Journal of Functional Programming},
  year = {2006},
  volume = {16},
  number = {4--5},
  pages = {485--545},
  url = {http://dx.doi.org/10.1017/S095679680600596X}
}
@inproceedings{monin-04,
  author = {Jean{-}Fran{\c{c}}ois Monin},
  title = {Proof Pearl: From Concrete to Functional Unparsing},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  volume = {3223},
  pages = {217--224},
  publisher = {Springer},
  month = sep,
  year = {2004},
  url = {https://doi.org/10.1007/978-3-540-30142-4_16}
}
@unpublished{monnier-08,
  author = {Stefan Monnier},
  title = {Statically tracking state with Typed Regions},
  note = {Unpublished},
  month = may,
  year = {2008},
  url = {http://www.iro.umontreal.ca/~monnier/tr.pdf}
}
@inproceedings{montagu-remy-09,
  author = {Beno{\^\i}t Montagu and Didier R{\'e}my},
  title = {Modeling Abstract Types in Modules with Open
                 Existential Types},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2009},
  url = {http://cambium.inria.fr/~remy/modules/Montagu-Remy@popl09:fzip.pdf},
  pages = {63--74}
}
@inproceedings{moran-sands-99,
  author = {Andrew Moran and David Sands},
  title = {Improvement in a Lazy Context: An Operational Theory
                 for Call-by-Need},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {43--56},
  month = jan,
  year = {1999},
  url = {http://www.cse.chalmers.se/~dave/papers/cbneed-theory.pdf}
}
@article{morrisett-al-07,
  title = {${L}^3$: {A} Linear Language with Locations},
  author = {Amal Ahmed and Matthew Fluet and Greg Morrisett},
  journal = {Fundamenta Informaticæ},
  year = {2007},
  number = {4},
  volume = {77},
  pages = {397--449},
  url = {http://ttic.uchicago.edu/~amal/papers/linloc-fi07.pdf}
}
@inproceedings{morrisett-felleisen-harper-95,
  author = {J. Gregory Morrisett and Matthias Felleisen and Robert
                 Harper},
  title = {Abstract Models of Memory Management},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  pages = {66--77},
  month = jun,
  year = {1995},
  url = {https://www.cs.cmu.edu/~rwh/papers/gc/fpca95.pdf}
}
@article{morrisett-ftal-99,
  author = {Greg Morrisett and David Walker and Karl Crary and
                 Neal Glew},
  title = {From System {F} to Typed Assembly Language},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {1999},
  volume = {21},
  number = {3},
  pages = {528--569},
  month = may,
  url = {http://www.cs.cornell.edu/talc/papers/tal-toplas.pdf}
}
@inproceedings{morrisett-rec-98,
  author = {Greg Morrisett and Robert Harper},
  title = {Typed Closure Conversion for Recursively-Defined
                 Functions (Extended Abstract)},
  booktitle = {Higher Order Operational Techniques in Semantics
                 (HOOTS)},
  year = {1998},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {10},
  publisher = {Elsevier},
  url = {http://www.cs.cornell.edu/home/jgm/papers/hootsclosure.ps}
}
@article{mosel-18,
  author = {Robbert Krebbers and Jacques{-}Henri Jourdan and Ralf
                 Jung and Joseph Tassarotti and Jan{-}Oliver Kaiser and
                 Amin Timany and Arthur Charguéraud and Derek Dreyer},
  title = {{MoSeL}: a general, extensible modal framework for
                 interactive proofs in separation logic},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {2},
  number = {{ICFP}},
  pages = {77:1--77:30},
  year = {2018},
  url = {https://doi.org/10.1145/3236772}
}
@inproceedings{moskewicz-chaff-01,
  author = {Matthew W. Moskewicz and Conor F. Madigan and Ying
                 Zhao and Lintao Zhang and Sharad Malik},
  title = {Chaff: Engineering an efficient {SAT} solver},
  booktitle = {Design Automation Conference (DAC)},
  year = {2001},
  month = jul,
  url = {http://research.microsoft.com/users/lintaoz/papers/dac_2001.pdf}
}
@article{mosses-04,
  author = {Peter D. Mosses},
  title = {Modular structural operational semantics},
  journal = {Journal of Logic and Algebraic Programming},
  volume = {60--61},
  year = {2004},
  pages = {195--228},
  url = {http://www.brics.dk/RS/05/7/BRICS-RS-05-7.pdf}
}
@inproceedings{mudduluru-ramanathan-16,
  author = {Rashmi Mudduluru and Murali Krishna Ramanathan},
  title = {Efficient Flow Profiling for Detecting Performance
                 Bugs},
  booktitle = {International Symposium on Software Testing and
                 Analysis (ISSTA)},
  year = {2016},
  pages = {413--424},
  url = {https://drona.csa.iisc.ac.in/~sss/tools/object_flow_profiler/paper.pdf}
}
@inproceedings{mueller-94,
  author = {Martin M{\"u}ller},
  title = {A Constraint-Based Recast of {ML}-Polymorphism},
  booktitle = {International Workshop on Unification},
  year = {1994},
  month = jun,
  note = {Technical Report 94-R-243, CRIN, Nancy, France},
  url = {http://www.ps.uni-sb.de/Papers/abstracts/UNIF94.ps}
}
@unpublished{mueller-98,
  author = {Martin M{\"u}ller},
  title = {Notes on {HM}$({X})$},
  month = aug,
  year = {1998},
  url = {http://www.ps.uni-sb.de/~mmueller/papers/HMX.ps.gz},
  note = {Unpublished}
}
@article{mueller-feature-01,
  title = {The First-Order Theory of Ordering Constraints over
                 Feature Trees},
  year = {2001},
  author = {Martin M{\"u}ller and Joachim Niehren and Ralf
                 Treinen},
  journal = {Discrete Mathematics and Theoretical Computer
                 Science},
  pages = {193--234},
  number = {2},
  volume = {4},
  url = {http://www.ps.uni-sb.de/Papers/abstracts/FTSubTheory-Long:99.ps}
}
@article{mueller-holcf-99,
  author = {Olaf Müller and Tobias Nipkow and David von Oheimb
                 and Oskar Slotosch},
  title = {{HOLCF = HOL + LCF}},
  journal = {Journal of Functional Programming},
  volume = {9},
  pages = {191--223},
  year = {1999},
  url = {http://www4.informatik.tu-muenchen.de/~nipkow/pubs/jfp99.ps.gz}
}
@article{mueller-niehren-podelski-feature-99,
  author = {Martin Müller and Joachim Niehren and Andreas
                 Podelski},
  journal = {Constraints, an International Journal},
  volume = {5},
  number = {1--2},
  title = {Ordering Constraints over Feature Trees},
  mon = jan,
  year = {2000},
  pages = {7--42},
  url = {ftp://ftp.ps.uni-sb.de/pub/papers/ProgrammingSysLab/ftsub-constraints-99.ps.gz}
}
@inproceedings{mueller-niehren-podelski-ines-97,
  author = {Joachim Niehren and Martin M{\"u}ller and Andreas
                 Podelski},
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  month = apr,
  title = {Inclusion Constraints over Non-Empty Sets of Trees},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {1214},
  year = {1997},
  pages = {217--231},
  url = {http://www.ps.uni-sb.de/Papers/abstracts/ines97.ps}
}
@article{mueller-nishimura-00,
  author = {Martin M{\"u}ller and Susumu Nishimura},
  title = {Type Inference for First-Class Messages with Feature
                 Constraints},
  journal = {International Journal of Foundations of Computer
                 Science},
  year = {2000},
  volume = {11},
  number = {1},
  pages = {29--63}
}
@inproceedings{mueller-nishimura-98,
  author = {Martin M{\"u}ller and Susumu Nishimura},
  title = {Type Inference for First-Class Messages with Feature
                 Constraints},
  booktitle = {Asian Computer Science Conference ({ASIAN})},
  pages = {169--187},
  year = {1998},
  volume = {1538},
  series = {Lecture Notes in Computer Science},
  month = dec,
  publisher = {Springer},
  url = {http://www.ps.uni-sb.de/Papers/abstracts/FirstClass98.ps}
}
@techreport{mueller-poetzsch-heffter-01,
  author = {Peter M{\"u}ller and Arnd Poetzsch-Heffter},
  title = {Universes: {A} Type System for Alias and Dependency
                 Control},
  year = {2001},
  institution = {Fernuniversit{\"a}t Hagen},
  number = {279},
  url = {http://people.inf.ethz.ch/lehnerh/pm/publications/getpdf.php?bibname=Own&id=MuellerPoetzsch-Heffter01a.pdf}
}
@inproceedings{mueller-rudich-07,
  author = {Peter M{\"u}ller and Arsenii Rudich},
  title = {Ownership transfer in universe types},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2007},
  pages = {461--478},
  url = {http://dx.doi.org/10.1145/1297027.1297061}
}
@inproceedings{mueller-schwerhoff-summers-16,
  author = {Peter M{\"{u}}ller and Malte Schwerhoff and Alexander
                 J. Summers},
  title = {Automatic Verification of Iterated Separating
                 Conjunctions Using Symbolic Execution},
  booktitle = {Computer Aided Verification (CAV)},
  pages = {405--425},
  month = jul,
  year = {2016},
  volume = {9779},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  url = {https://arxiv.org/abs/1603.00649}
}
@incollection{mueller-shankar-vsi-21,
  author = {Peter M{\"{u}}ller and Natarajan Shankar},
  editor = {Cliff B. Jones and Jayadev Misra},
  title = {The First Fifteen Years of the Verified Software
                 Project},
  booktitle = {Theories of Programming: The Life and Works of {Tony
                 Hoare}},
  pages = {93--124},
  publisher = {{ACM} / Morgan {\&} Claypool},
  year = {2021},
  url = {https://doi.org/10.1145/3477355.3477362}
}
@inproceedings{muller-rpc-98,
  title = {Fast, optimized {Sun} {RPC} using automatic program
                 specialization},
  author = {Gilles Muller and Renaud Marlet and Eugen-Nicolae
                 Volanschi and Charles Consel and Calton Pu and Ashvin
                 Goel},
  booktitle = {International Conference on Distributed Computing
                 Systems (CDCS)},
  pages = {240--249},
  year = {1998},
  month = may,
  url = {http://www.cc.gatech.edu/~calton/publications/dcs-98.pdf}
}
@techreport{muthukumar-hermenegildo-90,
  author = {K. Muthukumar and M. V. Hermenegildo},
  title = {Deriving {A} Fixpoint Computation Algorithm for
                 Top-down Abstract Interpretation of Logic Programs},
  institution = {Microelectronics and Computer Technology Corporation},
  year = {1990},
  type = {Technical Report},
  number = {ACT-DC-153-90},
  month = apr,
  url = {http://oa.upm.es/15292/1/HERME_TCREP_ANDMANS_1990-1.pdf}
}
@inproceedings{mycroft-84,
  author = {Alan Mycroft},
  title = {Polymorphic Type Schemes and Recursive Definitions},
  booktitle = {International Symposium on Programming},
  month = apr,
  series = {Lecture Notes in Computer Science},
  volume = {167},
  pages = {217--228},
  year = {1984},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-12925-1_41}
}
@phdthesis{myers-99,
  author = {Andrew C. Myers},
  title = {Mostly-Static Decentralized Information Flow Control},
  school = {Massachusetts Institute of Technology},
  year = {1999},
  month = jan,
  pages = {171},
  note = {Technical Report MIT/LCS/TR-783},
  url = {http://www.cs.cornell.edu/andru/release/tr783.ps.gz}
}
@article{myers-liskov-00,
  author = {Andrew C. Myers and Barbara Liskov},
  title = {Protecting Privacy using the Decentralized Label
                 Model},
  journal = {ACM Transactions on Software Engineering and
                 Methodology},
  volume = {9},
  number = {4},
  month = oct,
  year = {2000},
  pages = {410--442},
  url = {http://www.cs.cornell.edu/andru/papers/iflow-tosem.ps.gz}
}
@article{myers-liskov-97,
  author = {Andrew C. Myers and Barbara Liskov},
  title = {A Decentralized Model for Information Flow Control},
  year = {1997},
  month = oct,
  number = {5},
  volume = {31},
  pages = {129--142},
  journal = {{ACM} Operating Systems Review},
  url = {http://www.cs.cornell.edu/andru/papers/iflow-sosp97/paper.html}
}
@inproceedings{myers-liskov-98,
  author = {Andrew C. Myers and Barbara Liskov},
  title = {Complete, Safe Information Flow with Decentralized
                 Labels},
  year = {1998},
  month = may,
  pages = {186--197},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  url = {http://www.cs.cornell.edu/andru/papers/sp98/top.html}
}
@inproceedings{myers-popl-99,
  author = {Andrew C. Myers},
  title = {{JFlow}: practical mostly-static information flow
                 control},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1999},
  month = jan,
  pages = {228--241},
  url = {http://www.cs.cornell.edu/andru/papers/popl99/myers-popl99.ps.gz}
}
@article{myers-sabelfeld-03,
  author = {Andrew C. Myers and Andrei Sabelfeld},
  title = {Language-Based Information-Flow Security},
  journal = {IEEE Journal on Selected Areas in Communications},
  year = {2003},
  volume = {21},
  number = {1},
  pages = {5--19},
  month = jan,
  url = {http://www.cs.cornell.edu/andru/papers/jsac/sm-jsac03.pdf}
}
@inproceedings{nadathur-miller-88,
  author = {Gopalan Nadathur and Dale Miller},
  title = {An Overview of Lambda-Prolog},
  booktitle = {Logic Programming},
  pages = {810--827},
  month = aug,
  year = {1988},
  url = {http://repository.upenn.edu/cis_reports/595/}
}
@inproceedings{nadathur-qi-03,
  author = {Gopalan Nadathur and Xiaochu Qi},
  title = {Explicit Substitutions in the Reduction of Lambda
                 Terms},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  pages = {195--206},
  year = {2003},
  month = aug,
  url = {http://www-users.cs.umn.edu/~gopalan/papers/reduction.ps},
  alturl = {http://doi.acm.org/10.1145/888270}
}
@book{naftalin-wadler-06,
  author = {Maurice Naftalin and Philip Wadler},
  title = {{Java} generics and collections},
  publisher = {O'Reilly},
  year = {2006},
  url = {http://shop.oreilly.com/product/9780596527754.do}
}
@inproceedings{nakano-00,
  author = {Hiroshi Nakano},
  title = {A Modality for Recursion},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {255--266},
  year = {2000},
  month = jun,
  url = {http://www602.math.ryukoku.ac.jp/~nakano/papers/modality-lics00.ps.gz}
}
@inproceedings{nakano-01,
  author = {Hiroshi Nakano},
  title = {Fixed-point Logic with the Approximation Modality and
                 Its {Kripke} Completeness},
  booktitle = {International Symposium on Theoretical Aspects of
                 Computer Software (TACS)},
  pages = {165--182},
  year = {2001},
  volume = {2215},
  series = {Lecture Notes in Computer Science},
  month = oct,
  publisher = {Springer},
  url = {http://www602.math.ryukoku.ac.jp/~nakano/papers/modality-tacs01.pdf}
}
@techreport{nanevski-02,
  author = {Aleksandar Nanevski},
  title = {Meta-Programming with Names and Necessity},
  institution = {School of Computer Science, Carnegie Mellon
                 University},
  year = {2002},
  number = {CMU-CS-02-123R},
  month = nov,
  url = {http://reports-archive.adm.cs.cmu.edu/anon/2002/CMU-CS-02-123R.pdf}
}
@inproceedings{nanevski-htt-06,
  author = {Aleksandar Nanevski and Greg Morrisett and Lars
                 Birkedal},
  title = {Polymorphism and Separation in {Hoare} Type Theory},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {62--73},
  year = {2006},
  month = sep,
  url = {https://doi.org/10.1145/1160074.1159812}
}
@inproceedings{nanevski-htt-07,
  author = {Aleksandar Nanevski and Amal Ahmed and Greg Morrisett
                 and Lars Birkedal},
  title = {Abstract Predicates and Mutable {ADTs} in {Hoare} Type
                 Theory},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2007},
  series = {Lecture Notes in Computer Science},
  volume = {4421},
  pages = {189--204},
  month = mar,
  publisher = {Springer},
  url = {http://ynot.cs.harvard.edu/papers/esop07.pdf}
}
@article{nanevski-htt-08,
  author = {Aleksandar Nanevski and Greg Morrisett and Lars
                 Birkedal},
  title = {{Hoare} Type Theory, Polymorphism and Separation},
  journal = {Journal of Functional Programming},
  year = {2008},
  volume = {18},
  number = {5--6},
  pages = {865--911},
  url = {http://ynot.cs.harvard.edu/papers/jfpsep07.pdf}
}
@inproceedings{nanevski-structuring-10,
  author = {Aleksandar Nanevski and Viktor Vafeiadis and Josh
                 Berdine},
  title = {Structuring the verification of heap-manipulating
                 programs},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2010},
  pages = {261--274},
  url = {http://software.imdea.org/~aleks/papers/reflect/reflect.pdf}
}
@inproceedings{nanevski-ynot-08,
  author = {Aleksandar Nanevski and Greg Morrisett and Avraham
                 Shinnar and Paul Govereau and Lars Birkedal},
  title = {Ynot: dependent types for imperative programs},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2008},
  pages = {229--240},
  url = {http://software.imdea.org/~aleks/htt/ynot08.pdf}
}
@article{naraschewski-nipkow-99,
  author = {Wolfgang Naraschewski and Tobias Nipkow},
  title = {Type Inference Verified: Algorithm {W} in
                 {Isabelle/HOL}},
  journal = {Journal of Automated Reasoning},
  year = {1999},
  volume = {23},
  pages = {299--318},
  url = {http://www4.informatik.tu-muenchen.de/~nipkow/pubs/W.ps.gz}
}
@book{naumann-12,
  author = {Uwe Naumann},
  title = {The Art of Differentiating Computer Programs -- An
                 Introduction to Algorithmic Differentiation},
  series = {Software, environments, tools},
  volume = {24},
  publisher = {{SIAM}},
  year = {2012},
  url = {https://doi.org/10.1137/1.9781611972078}
}
@article{naumann-survey-07,
  author = {David A. Naumann},
  title = {On assertion-based encapsulation for object invariants
                 and simulations},
  journal = {Formal Aspects of Computing},
  volume = {19},
  number = {2},
  year = {2007},
  pages = {205--224},
  publisher = {Springer},
  url = {https://guinness.cs.stevens-tech.edu/~naumann/publications/fmcoFinal.pdf}
}
@inproceedings{navarro-perez-rybalchenko-11,
  author = {Juan Antonio {Navarro P{\'e}rez} and Andrey
                 Rybalchenko},
  title = {Separation logic + superposition calculus = heap
                 theorem prover},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  month = jun,
  year = {2011},
  pages = {556--566},
  url = {http://www7.informatik.tu-muenchen.de/um/bibdb/navarro/pldi2011.pdf}
}
@inproceedings{nazareth-nipkow-96,
  author = {Dieter Nazareth and Tobias Nipkow},
  title = {Formal Verification of Algorithm {W}: The Monomorphic
                 Case},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  series = {Lecture Notes in Computer Science},
  volume = {1125},
  pages = {331--345},
  publisher = {Springer},
  month = aug,
  year = {1996},
  url = {https://www21.in.tum.de/~nipkow/pubs/tphol96.html}
}
@inproceedings{needle-knot-16,
  author = {Steven Keuchel and Stephanie Weirich and Tom
                 Schrijvers},
  title = {Needle {\&} Knot: Binder Boilerplate Tied Up},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {419--445},
  month = apr,
  year = {2016},
  series = {Lecture Notes in Computer Science},
  volume = {9632},
  publisher = {Springer},
  url = {https://users.ugent.be/~skeuchel/publications/knot.pdf}
}
@inproceedings{neron-tolmach-visser-wachsmuth-15,
  author = {Pierre Neron and Andrew P. Tolmach and Eelco Visser
                 and Guido Wachsmuth},
  title = {A Theory of name resolution},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {205--231},
  month = apr,
  year = {2015},
  series = {Lecture Notes in Computer Science},
  volume = {9032},
  publisher = {Springer},
  url = {http://web.cecs.pdx.edu/~apt/esop15.pdf}
}
@inproceedings{neumann-12,
  author = {René Neumann},
  booktitle = {{ATx/WInG}: Joint Proceedings of the Workshops on
                 Automated Theory eXploration and on Invariant
                 Generation},
  pages = {36--45},
  title = {A Framework for Verified Depth-First Algorithms},
  publisher = {EasyChair},
  series = {EPiC Series},
  volume = {17},
  month = jun,
  year = {2012},
  url = {http://www.easychair.org/publications/?page=722211206}
}
@inproceedings{nguyen-07,
  author = {Huu Hai Nguyen and Cristina David and Shengchao Qin
                 and Wei-Ngan Chin},
  title = {Automated Verification of Shape and Size Properties
                 Via Separation Logic},
  booktitle = {Verification, Model Checking and Abstract
                 Interpretation (VMCAI)},
  month = jan,
  year = {2007},
  pages = {251--266},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {4349},
  url = {https://dro.dur.ac.uk/6213/}
}
@inproceedings{nguyen-kuncak-chin-08,
  author = {Huu Hai Nguyen and Viktor Kuncak and Wei-Ngan Chin},
  title = {Runtime Checking for Separation Logic},
  booktitle = {Verification, Model Checking and Abstract
                 Interpretation (VMCAI)},
  series = {Lecture Notes in Computer Science},
  volume = {4905},
  pages = {203--217},
  publisher = {Springer},
  month = jan,
  year = {2008},
  url = {https://lara.epfl.ch/~kuncak/papers/NguyenETAL08RuntimeCheckingSeparationLogic.pdf}
}
@inproceedings{nguyen-van-horn-15,
  author = {Phuc C. Nguyen and David Van Horn},
  title = {Relatively complete counterexamples for higher-order
                 programs},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {446--456},
  month = jun,
  year = {2015},
  url = {https://arxiv.org/abs/1411.3967}
}
@inproceedings{nicklisch-peyton-jones-96,
  author = {Jan Nicklisch and Simon {Peyton Jones}},
  title = {An exploration of modular programs},
  booktitle = {Functional Programming Workshop},
  month = jul,
  year = {1996},
  url = {http://www.dcs.gla.ac.uk/fp/workshops/fpw96/Nicklisch.ps.gz}
}
@inproceedings{niehren-priesnitz-01,
  author = {Joachim Niehren and Tim Priesnitz},
  title = {Non-Structural Subtype Entailment in Automata Theory},
  booktitle = {International Symposium on Theoretical Aspects of
                 Computer Software (TACS)},
  publisher = {Springer},
  month = oct,
  year = {2001},
  url = {ftp://ftp.ps.uni-sb.de/pub/papers/ProgrammingSysLab/pauto.ps.gz}
}
@article{niehren-priesnitz-03,
  author = {Joachim Niehren and Tim Priesnitz},
  title = {Non-Structural Subtype Entailment in Automata Theory},
  journal = {Information and Computation},
  year = {2003},
  volume = {186},
  number = {2},
  pages = {319--354},
  url = {http://www.ps.uni-sb.de/Papers/abstracts/subtype.pdf}
}
@techreport{nielsen-00,
  author = {Lasse R. Nielsen},
  title = {A denotational investigation of defunctionalization},
  month = dec,
  year = {2000},
  institution = {BRICS},
  number = {RS-00-47},
  url = {http://www.brics.dk/RS/00/47/}
}
@article{nielsen-01,
  author = {Lasse R. Nielsen},
  title = {A Selective {CPS} Transformation},
  month = nov,
  year = {2001},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {45},
  pages = {311--331},
  url = {https://www.sciencedirect.com/science/article/pii/S1571066104809691}
}
@article{nielson-02,
  author = {Flemming Nielson and Hanne Riis Nielson and Helmut
                 Seidl},
  title = {A Succinct Solver for {ALFP}},
  journal = {Nordic Journal of Computing},
  year = {2002},
  volume = {9},
  number = {4},
  pages = {335--372},
  url = {http://www.informatik.uni-trier.de/~seidl/papers/succinct.pdf}
}
@article{nielson-88,
  author = {Flemming Nielson and Hanne Riis Nielson},
  title = {Two-Level Semantics and Code Generation},
  year = {1988},
  pages = {59--133},
  journal = {Theoretical Computer Science},
  volume = {56},
  number = {1},
  month = jan,
  url = {http://dx.doi.org/10.1016/0304-3975(86)90006-X}
}
@inproceedings{nienaltowski-08,
  author = {Marie{-}Hél{\`{e}}ne Nienaltowski and Michela Pedroni
                 and Bertrand Meyer},
  title = {Compiler error messages: what can help novices?},
  booktitle = {Technical Symposium on Computer Science Education},
  pages = {168--172},
  month = mar,
  year = {2008},
  url = {http://se.inf.ethz.ch/~meyer/publications/teaching/compiler-errors.pdf}
}
@article{nieuwenhuis-oliveras-tinelli-06,
  author = {Robert Nieuwenhuis and Albert Oliveras and Cesare
                 Tinelli},
  title = {Solving {SAT} and {SAT Modulo Theories}: From an
                 abstract {Davis--Putnam--Logemann--Loveland} procedure
                 to {DPLL(T)}},
  journal = {Journal of the {ACM}},
  volume = {53},
  number = {6},
  year = {2006},
  pages = {937--977},
  url = {ftp://ftp.cs.uiowa.edu/pub/tinelli/papers/NieOT-JACM-06.pdf}
}
@inproceedings{nigron-dagand-21,
  author = {Pierre Nigron and Pierre{-}évariste Dagand},
  title = {Reaching for the Star: Tale of a Monad in {Coq}},
  booktitle = {Interactive Theorem Proving (ITP)},
  series = {{Leibniz} International Proceedings in Informatics},
  volume = {193},
  pages = {29:1--29:19},
  publisher = {Schloss Dagstuhl - Leibniz-Zentrum f{\"{u}}r
                 Informatik},
  month = jun,
  year = {2021},
  url = {https://doi.org/10.4230/LIPIcs.ITP.2021.29}
}
@inproceedings{nipkow-15,
  author = {Tobias Nipkow},
  title = {Amortized Complexity Verified},
  month = aug,
  year = {2015},
  booktitle = {Interactive Theorem Proving (ITP)},
  pages = {310--324},
  volume = {9236},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www21.in.tum.de/~nipkow/pubs/itp15.pdf}
}
@inproceedings{nipkow-al-20,
  author = {Tobias Nipkow and Manuel Eberl and Maximilian P. L.
                 Haslbeck},
  title = {Verified Textbook Algorithms: a Biased Survey},
  booktitle = {Automated Technology for Verification and Analysis
                 {(ATVA)}},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {12302},
  pages = {25--53},
  year = {2020},
  url = {https://www21.in.tum.de/~nipkow/pubs/atva20.pdf}
}
@article{nipkow-brinkop-19,
  author = {Tobias Nipkow and Hauke Brinkop},
  title = {Amortized Complexity Verified},
  journal = {Journal of Automated Reasoning},
  volume = {62},
  number = {3},
  pages = {367--391},
  year = {2019},
  url = {https://www21.in.tum.de/~nipkow/pubs/jar18.pdf}
}
@book{nipkow-functional,
  title = {Functional Algorithms, Verified!},
  author = {Tobias Nipkow and Jasmin Blanchette and Manuel Eberl
                 and Alejandro Gómez-Londoño and Peter Lammich and
                 Christian Sternagel and Simon Wimmer and Bohua Zhan},
  url = {https://functional-algorithms-verified.org},
  year = {2021}
}
@inproceedings{nishimura-98,
  title = {Static Typing for Dynamic Messages},
  author = {Susumu Nishimura},
  pages = {266--278},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1998},
  url = {ftp://ftp.kurims.kyoto-u.ac.jp/pub/paper/member/nisimura/dmesg-popl98.ps.gz}
}
@inproceedings{niu-hoffmann-18,
  author = {Yue Niu and Jan Hoffmann},
  title = {Automatic Space Bound Analysis for Functional Programs
                 with Garbage Collection},
  booktitle = {Logic for Programming Artificial Intelligence and
                 Reasoning (LPAR)},
  series = {EPiC Series in Computing},
  volume = {57},
  pages = {543--563},
  month = nov,
  year = {2018},
  url = {https://easychair.org/publications/paper/dcnD}
}
@inproceedings{noizet-schmitt-22,
  author = {Louis Noizet and Alan Schmitt},
  title = {Semantics in {Skel} and {Necro}},
  booktitle = {Italian Conference on Theoretical Computer Science
                 {(ICTCS)}},
  series = {{CEUR} Workshop Proceedings},
  volume = {3284},
  pages = {99--115},
  month = sep,
  year = {2022},
  url = {https://ceur-ws.org/Vol-3284/8939.pdf}
}
@inproceedings{ntzik-gardner-15,
  author = {Gian Ntzik and Philippa Gardner},
  title = {Reasoning about the {POSIX} file system: local update
                 and global pathnames},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {201--220},
  month = oct,
  year = {2015},
  url = {https://www.doc.ic.ac.uk/~pg/papers/oopsla2015.pdf}
}
@manual{objective-caml,
  author = {Xavier Leroy and Damien Doligez and Jacques Garrigue
                 and Didier Rémy and Jérôme Vouillon},
  title = {The {Objective Caml} system},
  year = {2005},
  month = oct,
  url = {http://caml.inria.fr/}
}
@misc{ocaml,
  author = {Xavier Leroy and Damien Doligez and Alain Frisch and
                 Jacques Garrigue and Didier Rémy and Jérôme
                 Vouillon},
  title = {The {OCaml} system: documentation and user's manual},
  month = sep,
  year = {2019},
  url = {http://caml.inria.fr/pub/docs/manual-ocaml/}
}
@article{oconnor-07,
  author = {Russell O'Connor},
  title = {Assembly: Circular Programming with Recursive do},
  journal = {The Monad.Reader},
  year = {2007},
  volume = {6},
  month = jan,
  url = {http://www.haskell.org/sitewiki/images/1/14/TMR-Issue6.pdf}
}
@inproceedings{odersky-laufer-96,
  author = {Martin Odersky and Konstantin Läufer},
  title = {Putting Type Annotations To Work},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1996},
  pages = {54--67},
  month = jan,
  url = {http://lamp.epfl.ch/~odersky/papers/popl96.ps.gz}
}
@inproceedings{odersky-local-94,
  author = {Martin Odersky},
  title = {A Functional Theory of Local Names},
  pages = {48--59},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1994},
  month = jan,
  url = {http://lampwww.epfl.ch/~odersky/papers/popl94.ps.gz}
}
@inproceedings{odersky-observers-92,
  author = {Martin Odersky},
  title = {Observers for Linear Types},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {390--407},
  year = {1992},
  volume = {582},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://lamp.epfl.ch/~odersky/papers/esop92.ps.gz}
}
@inproceedings{odersky-safer-21,
  author = {Martin Odersky and Aleksander Boruch{-}Gruszecki and
                 Jonathan Immanuel Brachth{\"{a}}user and Edward Lee and
                 Ondrej Lhot{\'{a}}k},
  title = {Safer exceptions for {Scala}},
  booktitle = {Symposium on Scala},
  pages = {1--11},
  month = oct,
  year = {2021},
  url = {https://doi.org/10.1145/3486610.3486893}
}
@article{odersky-sulzmann-wehr-99,
  author = {Martin Odersky and Martin Sulzmann and Martin Wehr},
  title = {Type Inference with Constrained Types},
  journal = {Theory and Practice of Object Systems},
  year = {1999},
  volume = {5},
  number = {1},
  pages = {35--55},
  url = {https://doi.org/10.1002/(SICI)1096-9942(199901/03)5:1%3C35::AID-TAPO4%3E3.0.CO;2-4}
}
@inproceedings{odersky-wadler-wehr-95,
  author = {Martin Odersky and Philip Wadler and Martin Wehr},
  title = {A Second Look at Overloading},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  pages = {135--146},
  year = {1995},
  month = jun,
  url = {http://lampwww.epfl.ch/~odersky/papers/fpca95.ps.gz}
}
@inproceedings{odersky-zenger-zenger-01,
  author = {Martin Odersky and Matthias Zenger and Christoph
                 Zenger},
  title = {Colored Local Type Inference},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2001},
  pages = {41--53},
  url = {http://lampwww.epfl.ch/papers/clti-colored.ps.gz}
}
@article{ohearn-03,
  author = {Peter O'Hearn},
  title = {On Bunched Typing},
  journal = {Journal of Functional Programming},
  year = {2003},
  volume = {13},
  number = {4},
  pages = {747--796},
  url = {http://www.cs.ucl.ac.uk/staff/p.ohearn/papers/BunchedTyping.pdf}
}
@article{ohearn-07,
  author = {Peter W. O'Hearn},
  title = {Resources, Concurrency and Local Reasoning},
  journal = {Theoretical Computer Science},
  year = {2007},
  volume = {375},
  number = {1--3},
  pages = {271--307},
  month = may,
  url = {http://www.cs.ucl.ac.uk/staff/p.ohearn/papers/concurrency.pdf}
}
@article{ohearn-19,
  author = {Peter W. O'Hearn},
  title = {Separation logic},
  journal = {Communications of the {ACM}},
  volume = {62},
  number = {2},
  pages = {86--95},
  year = {2019},
  url = {https://doi.org/10.1145/3211968}
}
@inproceedings{ohearn-hiding-04,
  author = {Peter W. O'Hearn and Hongseok Yang and John C.
                 Reynolds},
  title = {Separation and information hiding},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {268--280},
  year = {2004},
  month = jan,
  url = {http://www.cs.ucl.ac.uk/staff/p.ohearn/papers/separation-and-hiding.pdf}
}
@article{ohearn-hiding-09,
  author = {Peter W. O'Hearn and Hongseok Yang and John C.
                 Reynolds},
  title = {Separation and information hiding},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {31},
  number = {3},
  year = {2009},
  url = {http://www.cs.ucl.ac.uk/staff/p.ohearn/papers/toplas09.pdf}
}
@article{ohearn-reynolds-00,
  author = {Peter W. O'Hearn and John C. Reynolds},
  title = {From {Algol} to polymorphic linear lambda-calculus},
  journal = {Journal of the {ACM}},
  volume = {47},
  number = {1},
  year = {2000},
  pages = {167--223},
  url = {http://www.cs.ucl.ac.uk/staff/p.ohearn/papers/AlgolToPolyLin.ps}
}
@inproceedings{ohearn-reynolds-yang-01,
  author = {Peter W. O'Hearn and John C. Reynolds and Hongseok
                 Yang},
  title = {Local Reasoning about Programs that Alter Data
                 Structures},
  booktitle = {Computer Science Logic},
  series = {Lecture Notes in Computer Science},
  volume = {2142},
  pages = {1--19},
  publisher = {Springer},
  month = sep,
  year = {2001},
  url = {http://www0.cs.ucl.ac.uk/staff/p.ohearn/papers/localreasoning.pdf}
}
@article{ohearn-scir-99,
  author = {Peter W. O'Hearn and John Power and Makoto Takeyama
                 and Robert D. Tennent},
  title = {Syntactic Control of Interference Revisited},
  journal = {Theoretical Computer Science},
  volume = {228},
  number = {1-2},
  pages = {211--252},
  year = {1999},
  url = {http://surface.syr.edu/cgi/viewcontent.cgi?article=1011&context=lcsmith_other}
}
@inproceedings{ohearn-tutorial-08,
  author = {Peter W. O'Hearn},
  title = {Separation Logic Tutorial},
  booktitle = {International Conference on Logic Programming
                 {(ICLP)}},
  series = {Lecture Notes in Computer Science},
  volume = {5366},
  pages = {15--21},
  publisher = {Springer},
  year = {2008},
  url = {https://doi.org/10.1007/978-3-540-89982-2_6}
}
@article{ohori-95,
  author = {Atsushi Ohori},
  title = {A Polymorphic Record Calculus and Its Compilation},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {17},
  number = {6},
  pages = {844--895},
  month = nov,
  year = {1995},
  url = {http://doi.acm.org/10.1145/218570.218572}
}
@inproceedings{ohori-buneman-88,
  author = {Atsushi Ohori and Peter Buneman},
  title = {Type Inference in a Database Programming Language},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  pages = {174--183},
  year = {1988},
  url = {http://www.jaist.ac.jp/~ohori/research/lfp88.pdf}
}
@inproceedings{okasaki-96,
  author = {Chris Okasaki},
  title = {The role of lazy evaluation in amortized data
                 structures},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = may,
  year = {1996},
  pages = {62--72},
  url = {http://www.eecs.usma.edu/webs/people/okasaki/icfp96.ps}
}
@inproceedings{okasaki-98,
  author = {Chris Okasaki and Andy Gill},
  title = {Fast Mergeable Integer Maps},
  booktitle = {ACM Workshop on ML},
  pages = {77--86},
  year = {1998},
  month = sep,
  url = {https://ittc.ku.edu/~andygill/papers/IntMap98.pdf}
}
@book{okasaki-book-99,
  author = {Chris Okasaki},
  title = {Purely Functional Data Structures},
  publisher = {Cambridge University Press},
  year = {1999},
  url = {https://doi.org/10.1017/CBO9780511530104}
}
@techreport{okasaki-phd-96,
  author = {Chris Okasaki},
  title = {Purely Functional Data Structures},
  institution = {School of Computer Science, Carnegie Mellon
                 University},
  year = {1996},
  number = {CMU-CS-96-177},
  month = sep,
  url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.64.3080&rep=rep1&type=pdf}
}
@inproceedings{okasaki-views-98,
  author = {Chris Okasaki},
  title = {Views for {Standard ML}},
  booktitle = {ACM Workshop on ML},
  pages = {14--23},
  year = {1998},
  month = sep,
  url = {http://www.eecs.usma.edu/Personnel/okasaki/ml98views.ps}
}
@inproceedings{olderog-83,
  author = {Ernst-Rüdiger Olderog},
  title = {A characterization of {Hoare's} logic for programs
                 with {Pascal}-like procedures},
  booktitle = {ACM Symposium on Theory of Computing},
  year = {1983},
  pages = {320--329},
  url = {http://doi.acm.org/10.1145/800061.808761}
}
@inproceedings{olivo-dillig-lin-15,
  author = {Oswaldo Olivo and Isil Dillig and Calvin Lin},
  title = {Static detection of asymptotic performance bugs in
                 collection traversals},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {369--378},
  month = jun,
  year = {2015},
  url = {http://www.cs.utexas.edu/~isil/pldi15a.pdf}
}
@manual{omega,
  title = {{${\Omega}$}mega},
  author = {Tim Sheard},
  month = nov,
  year = {2005},
  url = {http://www.cs.pdx.edu/~sheard/Omega/}
}
@article{oostrom-94,
  author = {Vincent van Oostrom},
  title = {Confluence by decreasing diagrams},
  journal = {Theoretical Computer Science},
  volume = {126},
  number = {2},
  pages = {259--280},
  month = apr,
  year = {1994},
  url = {ftp://ftp.cs.vu.nl/pub/papers/theory/IR-298.ps.Z}
}
@book{orourke-98,
  author = {Joseph O'Rourke},
  title = {Computational Geometry in {C}, Second Edition},
  publisher = {Cambridge University Press},
  year = {1998},
  url = {http://maven.smith.edu/~orourke/books/compgeom.html}
}
@inproceedings{ortac-21,
  title = {{Ortac: Runtime Assertion Checking for {OCaml} (Tool
                 Paper)}},
  author = {Jean-Christophe Filliâtre and Clément Pascutto},
  booktitle = {Runtime Verification},
  year = {2021},
  month = oct,
  publisher = {Springer},
  pages = {244--253},
  url = {https://hal.inria.fr/hal-03252901}
}
@inproceedings{ortac-fuzzing-21,
  title = {Leveraging Formal Specifications to Generate Fuzzing
                 Suites},
  author = {Nicolas Osborne and Cl{\'e}ment Pascutto},
  booktitle = {{OCaml} Users and Developers Workshop},
  year = {2021},
  month = aug,
  url = {https://hal.inria.fr/hal-03328646}
}
@inproceedings{otoole-gifford-89,
  author = {James William {O'Toole, Jr.} and David K. Gifford},
  title = {Type reconstruction with first-class polymorphic
                 values},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {1989},
  pages = {207--217},
  url = {http://www.psrg.lcs.mit.edu/history/publications/Papers/pldi89-otoole.ps}
}
@article{ott-10,
  author = {Peter Sewell and Francesco {Zappa Nardelli} and Scott
                 Owens and Gilles Peskine and Thomas Ridge and Susmit
                 Sarkar and Rok Strnisa},
  title = {{Ott}: Effective tool support for the working
                 semanticist},
  journal = {Journal of Functional Programming},
  volume = {20},
  number = {1},
  pages = {71--122},
  year = {2010},
  url = {http://www.cl.cam.ac.uk/~pes20/ott/ott-jfp.pdf}
}
@inproceedings{owens-08,
  author = {Scott Owens},
  title = {A Sound Semantics for {OCamllight}},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {4960},
  pages = {1--15},
  publisher = {Springer},
  month = mar,
  year = {2008},
  url = {https://doi.org/10.1007/978-3-540-78739-6_1}
}
@inproceedings{owens-myreen-kumar-tan-16,
  author = {Scott Owens and Magnus O. Myreen and Ramana Kumar and
                 Yong Kiam Tan},
  title = {Functional Big-Step Semantics},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {9632},
  pages = {589--615},
  publisher = {Springer},
  month = apr,
  year = {2016},
  url = {https://doi.org/10.1007/978-3-662-49498-1_23}
}
@article{owens-reppy-turon-09,
  author = {Scott Owens and John H. Reppy and Aaron Turon},
  title = {Regular-expression derivatives re-examined},
  journal = {Journal of Functional Programming},
  volume = {19},
  number = {2},
  year = {2009},
  pages = {173--190},
  url = {http://www.cl.cam.ac.uk/~so294/documents/jfp09.pdf}
}
@article{pager-77,
  author = {David Pager},
  title = {A Practical General Method for Constructing ${LR}(k)$
                 Parsers},
  journal = {Acta Informatica},
  year = {1977},
  volume = {7},
  pages = {249--268},
  url = {http://dx.doi.org/10.1007/BF00290336}
}
@article{paige-tarjan-87,
  author = {Robert Paige and Robert E. Tarjan},
  title = {Three partition refinement algorithms},
  journal = {SIAM Journal on Computing},
  volume = {16},
  number = {6},
  pages = {973--989},
  month = dec,
  year = {1987},
  url = {https://scholarsmine.mst.edu/cgi/viewcontent.cgi?article=1348&context=math_stat_facwork}
}
@inproceedings{pale-01,
  author = {Anders M{\o}ller and Michael I. Schwartzbach},
  title = {The Pointer Assertion Logic Engine},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  year = {2001},
  month = jun,
  pages = {221--231},
  url = {http://www.brics.dk/~amoeller/papers/pale/pale.pdf}
}
@article{palsberg-efficient-object-95,
  author = {Jens Palsberg},
  title = {Efficient inference of object types},
  journal = {Information and Computation},
  volume = {123},
  number = {2},
  pages = {198--209},
  year = {1995},
  url = {http://www.cs.ucla.edu/~palsberg/paper/ic95-p.pdf}
}
@article{palsberg-okeefe-flow-95,
  author = {Jens Palsberg and Patrick M. O'Keefe},
  title = {A Type System Equivalent to Flow Analysis},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  month = jul,
  year = {1995},
  volume = {17},
  number = {4},
  pages = {576--599},
  url = {http://www.cs.ucla.edu/~palsberg/paper/toplas95-po.pdf}
}
@inproceedings{palsberg-orbaek-95,
  author = {Jens Palsberg and Peter {\O}rb{\ae}k},
  booktitle = {Static Analysis Symposium (SAS)},
  month = sep,
  title = {Trust in the {$\lambda$}-calculus},
  series = {Lecture Notes in Computer Science},
  volume = {983},
  pages = {314--330},
  year = {1995},
  url = {ftp://ftp.daimi.au.dk/pub/empl/poe/lambda-trust.dvi.gz}
}
@article{palsberg-orbaek-97,
  title = {Trust in the {$\lambda$}-calculus},
  author = {Peter {\O}rb{\ae}k and Jens Palsberg},
  pages = {557--591},
  journal = {Journal of Functional Programming},
  month = nov,
  year = {1997},
  volume = {7},
  number = {6},
  url = {http://www.cs.ucla.edu/~palsberg/paper/jfp97.pdf}
}
@article{palsberg-smith-96,
  author = {Jens Palsberg and Scott Smith},
  title = {Constrained types and their expressiveness},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {18},
  number = {5},
  pages = {519--527},
  month = sep,
  year = {1996},
  url = {http://www.cs.ucla.edu/~palsberg/paper/toplas96-ps.pdf}
}
@article{palsberg-wand-okeefe-97,
  title = {Type inference with non-structural subtyping},
  author = {Jens Palsberg and Mitchell Wand and Patrick M.
                 O'Keefe},
  journal = {Formal Aspects of Computing},
  year = {1997},
  pages = {49--67},
  volume = {9},
  url = {http://www.cs.ucla.edu/~palsberg/paper/fac97.pdf}
}
@article{palsberg-zhao-01,
  author = {Jens Palsberg and Tian Zhao},
  title = {Efficient and Flexible Matching of Recursive Types},
  journal = {Information and Computation},
  volume = {171},
  pages = {364--387},
  year = {2001},
  url = {http://www.cs.ucla.edu/~palsberg/paper/ic01.pdf}
}
@inproceedings{palsberg-zhao-02,
  author = {Jens Palsberg and Tian Zhao},
  title = {Efficient Type Inference for Record Concatenation and
                 Subtyping},
  pages = {125--136},
  booktitle = {Logic in Computer Science (LICS)},
  month = jul,
  year = {2002}
}
@article{palsberg-zhao-04,
  author = {Jens Palsberg and Tian Zhao},
  title = {Type Inference for Record Concatenation and
                 Subtyping},
  journal = {Information and Computation},
  year = {2004},
  volume = {189},
  pages = {54--86},
  url = {http://www.cs.ucla.edu/~palsberg/paper/ic04.pdf}
}
@misc{pangolin,
  author = {Yann Régis-Gianas},
  title = {The {Pangolin} programming language},
  note = {\url{http://code.google.com/p/pangolin-programming-language/}},
  year = {2008},
  url = {http://code.google.com/p/pangolin-programming-language/}
}
@article{paraskevopoulou-19,
  author = {Zoe Paraskevopoulou and Andrew W. Appel},
  title = {Closure conversion is safe for space},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{ICFP}},
  pages = {83:1--83:29},
  year = {2019},
  url = {https://doi.org/10.1145/3341687}
}
@phdthesis{paraskevopoulou-20,
  author = {Zoe Paraskevopoulou},
  title = {Verified Optimizations for Functional Languages},
  school = {Princeton University},
  year = {2020},
  url = {https://dataspace.princeton.edu/handle/88435/dsp01pr76f648c}
}
@inproceedings{parkinson-bierman-05,
  author = {Matthew Parkinson and Gavin Bierman},
  title = {Separation logic and abstraction},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2005},
  pages = {247--258},
  url = {http://dx.doi.org/10.1145/1040305.1040326}
}
@inproceedings{parkinson-bierman-08,
  author = {Matthew Parkinson and Gavin Bierman},
  title = {Separation logic, abstraction and inheritance},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2008},
  pages = {75--86},
  url = {http://dx.doi.org/10.1145/1328438.1328451}
}
@inproceedings{parkinson-bornat-ohearn-07,
  author = {Matthew J. Parkinson and Richard Bornat and Peter W.
                 O'Hearn},
  title = {Modular verification of a non-blocking stack},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {297--302},
  year = {2007},
  url = {https://doi.org/10.1145/1190216.1190261}
}
@article{parkinson-et-al-17,
  author = {Matthew J. Parkinson and Dimitrios Vytiniotis and
                 Kapil Vaswani and Manuel Costa and Pantazis Deligiannis
                 and Dylan McDermott and Aaron Blankstein and Jonathan
                 Balkind},
  title = {Project {Snowflake}: non-blocking safe manual memory
                 management in {.NET}},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {1},
  number = {{OOPSLA}},
  pages = {95:1--95:25},
  year = {2017},
  url = {https://doi.org/10.1145/3141879}
}
@article{parkinson-summers-12,
  author = {Matthew J. Parkinson and Alexander J. Summers},
  title = {The Relationship Between Separation Logic and Implicit
                 Dynamic Frames},
  journal = {Logical Methods in Computer Science},
  volume = {8},
  number = {3},
  year = {2012},
  url = {https://doi.org/10.2168/LMCS-8(3:1)2012}
}
@inproceedings{parnas-71,
  author = {David Lorge Parnas},
  title = {Information distribution aspects of design
                 methodology},
  booktitle = {Information Processing 71},
  pages = {339--344},
  volume = {1},
  year = {1971},
  url = {http://cseweb.ucsd.edu/~wgg/CSE218/Parnas-IFIP71-information-distribution.PDF}
}
@article{parnas-72,
  author = {David Lorge Parnas},
  title = {On the criteria to be used in decomposing systems into
                 modules},
  journal = {Communications of the {ACM}},
  volume = {15},
  number = {12},
  year = {1972},
  pages = {1053--1058},
  url = {http://doi.acm.org/10.1145/361598.361623}
}
@techreport{pasalic-dali-00,
  author = {Emir Pa{\v s}ali{\'c} and Tim Sheard and Walid Taha},
  title = {{DALI}: An Untyped, {CBV} Functional Language
                 Supporting First-Order Datatypes with Binders
                 (Technical Development)},
  institution = {Oregon Graduate Institute},
  year = {2000},
  number = {00-007},
  month = mar,
  url = {http://www.cse.ogi.edu/PacSoft/publications/phaseiiiq13papers/dali.pdf}
}
@inproceedings{pasalic-linger-04,
  author = {Pa{\v s}ali{\'c} and Nathan Linger},
  title = {Meta-programming with Typed Object-Language
                 Representations},
  booktitle = {Generative Programming and Component Engineering
                 (GPCE)},
  pages = {136--167},
  year = {2004},
  month = oct,
  url = {http://web.cecs.pdx.edu/~sheard/papers/MetaProgTypObjLangReps.ps}
}
@inproceedings{pasalic-tagless-02,
  author = {Emir Pa{\v s}ali{\'c} and Walid Taha and Tim Sheard},
  title = {Tagless staged interpreters for typed languages},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = oct,
  year = {2002},
  pages = {218--229},
  url = {http://www.cs.rice.edu/~taha/teaching/02F/511/papers/pts02.pdf}
}
@inproceedings{paterson-wegman-76,
  author = {M. S. Paterson and M. N. Wegman},
  title = {Linear Unification},
  booktitle = {Annual {ACM} Symposium on Theory of Computing},
  pages = {181--186},
  year = {1976}
}
@inproceedings{patwary-10,
  author = {Md. Mostofa Ali Patwary and Jean Blair and Fredrik
                 Manne},
  title = {Experiments on Union-Find Algorithms for the
                 Disjoint-Set Data Structure},
  booktitle = {International Symposium on Experimental Algorithms
                 {(SEA)}},
  pages = {411--423},
  month = may,
  year = {2010},
  series = {Lecture Notes in Computer Science},
  volume = {6049},
  publisher = {Springer},
  url = {http://www.ii.uib.no/~fredrikm/fredrik/papers/SEA2010.pdf}
}
@inproceedings{paulin-89,
  author = {Christine Paulin-Mohring},
  title = {Extracting ${F}_{\omega}$'s programs from proofs in
                 the Calculus of Constructions},
  year = {1989},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {89--104},
  month = jan,
  url = {http://doi.acm.org/10.1145/75277.75285}
}
@techreport{paulin-92,
  author = {Christine Paulin-Mohring},
  title = {Inductive Definitions in the system {Coq}: rules and
                 Properties},
  institution = {ENS Lyon},
  year = {1992},
  type = {Research Report},
  number = {RR1992-49},
  url = {ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR1992/RR1992-49.ps.Z}
}
@incollection{pdl,
  author = {Nicolas Troquard and Philippe Balbiani},
  title = {Propositional Dynamic Logic},
  booktitle = {The {Stanford} Encyclopedia of Philosophy},
  editor = {Edward N. Zalta},
  url = {https://plato.stanford.edu/archives/spr2019/entries/logic-dynamic/},
  year = {2019},
  publisher = {Metaphysics Research Lab, Stanford University}
}
@article{pearlmutter-siskind-08,
  author = {Barak A. Pearlmutter and Jeffrey Mark Siskind},
  title = {Reverse-mode {AD} in a functional framework: {Lambda}
                 the ultimate backpropagator},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {30},
  number = {2},
  pages = {7:1--7:36},
  year = {2008},
  url = {http://www-bcl.cs.may.ie/~barak/papers/toplas-reverse.pdf}
}
@inproceedings{pennello-86,
  author = {Thomas J. Pennello},
  title = {Very fast {LR} parsing},
  booktitle = {Symposium on Compiler Construction},
  pages = {145--151},
  year = {1986},
  url = {http://doi.acm.org/10.1145/12276.13326}
}
@inproceedings{perffuzz-18,
  author = {Caroline Lemieux and Rohan Padhye and Koushik Sen and
                 Dawn Song},
  title = {{PerfFuzz}: Automatically Generating Pathological
                 Inputs},
  booktitle = {International Symposium on Software Testing and
                 Analysis (ISSTA)},
  year = {2018},
  pages = {254--265},
  numpages = {12},
  url = {http://www.carolemieux.com/perffuzz-issta2018.pdf}
}
@inproceedings{perfsyn-18,
  author = {Luca Della Toffola and Michael Pradel and Thomas R.
                 Gross},
  title = {Synthesizing programs that expose performance
                 bottlenecks},
  booktitle = {Code Generation and Optimization (CGO)},
  pages = {314--326},
  month = feb,
  year = {2018},
  url = {http://mp.binaervarianz.de/cgo2018.pdf}
}
@article{pessaux-leroy-00,
  author = {Fran\c{c}ois Pessaux and Xavier Leroy},
  title = {Type-based analysis of uncaught exceptions},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  pages = {340--377},
  volume = {22},
  number = {2},
  year = {2000},
  url = {https://xavierleroy.org/publi/exceptions-toplas.pdf}
}
@inproceedings{peterson-jones-93,
  author = {John Peterson and Mark P. Jones},
  title = {Implementing Type Classes},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {227--236},
  year = {1993},
  month = jun,
  url = {http://web.cecs.pdx.edu/~mpj/pubs/pldi93.ps}
}
@book{peyton-jones-ifl-87,
  author = {Simon {Peyton Jones}},
  title = {The Implementation of Functional Programming
                 Languages},
  publisher = {Prentice Hall},
  year = {1987},
  url = {http://research.microsoft.com/Users/simonpj/papers/slpj-book-1987/}
}
@inproceedings{peyton-jones-marlow-elliott-99,
  author = {Simon L. {Peyton Jones} and Simon Marlow and Conal
                 Elliott},
  title = {Stretching the Storage Manager: Weak Pointers and
                 Stable Names in {Haskell}},
  booktitle = {Implementation of Functional Languages (IFL)},
  series = {Lecture Notes in Computer Science},
  volume = {1868},
  pages = {37--58},
  publisher = {Springer},
  month = sep,
  year = {1999},
  url = {https://www.cs.tufts.edu/comp/150FP/archive/simon-peyton-jones/stretching-storage.pdf}
}
@article{peyton-jones-marlow-ghc-inliner-02,
  author = {Simon {Peyton Jones} and Simon Marlow},
  title = {Secrets of the {Glasgow Haskell Compiler} inliner},
  journal = {Journal of Functional Programming},
  volume = {12},
  number = {4{\&}5},
  pages = {393--433},
  year = {2002},
  url = {http://research.microsoft.com/en-us/um/people/simonpj/Papers/inlining/inline-jfp.ps.gz}
}
@article{peyton-jones-rank-07,
  author = {Simon {Peyton Jones} and Dimitrios Vytiniotis and
                 Stephanie Weirich and Mark Shields},
  title = {Practical type inference for arbitrary-rank types},
  journal = {Journal of Functional Programming},
  volume = {17},
  number = {1},
  pages = {1--82},
  year = {2007},
  url = {http://research.microsoft.com/en-us/um/people/simonpj/papers/higher-rank/putting.pdf}
}
@unpublished{peyton-jones-shields-04,
  author = {Simon {Peyton Jones} and Mark Shields},
  title = {Lexically-Scoped Type Variables},
  month = apr,
  year = {2004},
  note = {Manuscript},
  url = {http://www.cse.ogi.edu/~mbs/pub/scoped/}
}
@inproceedings{peyton-jones-simple-gadts-06,
  author = {Simon {Peyton Jones} and Dimitrios Vytiniotis and
                 Stephanie Weirich and Geoffrey Washburn},
  title = {Simple unification-based type inference for {GADTs}},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2006},
  pages = {50--61},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/gadt-pldi.pdf}
}
@misc{peyton-jones-tackling-09,
  author = {Simon {Peyton Jones}},
  title = {Tackling the Awkward Squad: monadic input/output,
                 concurrency, exceptions, and foreign-language calls in
                 {Haskell}},
  howpublished = {Online lecture notes},
  month = jan,
  year = {2009},
  url = {http://research.microsoft.com/en-us/um/people/simonpj/papers/marktoberdorf/mark.pdf}
}
@inproceedings{peyton-jones-wadler-93,
  author = {Simon {Peyton Jones} and Philip Wadler},
  title = {Imperative functional programming},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1993},
  month = jan,
  pages = {71--84},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/imperative/imperative.ps.gz}
}
@techreport{peyton-jones-wobbly-04,
  author = {Simon {Peyton Jones} and Geoffrey Washburn and
                 Stephanie Weirich},
  title = {Wobbly types: type inference for generalised algebraic
                 data types},
  institution = {University of Pennsylvania},
  year = {2004},
  month = jul,
  number = {MS-CIS-05-26},
  url = {http://www.cis.upenn.edu/~geoffw/research/papers/MS-CIS-05-26.pdf}
}
@misc{peyton-jones-zurihac-19,
  author = {Simon {Peyton Jones}},
  title = {Type inference as constraint solving: how {GHC}'s type
                 inference engine actually works},
  howpublished = {Zurihac keynote talk},
  month = jun,
  year = {2019},
  url = {https://www.microsoft.com/en-us/research/publication/type-inference-as-constraint-solving-how-ghcs-type-inference-engine-actually-works/}
}
@inproceedings{pfahler-91,
  author = {Peter Pfahler},
  title = {Optimizing directly executable {LR} parsers},
  booktitle = {Compiler Construction (CC)},
  year = {1991},
  publisher = {Springer},
  pages = {179--192},
  url = {https://link.springer.com/chapter/10.1007/3-540-53669-8_82}
}
@inproceedings{pfenning-elliott-88,
  author = {Frank Pfenning and Conal Elliott},
  title = {Higher-Order Abstract Syntax},
  pages = {199--208},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  month = jun,
  year = {1988},
  url = {http://doi.acm.org/10.1145/53990.54010}
}
@inproceedings{pfenning-lee-89,
  author = {Frank Pfenning and Peter Lee},
  title = {{LEAP}: {A} Language with Eval And Polymorphism},
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  year = {1989},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {352},
  pages = {345--359},
  url = {http://dx.doi.org/10.1007/3-540-50940-2_46}
}
@phdthesis{pichardie-05,
  author = {David Pichardie},
  title = {Interprétation abstraite en logique intuitionniste:
                 extraction d'analyseurs {Java} certifiés},
  school = {Université Rennes~1},
  year = {2005},
  url = {https://people.irisa.fr/David.Pichardie/papers/these-pichardie.pdf}
}
@article{pichardie-08,
  author = {David Pichardie},
  title = {Building Certified Static Analysers by Modular
                 Construction of Well-founded Lattices},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {212},
  pages = {225--239},
  year = {2008},
  url = {https://doi.org/10.1016/j.entcs.2008.04.064}
}
@inproceedings{pientka-08,
  author = {Brigitte Pientka},
  title = {A type-theoretic foundation for programming with
                 higher-order abstract syntax and first-class
                 substitutions},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2008},
  pages = {371--382},
  url = {http://www.cs.mcgill.ca/~bpientka/papers/hoasfun-short.pdf}
}
@inproceedings{pientka-dunfield-08,
  author = {Brigitte Pientka and Joshua Dunfield},
  title = {Programming with Proofs and Explicit Contexts},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  pages = {163--173},
  month = jul,
  year = {2008},
  url = {http://www.cs.mcgill.ca/~bpientka/papers/ppdp-pientka.pdf}
}
@inproceedings{pientka-pearl-07,
  author = {Brigitte Pientka},
  title = {Proof Pearl: The power of higher-order encodings in
                 the logical framework {LF}},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  pages = {246--261},
  year = {2007},
  volume = {4732},
  series = {Lecture Notes in Computer Science},
  month = sep,
  publisher = {Springer},
  url = {http://www.cs.mcgill.ca/~bpientka/papers/pearl.pdf}
}
@inproceedings{pierce-sangiorgi-93,
  author = {Benjamin Pierce and Davide Sangiorgi},
  title = {Typing and Subtyping for Mobile Processes},
  pages = {376--385},
  booktitle = {Logic in Computer Science (LICS)},
  year = {1993},
  month = jun,
  url = {http://www.cis.upenn.edu/~bcpierce/papers/pi-lics.ps}
}
@book{pierce-tapl,
  author = {Benjamin C. Pierce},
  title = {Types and Programming Languages},
  publisher = {MIT Press},
  year = {2002},
  url = {http://www.cis.upenn.edu/~bcpierce/tapl/}
}
@article{pierce-turner-00,
  author = {Benjamin C. Pierce and David N. Turner},
  title = {Local Type Inference},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2000},
  volume = {22},
  number = {1},
  pages = {1--44},
  month = jan,
  url = {http://doi.acm.org/10.1145/345099.345100}
}
@techreport{pierce-turner-92,
  author = {Benjamin C. Pierce and David N. Turner},
  title = {Statically Typed Friendly Functions via Partially
                 Abstract Types},
  institution = {University of Edinburgh, LFCS},
  type = {Technical Report},
  number = {ECS-LFCS-93-256},
  month = apr,
  year = {1993},
  note = {Also available as INRIA Research Report 1899},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/friendly.ps}
}
@article{pierce-turner-94,
  author = {Benjamin C. Pierce and David N. Turner},
  title = {Simple Type-Theoretic Foundations for Object-Oriented
                 Programming},
  journal = {Journal of Functional Programming},
  volume = {4},
  number = {2},
  month = apr,
  pages = {207--247},
  year = {1994},
  url = {http://www.cis.upenn.edu/~bcpierce/papers/oop.ps}
}
@article{pierce-undecidable-92,
  author = {Benjamin C. Pierce},
  title = {Bounded Quantification is Undecidable},
  journal = {Information and Computation},
  year = {1994},
  volume = {112},
  number = {1},
  pages = {131--165},
  month = jul,
  url = {http://www.cis.upenn.edu/~bcpierce/papers/fsubpopl.ps}
}
@inproceedings{pilkiewicz-pottier-monotonicity-11,
  author = {Alexandre Pilkiewicz and François Pottier},
  title = {The essence of monotonic state},
  booktitle = {Types in Language Design and Implementation (TLDI)},
  month = jan,
  year = {2011},
  url = {http://cambium.inria.fr/~fpottier/publis/pilkiewicz-pottier-monotonicity.pdf}
}
@inproceedings{pirog-gibbons-14,
  author = {Maciej Pir{\'{o}}g and Jeremy Gibbons},
  title = {The Coinductive Resumption Monad},
  booktitle = {Mathematical Foundations of Programming Semantics},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {308},
  pages = {273--288},
  publisher = {Elsevier},
  month = jun,
  year = {2014},
  url = {https://www.cs.ox.ac.uk/files/6660/crm.pdf}
}
@inproceedings{piskac-13,
  author = {Ruzica Piskac and Thomas Wies and Damien Zufferey},
  title = {Automating Separation Logic Using {SMT}},
  booktitle = {Computer Aided Verification (CAV)},
  pages = {773--789},
  month = jul,
  year = {2013},
  series = {Lecture Notes in Computer Science},
  volume = {8044},
  publisher = {Springer},
  url = {https://www.mpi-sws.org/~piskac/publications/PiskacWiesZuffrey13SepLog.pdf}
}
@inproceedings{piskac-14,
  author = {Ruzica Piskac and Thomas Wies and Damien Zufferey},
  title = {Automating Separation Logic with Trees and Data},
  booktitle = {Computer Aided Verification (CAV)},
  pages = {711--728},
  month = jul,
  year = {2014},
  series = {Lecture Notes in Computer Science},
  volume = {8559},
  publisher = {Springer},
  url = {http://cs.nyu.edu/wies/publ/automating_separation_logic_with_trees_and_data.pdf}
}
@article{pitts-03,
  author = {Andrew M. Pitts},
  title = {Nominal Logic, {A} First Order Theory of Names and
                 Binding},
  journal = {Information and Computation},
  year = {2003},
  volume = {186},
  pages = {165--193},
  url = {http://www.cl.cam.ac.uk/~amp12/papers/nomlfo/nomlfo-jv.pdf}
}
@inproceedings{pitts-05,
  author = {Andrew M. Pitts},
  title = {Alpha-Structural Recursion and Induction},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  month = aug,
  year = {2005},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.cl.cam.ac.uk/~amp12/papers/alpsri/alpsri-ea.pdf}
}
@article{pitts-06,
  author = {Andrew M. Pitts},
  title = {Alpha-Structural Recursion and Induction},
  journal = {Journal of the {ACM}},
  year = {2006},
  volume = {53},
  pages = {459--506},
  url = {http://www.cl.cam.ac.uk/~amp12/papers/alpsri/alpsri.pdf}
}
@inproceedings{pitts-10,
  author = {Andrew M. Pitts},
  title = {Nominal {System} ${T}$},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {159--170},
  year = {2010},
  month = jan,
  url = {http://www.cl.cam.ac.uk/~amp12/papers/nomst/nomst-popl.pdf}
}
@inproceedings{pitts-gabbay-00,
  author = {Andrew M. Pitts and Murdoch J. Gabbay},
  title = {A Metalanguage for Programming with Bound Names Modulo
                 Renaming},
  booktitle = {Mathematics of Program Construction (MPC)},
  pages = {230--255},
  year = {2000},
  volume = {1837},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.cl.cam.ac.uk/~amp12/papers/metpbn/metpbn.pdf}
}
@article{pitts-parametric-00,
  author = {Andrew M. Pitts},
  title = {Parametric Polymorphism and Operational Equivalence},
  journal = {Mathematical Structures in Computer Science},
  year = {2000},
  volume = {10},
  pages = {321--359},
  url = {http://www.cl.cam.ac.uk/~amp12/papers/parpoe/parpoe.pdf}
}
@inproceedings{plaid-permissions-11,
  author = {Jonathan Aldrich and Ronald Garcia and Mark Hahnenberg
                 and Manuel Mohr and Karl Naden and Darpan Saini and
                 Sven Stork and Joshua Sunshine and {\'E}ric Tanter and
                 Roger Wolff},
  title = {Permission-based programming languages},
  booktitle = {International Conference on Software Engineering
                 ({ICSE})},
  month = may,
  year = {2011},
  pages = {828--831},
  url = {http://www.cs.cmu.edu/~aldrich/papers/plaid-NIER2010.pdf}
}
@article{plotkin-75,
  author = {Gordon D. Plotkin},
  title = {Call-by-name, call-by-value and the
                 $\lambda$-calculus},
  journal = {Theoretical Computer Science},
  volume = {1},
  number = {2},
  pages = {125--159},
  year = {1975},
  url = {http://homepages.inf.ed.ac.uk/gdp/publications/cbn_cbv_lambda.pdf}
}
@incollection{plotkin-90,
  author = {Gordon Plotkin},
  title = {An illative theory of relations},
  booktitle = {Situation Theory and its Applications},
  pages = {133--146},
  publisher = {Stanford University},
  year = {1990},
  number = {22},
  series = {CSLI Lecture Notes},
  url = {http://homepages.inf.ed.ac.uk/gdp/publications/illative.pdf}
}
@article{plotkin-lcf-77,
  author = {Gordon D. Plotkin},
  title = {{LCF} Considered as a Programming Language},
  journal = {Theoretical Computer Science},
  volume = {5},
  number = {3},
  year = {1977},
  pages = {225--255},
  url = {http://homepages.inf.ed.ac.uk/gdp/publications/LCF.pdf}
}
@article{plotkin-power-04,
  author = {Gordon D. Plotkin and A. John Power},
  title = {Computational Effects and Operations: An Overview},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {73},
  pages = {149--163},
  year = {2004},
  url = {https://doi.org/10.1016/j.entcs.2004.08.008}
}
@inproceedings{plotkin-pretnar-08,
  author = {Gordon D. Plotkin and Matija Pretnar},
  title = {A Logic for Algebraic Effects},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {118--129},
  month = jun,
  year = {2008},
  url = {http://homepages.inf.ed.ac.uk/gdp/publications/Logic_Algebraic_Effects.pdf}
}
@inproceedings{plotkin-pretnar-09,
  author = {Gordon D. Plotkin and Matija Pretnar},
  title = {Handlers of Algebraic Effects},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  pages = {80--94},
  year = {2009},
  series = {Lecture Notes in Computer Science},
  volume = {5502},
  publisher = {Springer},
  url = {http://homepages.inf.ed.ac.uk/gdp/publications/Effect_Handlers.pdf}
}
@article{plotkin-pretnar-13,
  title = {Handling Algebraic Effects},
  author = {Gordon D. Plotkin and Matija Pretnar},
  journal = {Logical Methods in Computer Science},
  volume = {9},
  number = {4},
  year = {2013},
  month = dec,
  url = {https://lmcs.episciences.org/705}
}
@incollection{plural-11,
  author = {Kevin Bierhoff and Nels E. Beckman and Jonathan
                 Aldrich},
  title = {Checking Concurrent Typestate with Access Permissions
                 in {Plural}: {A} Retrospective},
  booktitle = {Engineering of Software},
  pages = {35--48},
  publisher = {Springer},
  year = {2011},
  editor = {Peri L. Tarr and Alexander L. Wolf},
  url = {http://www.cs.cmu.edu/~aldrich/papers/bierhoff-plural-festschrift11.pdf}
}
@inproceedings{polikarpova-15,
  author = {Nadia Polikarpova and Julian Tschannen and Carlo A.
                 Furia},
  title = {A Fully Verified Container Library},
  booktitle = {Formal Methods (FM)},
  pages = {414--434},
  month = jun,
  year = {2015},
  series = {Lecture Notes in Computer Science},
  volume = {9109},
  publisher = {Springer},
  url = {http://se.inf.ethz.ch/people/tschannen/publications/ptf-fm15.pdf}
}
@article{pollack-sato-ricciotti-11,
  author = {Randy Pollack and Masahiko Sato and Wilmer Ricciotti},
  title = {A Canonical Locally Named Representation of Binding},
  year = {2012},
  journal = {Journal of Automated Reasoning},
  volume = {49},
  number = {2},
  pages = {185--207},
  url = {http://homepages.inf.ed.ac.uk/rpollack/export/PollackSatoRicciottiJAR.pdf}
}
@inproceedings{poplmark,
  author = {Brian E. Aydemir and Aaron Bohannon and Matthew
                 Fairbairn and J. Nathan Foster and Benjamin C. Pierce
                 and Peter Sewell and Dimitrios Vytiniotis and Geoffrey
                 Washburn and Stephanie Weirich and Steve Zdancewic},
  title = {Mechanized Metatheory for the Masses: The
                 \textsc{PoplMark} Challenge},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  month = aug,
  year = {2005},
  series = {Lecture Notes in Computer Science},
  volume = {3603},
  pages = {50--65},
  publisher = {Springer},
  url = {http://research.microsoft.com/en-us/people/dimitris/poplmark.pdf}
}
@misc{popuri-bison-06,
  author = {Satya Kiran Popuri},
  title = {Understanding {C} parsers generated by {GNU Bison}},
  month = sep,
  year = {2006},
  url = {http://www.cs.uic.edu/~spopuri/cparser.html}
}
@incollection{potanin-13,
  author = {Alex Potanin and Johan {\"{O}}stlund and Yoav Zibin
                 and Michael D. Ernst},
  title = {Immutability},
  booktitle = {Aliasing in Object-Oriented Programming. Types,
                 Analysis and Verification},
  pages = {233--269},
  year = {2013},
  series = {Lecture Notes in Computer Science},
  volume = {7850},
  publisher = {Springer},
  url = {https://homes.cs.washington.edu/~mernst/pubs/immutability-aliasing-2013-lncs7850.pdf}
}
@inproceedings{pottier-alphacaml,
  author = {François Pottier},
  title = {An overview of {C$\alpha$ml}},
  month = mar,
  year = {2006},
  booktitle = {{ACM} Workshop on {ML}},
  pages = {27--52},
  volume = {148},
  number = {2},
  series = {Electronic Notes in Theoretical Computer Science},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-alphacaml.pdf}
}
@misc{pottier-alphacaml-software,
  author = {François Pottier},
  title = {{C$\alpha$ml}},
  month = jun,
  year = {2005},
  url = {http://cambium.inria.fr/~fpottier/alphaCaml/}
}
@inproceedings{pottier-antiframe-08,
  author = {François Pottier},
  title = {Hiding local state in direct style: a higher-order
                 anti-frame rule},
  month = jun,
  year = {2008},
  booktitle = {Logic in Computer Science (LICS)},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-antiframe-2008.pdf},
  pages = {331--340}
}
@unpublished{pottier-caf,
  author = {François Pottier},
  title = {Three comments on the anti-frame rule},
  note = {Unpublished},
  month = jul,
  year = {2009},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-caf-2009.pdf}
}
@inproceedings{pottier-conchon-icfp-00,
  author = {François Pottier and Sylvain Conchon},
  title = {Information Flow Inference for Free},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2000},
  pages = {46--57},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-conchon-icfp00.ps.gz}
}
@inproceedings{pottier-cpp-17,
  author = {François Pottier},
  title = {Verifying a hash table and its iterators in
                 higher-order separation logic},
  booktitle = {Certified Programs and Proofs (CPP)},
  month = jan,
  year = {2017},
  pages = {3--16},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-hashtable.pdf}
}
@inproceedings{pottier-csfw-02,
  author = {François Pottier},
  title = {A Simple View of Type-Secure Information Flow in the
                 $\pi$-Calculus},
  month = jun,
  year = {2002},
  booktitle = {{IEEE} Computer Security Foundations Workshop},
  pages = {320--330},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-csfw15.ps.gz}
}
@techreport{pottier-dea-95,
  author = {François Pottier},
  title = {Implémentation d'un système de modules évolué en
                 {Caml-Light}},
  institution = {INRIA},
  number = {2449},
  type = {Research Report},
  year = {1995},
  url = {http://cambium.inria.fr/~fpottier/publis/memoire-dea.ps.gz}
}
@inproceedings{pottier-dfs-scc-15,
  author = {François Pottier},
  title = {Depth-First Search and Strong Connectivity in {Coq}},
  booktitle = {Journées Françaises des Langages Applicatifs
                 (JFLA)},
  month = jan,
  year = {2015},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-dfs-scc.pdf}
}
@inproceedings{pottier-elaboration-14,
  author = {François Pottier},
  title = {{Hindley-Milner} elaboration in applicative style},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2014},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-elaboration.pdf}
}
@inproceedings{pottier-esop-00,
  author = {François Pottier},
  title = {A 3-part type inference engine},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1782},
  pages = {320--335},
  month = mar,
  year = {2000},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-esop-2000.ps.gz}
}
@unpublished{pottier-fix-09,
  author = {François Pottier},
  title = {Lazy Least Fixed Points in {ML}},
  note = {Unpublished},
  month = dec,
  year = {2009},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-fix.pdf}
}
@unpublished{pottier-gaf,
  author = {François Pottier},
  title = {Generalizing the higher-order frame and anti-frame
                 rules},
  note = {Unpublished},
  month = jul,
  year = {2009},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-gaf-2009.pdf}
}
@inproceedings{pottier-gauthier-04,
  author = {François Pottier and Nadji Gauthier},
  title = {Polymorphic Typed Defunctionalization},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2004},
  pages = {89--98},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-gauthier-popl04.pdf}
}
@article{pottier-gauthier-hosc,
  author = {François Pottier and Nadji Gauthier},
  title = {Polymorphic Typed Defunctionalization and
                 Concretization},
  journal = {Higher-Order and Symbolic Computation},
  month = mar,
  year = {2006},
  volume = {19},
  pages = {125--162},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-gauthier-hosc.pdf}
}
@inproceedings{pottier-gdr-95,
  author = {François Pottier},
  title = {Type inference and simplification for recursively
                 constrained types},
  booktitle = {Actes du {GDR} Programmation 1995 (journée du pôle
                 Programmation Fonctionnelle)},
  month = nov,
  year = {1995},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-gdr-95.ps.gz}
}
@techreport{pottier-hmx-01,
  author = {François Pottier},
  title = {A semi-syntactic soundness proof for {HM$(X)$}},
  institution = {INRIA},
  number = {4150},
  type = {Research Report},
  month = mar,
  year = {2001},
  url = {http://hal.inria.fr/docs/00/07/24/75/PDF/RR-4150.pdf}
}
@article{pottier-ic-01,
  author = {François Pottier},
  title = {Simplifying subtyping constraints: a theory},
  journal = {Information and Computation},
  month = nov,
  year = {2001},
  volume = {170},
  number = {2},
  pages = {153--183},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-ic01.ps.gz}
}
@inproceedings{pottier-icfp-96,
  author = {François Pottier},
  title = {Simplifying subtyping constraints},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = jan,
  year = {1996},
  pages = {122--133},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-icfp96.ps.gz}
}
@inproceedings{pottier-icfp-98,
  author = {François Pottier},
  title = {A Framework for Type Inference with Subtyping},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {1998},
  pages = {228--238},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-icfp98.ps.gz}
}
@inproceedings{pottier-lics-03,
  author = {François Pottier},
  title = {A Constraint-Based Presentation and Generalization of
                 Rows},
  month = jun,
  year = {2003},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {331--340},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-lics03.ps.gz}
}
@inproceedings{pottier-lics-07,
  author = {François Pottier},
  title = {Static name control for {FreshML}},
  booktitle = {Logic in Computer Science (LICS)},
  year = {2007},
  month = jul,
  pages = {356--365},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-pure-freshml.pdf}
}
@article{pottier-njc-00,
  author = {François Pottier},
  title = {A Versatile Constraint-Based Type Inference System},
  journal = {Nordic Journal of Computing},
  month = nov,
  year = {2000},
  volume = {7},
  number = {4},
  pages = {312--347},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-njc-2000.ps.gz}
}
@misc{pottier-notes-dea,
  author = {Xavier Leroy and François Pottier},
  title = {Notes du cours de {DEA} {«~Typage} et
                 programmation~»},
  month = dec,
  year = {2002},
  url = {http://cambium.inria.fr/~fpottier/dea/dea-typage.ps.gz}
}
@techreport{pottier-phd-english-98,
  author = {François Pottier},
  title = {Type inference in the presence of subtyping: from
                 theory to practice},
  institution = {INRIA},
  number = {3483},
  type = {Research Report},
  month = sep,
  year = {1998},
  url = {http://hal.inria.fr/docs/00/07/32/05/PDF/RR-3483.pdf}
}
@phdthesis{pottier-phd-french-98,
  author = {François Pottier},
  title = {Synthèse de types en présence de sous-typage: de la
                 théorie à la pratique},
  school = {Université Paris 7},
  month = jul,
  year = {1998},
  url = {http://cambium.inria.fr/~fpottier/publis/these-fpottier.ps.gz}
}
@inproceedings{pottier-protzenko-13,
  author = {François Pottier and Jonathan Protzenko},
  title = {Programming with permissions in {Mezzo}},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2013},
  pages = {173--184},
  url = {http://cambium.inria.fr/~fpottier/publis/pottier-protzenko-mezzo.pdf}
}
@inproceedings{pottier-protzenko-lessons-mezzo-15,
  author = {François Pottier and Jonathan Protzenko},
  title = {A few lessons from the {Mezzo} project},
  booktitle = {Summit on Advances in Programming Languages (SNAPL)},
  month = may,
  year = {2015},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-protzenko-lessons-mezzo.pdf}
}
@inproceedings{pottier-reachability-cc-2016,
  author = {François Pottier},
  title = {Reachability and error diagnosis in {LR}(1) parsers},
  booktitle = {Compiler Construction (CC)},
  month = mar,
  year = {2016},
  pages = {88--98},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-reachability-cc2016.pdf}
}
@inproceedings{pottier-reachability-jfla-2016,
  author = {François Pottier},
  title = {Reachability and error diagnosis in {LR}(1) automata},
  booktitle = {Journées Françaises des Langages Applicatifs
                 (JFLA)},
  month = jan,
  year = {2016},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-reachability-jfla2016.pdf}
}
@inproceedings{pottier-regis-gianas-06,
  author = {François Pottier and Yann Régis-Gianas},
  title = {Stratified type inference for generalized algebraic
                 data types},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2006},
  pages = {232--244},
  url = {http://cambium.inria.fr/~fpottier/publis/pottier-regis-gianas-popl06.pdf}
}
@article{pottier-regis-gianas-typed-lr,
  author = {François Pottier and Yann {Régis-Gianas}},
  title = {Towards efficient, typed {LR} parsers},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-regis-gianas-typed-lr.pdf},
  year = {2006},
  pages = {155--180},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {148},
  number = {2}
}
@incollection{pottier-remy-emlti,
  author = {François Pottier and Didier Rémy},
  title = {The Essence of {ML} Type Inference},
  booktitle = {Advanced Topics in Types and Programming Languages},
  pages = {389--489},
  publisher = {MIT Press},
  year = {2005},
  editor = {Benjamin C. Pierce},
  chapter = {10},
  url = {http://cambium.inria.fr/~fpottier/publis/emlti-final.pdf}
}
@unpublished{pottier-remy-emlti-long,
  author = {François Pottier and Didier Rémy},
  title = {The Essence of {ML} Type Inference},
  note = {Draft of an extended version. Unpublished},
  month = sep,
  year = {2003},
  url = {http://cristal.inria.fr/attapl/emlti-long.pdf}
}
@inproceedings{pottier-simonet-02,
  author = {François Pottier and Vincent Simonet},
  title = {Information Flow Inference for {ML}},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2002},
  pages = {319--330},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-simonet-popl02.ps.gz}
}
@article{pottier-simonet-toplas-03,
  author = {François Pottier and Vincent Simonet},
  title = {Information Flow Inference for {ML}},
  month = jan,
  year = {2003},
  volume = {25},
  number = {1},
  pages = {117--158},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-simonet-toplas.ps.gz}
}
@inproceedings{pottier-skalka-smith-01,
  author = {François Pottier and Christian Skalka and Scott
                 Smith},
  title = {A Systematic Approach to Static Access Control},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2028},
  pages = {30--45},
  month = apr,
  year = {2001},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-skalka-smith-esop01.ps.gz}
}
@article{pottier-skalka-smith-05,
  author = {François Pottier and Christian Skalka and Scott
                 Smith},
  title = {A Systematic Approach to Static Access Control},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-skalka-smith-toplas.ps.gz},
  volume = {27},
  number = {2},
  pages = {344--382},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2005}
}
@article{pottier-ssphs-13,
  author = {François Pottier},
  title = {Syntactic soundness proof of a type-and-capability
                 system with hidden state},
  journal = {Journal of Functional Programming},
  volume = {23},
  number = {1},
  pages = {38--144},
  month = jan,
  year = {2013},
  url = {http://cambium.inria.fr/~fpottier/publis/fpottier-ssphs.pdf}
}
@misc{pottier-wallace,
  author = {François Pottier},
  title = {Wallace: an efficient implementation of type inference
                 with subtyping},
  month = feb,
  year = {2000},
  url = {http://cambium.inria.fr/~fpottier/wallace/}
}
@incollection{pottinger-80,
  author = {Garrel Pottinger},
  title = {A type assignment for the strongly normalizable
                 $\lambda$-terms},
  booktitle = {To H. B. Curry: Essays on Combinatory Logic, Lambda
                 Calculus, and Formalism},
  pages = {561--577},
  publisher = {Academic Press},
  year = {1980},
  editor = {J. Roger Hindley and Jonathan P. Seldin}
}
@inproceedings{pouillard-11,
  author = {Nicolas Pouillard},
  title = {Nameless, painless},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2011},
  pages = {320--332},
  url = {http://nicolaspouillard.fr/publis/nameless-painless.pdf}
}
@inproceedings{pouillard-pottier-10,
  author = {Nicolas Pouillard and François Pottier},
  title = {A fresh look at programming with names and binders},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2010},
  pages = {217--228},
  url = {http://cambium.inria.fr/~fpottier/publis/pouillard-pottier-fresh-look.pdf}
}
@article{pouillard-pottier-12,
  author = {Nicolas Pouillard and François Pottier},
  title = {A unified treatment of syntax with binders},
  journal = {Journal of Functional Programming},
  volume = {22},
  number = {4--5},
  pages = {614--704},
  month = sep,
  year = {2012},
  url = {http://cambium.inria.fr/~fpottier/publis/pouillard-pottier-unified.pdf}
}
@inproceedings{prasetya-13,
  author = {I. S. Wishnu B. Prasetya},
  title = {{T3}, a Combinator-Based Random Testing Tool for
                 {Java}: Benchmarking},
  booktitle = {Workshop on Future Internet Testing {(FITTEST)}},
  series = {Lecture Notes in Computer Science},
  volume = {8432},
  pages = {101--110},
  publisher = {Springer},
  month = nov,
  year = {2013},
  url = {https://doi.org/10.1007/978-3-319-07785-7_7}
}
@article{pratt-tiuryn-96,
  author = {Vaughan Pratt and Jerzy Tiuryn},
  title = {Satisfiability of Inequalities in a Poset},
  journal = {Fundamenta Informaticæ},
  year = {1996},
  volume = {28},
  number = {1--2},
  pages = {165--182},
  url = {ftp://ftp.mimuw.edu.pl/pub/users/tiuryn/sat-ineq.ps.gz}
}
@article{pretnar-14,
  author = {Matija Pretnar},
  title = {Inferring Algebraic Effects},
  journal = {Logical Methods in Computer Science},
  year = {2014},
  volume = {10},
  number = {3},
  pages = {3--21},
  url = {https://arxiv.org/pdf/1312.2334.pdf}
}
@article{pretnar-15,
  author = {Matija Pretnar},
  title = {An Introduction to Algebraic Effects and Handlers},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {319},
  pages = {19--35},
  year = {2015},
  url = {http://www.eff-lang.org/handlers-tutorial.pdf}
}
@inproceedings{pretnar-intro-15,
  author = {Matija Pretnar},
  title = {An Introduction to Algebraic Effects and Handlers},
  booktitle = {Mathematical Foundations of Programming Semantics},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {319},
  pages = {19--35},
  publisher = {Elsevier},
  month = jun,
  year = {2015},
  url = {https://doi.org/10.1016/j.entcs.2015.12.003}
}
@inproceedings{priya-aws-21,
  author = {Siddharth Priya and Xiang Zhou and Yusen Su and Yakir
                 Vizel and Yuyan Bao and Arie Gurfinkel},
  title = {Verifying Verified Code},
  booktitle = {Automated Technology for Verification and Analysis
                 (ATVA)},
  series = {Lecture Notes in Computer Science},
  volume = {12971},
  pages = {187--202},
  publisher = {Springer},
  month = oct,
  year = {2021},
  url = {https://arxiv.org/pdf/2107.00723.pdf}
}
@misc{programatica-04,
  author = {Thomas Hallgren and James Hook and Mark P. Jones and
                 Richard Kieburtz},
  title = {An overview of the {Programatica} {ToolSet}},
  howpublished = {High Confidence Software and Systems Conference
                 (HCSS)},
  year = {2004},
  url = {http://ogi.altocumulus.org/~hallgren/Programatica/HCSS04/hcss04-tools.pdf}
}
@inproceedings{promising-semantics,
  author = {Jeehoon Kang and Chung-Kil Hur and Ori Lahav and
                 Viktor Vafeiadis and Derek Dreyer},
  title = {A promising semantics for relaxed-memory concurrency},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {175--189},
  month = jan,
  year = {2017},
  url = {https://www.cs.tau.ac.il/~orilahav/papers/popl17.pdf}
}
@book{proofs-and-types,
  author = {Jean-Yves Girard and Yves Lafont and Paul Taylor},
  title = {Proofs and Types},
  publisher = {Cambridge University Press},
  year = {1990},
  url = {http://www.paultaylor.eu/stable/prot.pdf}
}
@article{protzenko-kremlin-17,
  author = {Jonathan Protzenko and Jean Karim Zinzindohoué and
                 Aseem Rastogi and Tahina Ramananandro and Peng Wang and
                 Santiago Zanella Béguelin and Antoine
                 Delignat{-}Lavaud and Catalin Hritcu and Karthikeyan
                 Bhargavan and Cédric Fournet and Nikhil Swamy},
  title = {Verified low-level programming embedded in
                 {F${}^\star$}},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {1},
  number = {{ICFP}},
  pages = {17:1--17:29},
  year = {2017},
  url = {https://doi.org/10.1145/3110261}
}
@phdthesis{protzenko-phd-14,
  author = {Jonathan Protzenko},
  title = {{Mezzo}: a typed language for safe effectful
                 concurrent programs},
  month = sep,
  year = {2014},
  school = {Université Paris Diderot},
  url = {https://hal.inria.fr/tel-01086106/document}
}
@inproceedings{pugh-weddell-90,
  author = {William Pugh and Grant Weddell},
  title = {Two-directional record layout for multiple
                 inheritance},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {85--91},
  year = {1990},
  url = {http://doi.acm.org/10.1145/93542.93556}
}
@article{purdom-74,
  author = {Paul Purdom},
  title = {The size of {LALR(1)} parsers},
  year = {1974},
  journal = {BIT Numerical Mathematics},
  volume = {14},
  number = {3},
  url = {http://dx.doi.org/10.1007/BF01933232},
  publisher = {Kluwer},
  pages = {326--337}
}
@article{purecake-23,
  author = {Hrutvik Kanabar and Samuel Vivien and Oskar
                 Abrahamsson and Magnus O. Myreen and Michael Norrish
                 and Johannes {\AA}man Pohjola and Riccardo Zanetti},
  title = {{PureCake}: A Verified Compiler for a Lazy Functional
                 Language},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {{PLDI}},
  pages = {952--976},
  year = {2023},
  url = {https://doi.org/10.1145/3591259}
}
@article{qian-96,
  author = {Zhenyu Qian},
  title = {Unification of higher-order patterns in linear time
                 and space},
  journal = {Journal of Logic and Computation},
  year = {1996},
  volume = {6},
  number = {3},
  pages = {315--341}
}
@article{raad-19,
  author = {Azalea Raad and Marko Doko and Lovro Rozic and Ori
                 Lahav and Viktor Vafeiadis},
  title = {On library correctness under weak memory consistency:
                 specifying and verifying concurrent libraries under
                 declarative consistency models},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{POPL}},
  pages = {68:1--68:31},
  year = {2019},
  url = {https://spiral.imperial.ac.uk/bitstream/10044/1/75940/4/Libraries.pdf}
}
@inproceedings{raad-isl-20,
  author = {Azalea Raad and Josh Berdine and Hoang{-}Hai Dang and
                 Derek Dreyer and Peter W. O'Hearn and Jules Villard},
  title = {Local Reasoning About the Presence of Bugs:
                 Incorrectness Separation Logic},
  booktitle = {Computer Aided Verification (CAV)},
  series = {Lecture Notes in Computer Science},
  volume = {12225},
  pages = {225--252},
  publisher = {Springer},
  month = jul,
  year = {2020},
  url = {https://plv.mpi-sws.org/ISL/}
}
@inproceedings{radanne-19,
  author = {Gabriel Radanne},
  title = {Typed parsing and unparsing for untyped regular
                 expression engines},
  booktitle = {Workshop on Evaluation and Semantics-Based Program
                 Manipulation ({PEPM})},
  pages = {35--46},
  month = jan,
  year = {2019},
  url = {https://www.irif.fr/~gradanne/papers/tyre/tyre_paper.pdf}
}
@article{radul-al-23,
  author = {Alexey Radul and Adam Paszke and Roy Frostig and
                 Matthew J. Johnson and Dougal Maclaurin},
  title = {You Only Linearize Once: Tangents Transpose to
                 Gradients},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {POPL},
  month = jan,
  year = {2023},
  url = {https://arxiv.org/abs/2204.10923}
}
@techreport{raffalli-98,
  author = {Christophe Raffalli},
  title = {Type checking in system ${F}^\eta$},
  institution = {LAMA, Université de Savoie},
  year = {1998},
  type = {Prépublication},
  number = {98-05a},
  url = {ftp://www.lama.univ-savoie.fr/pub/users/RAFFALLI/Papers/Feta-partial.ps}
}
@unpublished{raffalli-99,
  author = {Christophe Raffalli},
  title = {An optimized complete semi-algorithm for system
                 ${F}^\eta$},
  note = {Unpublished},
  year = {1999},
  url = {ftp://www.lama.univ-savoie.fr/pub/users/RAFFALLI/Papers/Feta-total.ps}
}
@inproceedings{ramachandran-93,
  author = {Viswanath Ramachandran and Pascal Van Hentenryck},
  title = {Incremental Algorithms for Constraint Solving and
                 Entailment over Rational Trees},
  booktitle = {Foundations of Software Technology and Theoretical
                 Computer Science (FSTTCS)},
  pages = {205--217},
  year = {1993}
}
@inproceedings{ramalingam-02,
  author = {G. Ramalingam and Alex Varshavsky and John Field and
                 Deepak Goyal and Shmuel Sagiv},
  title = {Deriving Specialized Program Analyses for Certifying
                 Component-Client Conformance},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {83--94},
  month = jun,
  year = {2002},
  url = {http://pages.cs.wisc.edu/~ramali/Papers/pldi02.pdf}
}
@article{ramsey-98,
  author = {Norman Ramsey},
  title = {Unparsing Expressions with Prefix and Postfix
                 Operators},
  journal = {Software: Practice and Experience},
  volume = {28},
  number = {12},
  pages = {1327--1356},
  year = {1998},
  url = {https://www.cs.tufts.edu/~nr/pubs/unparse-abstract.html}
}
@inproceedings{rauch-wolff-03,
  author = {Nicole Rauch and Burkhart Wolff},
  title = {Formalizing {Java's} Two's-Complement Integral Type in
                 {Isabelle/HOL}},
  booktitle = {Formal Methods for Industrial Critical Systems
                 {(FMICS)}},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {80},
  pages = {41--58},
  publisher = {Elsevier},
  month = jun,
  year = {2003},
  url = {https://doi.org/10.1016/S1571-0661(04)80808-9}
}
@book{raynal,
  author = {Michel Raynal},
  title = {Concurrent Programming: Algorithms, Principles, and
                 Foundations},
  publisher = {Springer},
  year = {2013},
  url = {https://doi.org/10.1007/978-3-642-32027-9}
}
@inproceedings{rc11,
  author = {Ori Lahav and Viktor Vafeiadis and Jeehoon Kang and
                 Chung-Kil Hur and Derek Dreyer},
  title = {Repairing sequential consistency in {C/C++11}},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {618--632},
  month = jun,
  year = {2017},
  url = {https://plv.mpi-sws.org/scfix/paper.pdf}
}
@book{real-world-ocaml,
  author = {Yaron Minsky and Anil Madhavapeddy and Jason Hickey},
  title = {Real World {OCaml}: Functional programming for the
                 masses},
  publisher = {O'Reilly},
  year = {2013},
  url = {https://realworldocaml.org/}
}
@inproceedings{recursive-alias-types-00,
  author = {David Walker and Greg Morrisett},
  title = {Alias Types for Recursive Data Structures},
  booktitle = {Types in Compilation (TIC)},
  month = sep,
  year = {2000},
  series = {Lecture Notes in Computer Science},
  volume = {2071},
  pages = {177--206},
  publisher = {Springer},
  url = {http://www.cs.cornell.edu/talc/papers/alias-recursion.pdf}
}
@techreport{reed-15,
  author = {Eric Reed},
  title = {Patina: {A} Formalization of the {Rust} Programming
                 Language},
  institution = {University of Washington},
  year = {2015},
  number = {UW-CSE-15-03-02},
  month = mar,
  url = {ftp://ftp.cs.washington.edu/tr/2015/03/UW-CSE-15-03-02.pdf}
}
@inproceedings{regensburger-holcf-95,
  author = {Franz Regensburger},
  title = {{HOLCF}: Higher Order Logic of Computable Functions},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  month = sep,
  year = {1995},
  pages = {293--307},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {971},
  url = {http://www4.informatik.tu-muenchen.de/publ/papers/Regensburger_HOLT1995.pdf}
}
@phdthesis{regis-gianas-07,
  author = {Yann Régis-Gianas},
  title = {Des types aux assertions logiques : preuve automatique
                 ou assistée de propriétés sur les programmes
                 fonctionnels},
  school = {Université Paris 7},
  year = {2007},
  month = nov,
  url = {http://gallium.inria.fr/~regisgia/these-yann.regis-gianas.pdf}
}
@inproceedings{regis-gianas-pottier-08,
  author = {Yann Régis-Gianas and François Pottier},
  title = {A {Hoare} Logic for Call-by-Value Functional
                 Programs},
  booktitle = {Mathematics of Program Construction (MPC)},
  month = jul,
  year = {2008},
  series = {Lecture Notes in Computer Science},
  volume = {5133},
  publisher = {Springer},
  url = {http://cambium.inria.fr/~fpottier/publis/regis-gianas-pottier-hoarefp.pdf},
  pages = {305--335}
}
@inproceedings{rehof-faehndrich-01,
  author = {Jakob Rehof and Manuel Fähndrich},
  title = {Type-Based Flow Analysis: From Polymorphic Subtyping
                 to {CFL}-Reachability},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {54--66},
  year = {2001},
  month = jan,
  url = {http://research.microsoft.com/~rehof/popl01.ps}
}
@techreport{rehof-minimality-96,
  author = {Jakob Rehof},
  year = {1996},
  title = {Minimal Typings in Atomic Subtyping},
  institution = {Department of Computer Science, University of
                 Copenhagen},
  number = {D-278},
  url = {ftp://ftp.diku.dk/diku/semantics/papers/D-278.ps.gz}
}
@inproceedings{rehof-minimality-97,
  author = {Jakob Rehof},
  title = {Minimal Typings in Atomic Subtyping},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1997},
  pages = {278--291},
  url = {http://research.microsoft.com/~rehof/popl97.ps}
}
@techreport{reinking-xie-demoura-leijen-20,
  author = {Alex Reinking and Ningning Xie and Leonardo {de Moura}
                 and Daan Leijen},
  title = {Perceus: Garbage Free Reference Counting with Reuse},
  institution = {Microsoft Research},
  year = {2021},
  number = {MSR-TR-2020-42},
  month = jan,
  url = {https://www.microsoft.com/en-us/research/uploads/prod/2020/11/perceus-tr-v3.pdf}
}
@inproceedings{reistad-gifford-94,
  author = {Brian Reistad and David K. Gifford},
  title = {Static dependent costs for estimating execution time},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  year = {1994},
  pages = {65--78},
  url = {https://groups.csail.mit.edu/cgs/pubs/lfp94.pdf}
}
@inproceedings{reloc-18,
  author = {Dan Frumin and Robbert Krebbers and Lars Birkedal},
  title = {{ReLoC}: {A} Mechanised Relational Logic for
                 Fine-Grained Concurrency},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {442--451},
  month = jul,
  year = {2018},
  url = {https://iris-project.org/pdfs/2018-lics-reloc-final.pdf}
}
@article{reloc-reloaded-21,
  author = {Dan Frumin and Robbert Krebbers and Lars Birkedal},
  title = {{ReLoC} Reloaded: A Mechanized Relational Logic for
                 Fine-Grained Concurrency and Logical Atomicity},
  journal = {Logical Methods in Computer Science},
  volume = {17},
  number = {3},
  year = {2021},
  url = {https://arxiv.org/abs/2006.13635v3}
}
@inproceedings{remy-89,
  author = {Didier Rémy},
  title = {Type checking records and variants in a natural
                 extension of {ML}},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {77--88},
  year = {1989},
  url = {http://doi.acm.org/10.1145/75277.75284}
}
@inproceedings{remy-efficient-records-92,
  author = {Didier Rémy},
  title = {Efficient Representation of Extensible Records},
  booktitle = {ACM Workshop on ML and its Applications},
  year = {1992},
  month = jun,
  url = {http://cambium.inria.fr/~remy/ftp/eff-repr-of-ext-records.pdf}
}
@techreport{remy-equational-92,
  author = {Didier R{\'e}my},
  title = {Extending {ML} Type System with a Sorted Equational
                 Theory},
  institution = {INRIA},
  number = {1766},
  year = {1992},
  url = {http://cambium.inria.fr/~remy/ftp/eq-theory-on-types.pdf}
}
@inproceedings{remy-esop-98,
  author = {Didier R{\'e}my},
  title = {From Classes to Objects via Subtyping},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {1998},
  month = mar,
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {1381},
  pages = {200--220},
  url = {http://cambium.inria.fr/~remy/ftp/classes-to-objects.pdf}
}
@incollection{remy-for-free-94,
  author = {Didier R{\'e}my},
  title = {Typing Record Concatenation for Free},
  booktitle = {Theoretical Aspects Of Object-Oriented Programming.
                 Types, Semantics and Language Design},
  publisher = {MIT Press},
  year = {1994},
  editor = {Carl A. Gunter and John C. Mitchell},
  url = {http://cambium.inria.fr/~remy/ftp/taoop2.pdf}
}
@inproceedings{remy-icfp-05,
  author = {Didier Rémy},
  title = {Simple, partial type inference for System ${F}$ based
                 on type containment},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2005},
  month = sep,
  url = {http://cambium.inria.fr/~remy/work/fml/fml-icfp.pdf}
}
@inproceedings{remy-icfp05,
  author = {Didier Rémy},
  title = {Simple, partial type inference for System ${F}$ based
                 on type containment},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2005},
  month = sep,
  url = {http://cambium.inria.fr/~remy/work/fml/fml-icfp.pdf}
}
@inproceedings{remy-lfp-92,
  author = {Didier R{\'e}my},
  title = {Projective {ML}},
  booktitle = {ACM Symposium on Lisp and Functional Programming
                 (LFP)},
  pages = {66--75},
  year = {1992},
  url = {http://cambium.inria.fr/~remy/ftp/lfp92.pdf}
}
@inproceedings{remy-mlart-94,
  author = {Didier R{\'e}my},
  title = {Programming Objects with {ML-ART}: An extension to
                 {ML} with Abstract and Record Types},
  booktitle = {International Symposium on Theoretical Aspects of
                 Computer Software (TACS)},
  year = {1994},
  pages = {321--346},
  publisher = {Springer},
  month = apr,
  url = {http://cambium.inria.fr/~remy/ftp/tacs94.pdf}
}
@misc{remy-newton-95,
  author = {Didier R{\'e}my},
  title = {A case study of typechecking with constrained types:
                 Typing record concatenation},
  howpublished = {Workshop on Advances in Types for Computer Science},
  month = aug,
  year = {1995},
  url = {http://cambium.inria.fr/~remy/work/sub-concat.dvi.gz}
}
@incollection{remy-records-94,
  author = {Didier R{\'e}my},
  title = {Type Inference for Records in a Natural Extension of
                 {ML}},
  booktitle = {Theoretical Aspects Of Object-Oriented Programming:
                 Types, Semantics and Language Design},
  publisher = {MIT Press},
  year = {1994},
  editor = {Carl A. Gunter and John C. Mitchell},
  url = {http://cambium.inria.fr/~remy/ftp/taoop1.pdf}
}
@techreport{remy-start-93,
  author = {Didier R{\'e}my},
  title = {Syntactic Theories and the Algebra of Record Terms},
  institution = {INRIA},
  number = {1869},
  year = {1993},
  type = {Research Report},
  url = {http://cambium.inria.fr/~remy/ftp/record-algebras.pdf}
}
@inproceedings{remy-vouillon-objective-ml-97,
  author = {Didier R{\'e}my and J{\'e}r{\^o}me Vouillon},
  title = {{Objective} {ML}: {A} simple object-oriented extension
                 of {ML}},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1997},
  pages = {40--53},
  month = jan,
  url = {http://cambium.inria.fr/~remy/ftp/objective-ml!popl97.pdf}
}
@article{remy-vouillon-objective-ml-98,
  author = {Didier R{\'e}my and J{\'e}r{\^o}me Vouillon},
  title = {{Objective} {ML}: {An} effective object-oriented
                 extension to {ML}},
  journal = {Theory and Practice of Object Systems},
  year = {1998},
  pages = {27--50},
  volume = {4},
  number = {1},
  url = {http://cambium.inria.fr/~remy/ftp/objective-ml!tapos98.pdf}
}
@article{remy-yakobowski-11,
  author = {Didier R{\'e}my and Boris Yakobowski},
  title = {A {Church}-Style Intermediate Language for {MLF}},
  journal = {Theoretical Computer Science},
  year = {2012},
  volume = {435},
  number = {1},
  pages = {77--105},
  month = jun,
  url = {http://cambium.inria.fr/~remy/mlf/Remy-Yakobowski:xmlf@tcs2011.pdf}
}
@inproceedings{rendel-ostermann-10,
  author = {Tillmann Rendel and Klaus Ostermann},
  title = {Invertible syntax descriptions: unifying parsing and
                 pretty printing},
  booktitle = {Symposium on Haskell},
  pages = {1--12},
  month = sep,
  year = {2010},
  url = {https://doi.org/10.1145/1863523.1863525}
}
@article{reps-98,
  author = {Thomas Reps},
  title = {Program analysis via graph reachability},
  journal = {Information and Software Technology},
  year = {1998},
  volume = {40},
  number = {11--12},
  pages = {701--726},
  url = {http://www.cs.wisc.edu/wpis/papers/tr1386.pdf}
}
@article{reps-schwoon-jha-melski-05,
  author = {Thomas W. Reps and Stefan Schwoon and Somesh Jha and
                 David Melski},
  title = {Weighted pushdown systems and their application to
                 interprocedural dataflow analysis},
  journal = {Science of Computer Programming},
  volume = {58},
  number = {1-2},
  pages = {206--263},
  year = {2005},
  url = {https://doi.org/10.1016/j.scico.2005.02.009}
}
@phdthesis{retert-09,
  author = {William S. Retert},
  title = {Implementing Permission Analysis},
  school = {University of Wisconsin-Milwaukee},
  year = {2009},
  month = may
}
@inproceedings{reus-schwinghammer-06,
  title = {Separation Logic for Higher-order Store},
  year = {2006},
  author = {Bernhard Reus and Jan Schwinghammer},
  booktitle = {Computer Science Logic},
  series = {Lecture Notes in Computer Science},
  volume = {4207},
  publisher = {Springer},
  pages = {575--590},
  month = sep,
  url = {http://www.ps.uni-sb.de/Papers/abstracts/seplogic-hos.pdf}
}
@article{revuz-92,
  author = {Dominique Revuz},
  title = {Minimization of acyclic deterministic automata in
                 linear time},
  journal = {Theoretical Computer Science},
  volume = {92},
  number = {1},
  year = {1992},
  pages = {181--189}
}
@inproceedings{reynolds-02,
  author = {John C. Reynolds},
  title = {Separation Logic: {A} Logic for Shared Mutable Data
                 Structures},
  booktitle = {Logic in Computer Science (LICS)},
  pages = {55--74},
  year = {2002},
  url = {http://www.cs.cmu.edu/~jcr/seplogic.pdf}
}
@inproceedings{reynolds-69,
  author = {John C. Reynolds},
  title = {Automatic Computation of Data Set Definitions},
  booktitle = {Information Processing 68},
  volume = {1},
  publisher = {North Holland},
  year = {1969},
  pages = {456--461}
}
@inproceedings{reynolds-74,
  author = {John C. Reynolds},
  title = {Towards a theory of type structure},
  booktitle = {Colloque sur la Programmation},
  pages = {408--425},
  year = {1974},
  volume = {19},
  series = {Lecture Notes in Computer Science},
  month = apr,
  publisher = {Springer},
  url = {http://www.cs.cmu.edu/afs/cs/user/jcr/ftp/theotypestr.pdf}
}
@techreport{reynolds-75,
  author = {John C. Reynolds},
  title = {User-defined Types and Procedural Data Structures as
                 Complementary Approaches to Data Abstraction},
  institution = {Carnegie Mellon University},
  year = {1975},
  number = {1278},
  month = aug,
  url = {http://repository.cmu.edu/compsci/1278/}
}
@inproceedings{reynolds-78,
  author = {John C. Reynolds},
  title = {Syntactic control of interference},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1978},
  pages = {39--46},
  url = {http://doi.acm.org/10.1145/512760.512766}
}
@inproceedings{reynolds-83,
  author = {John C. Reynolds},
  title = {Types, Abstraction and Parametric Polymorphism},
  booktitle = {Information Processing 83},
  publisher = {Elsevier},
  year = {1983},
  pages = {513--523}
}
@inproceedings{reynolds-85,
  author = {John C. Reynolds},
  title = {Three Approaches to Type Structure},
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  month = mar,
  series = {Lecture Notes in Computer Science},
  volume = {185},
  publisher = {Springer},
  year = {1985},
  pages = {97--138},
  url = {http://dx.doi.org/10.1007/3-540-15198-2_7}
}
@article{reynolds-93,
  author = {John C. Reynolds},
  title = {The Discoveries of Continuations},
  journal = {Lisp and Symbolic Computation},
  volume = {6},
  number = {3--4},
  pages = {233--248},
  year = {1993},
  url = {http://www.cs.ru.nl/~freek/courses/tt-2011/papers/cps/histcont.pdf}
}
@article{reynolds-98a,
  author = {John C. Reynolds},
  title = {Definitional Interpreters for Higher-Order Programming
                 Languages},
  journal = {Higher-Order and Symbolic Computation},
  volume = {11},
  number = {4},
  pages = {363--397},
  month = dec,
  year = {1998},
  url = {http://surface.syr.edu/cgi/viewcontent.cgi?article=1012&context=lcsmith_other}
}
@article{reynolds-98b,
  author = {John C. Reynolds},
  title = {Definitional Interpreters Revisited},
  journal = {Higher-Order and Symbolic Computation},
  volume = {11},
  number = {4},
  pages = {355--361},
  month = dec,
  year = {1998},
  url = {https://doi.org/10.1023/A:1010075320153}
}
@incollection{reynolds-abstraction-94,
  author = {John C. Reynolds},
  title = {User Defined Types and Procedural Data Structures as
                 Complementary Approaches to Data Abstraction},
  booktitle = {Theoretical Aspects Of Object-Oriented Programming:
                 Types, Semantics and Language Design},
  publisher = {MIT Press},
  year = {1994},
  pages = {13--23},
  editor = {Carl A. Gunter and John C. Mitchell}
}
@incollection{reynolds-intro-90,
  author = {John C. Reynolds},
  title = {An Introduction to the Polymorphic Lambda Calculus},
  booktitle = {Logical Foundations of Functional Programming},
  editor = {G{\'e}rard Huet},
  publisher = {Addison-Wesley},
  year = {1990},
  pages = {77--86},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.7.9916}
}
@article{rhiger-03,
  author = {Morten Rhiger},
  title = {A Foundation for Embedded Languages},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2003},
  volume = {25},
  number = {3},
  pages = {291--315},
  month = may,
  url = {http://doi.acm.org/10.1145/641909.641910}
}
@inproceedings{rhodes-flanagan-freund-17,
  author = {Dustin Rhodes and Cormac Flanagan and Stephen N.
                 Freund},
  title = {{BigFoot}: static check placement for dynamic race
                 detection},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {141--156},
  month = jun,
  year = {2017},
  url = {https://doi.org/10.1145/3062341.3062350}
}
@inproceedings{riba-09,
  author = {Colin Riba},
  title = {On the Values of Reducibility Candidates},
  booktitle = {Typed Lambda Calculi and Applications (TLCA)},
  month = jul,
  year = {2009},
  pages = {264--278},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5608},
  url = {http://perso.ens-lyon.fr/colin.riba/papers/values.pdf}
}
@inproceedings{ringenburg-grossman-05,
  author = {Michael F. Ringenburg and Dan Grossman},
  title = {Types for Describing Coordinated Data Structures},
  booktitle = {Types in Language Design and Implementation (TLDI)},
  pages = {25--36},
  year = {2005},
  month = jan,
  url = {http://www.cs.washington.edu/homes/miker/coord/coordinated_tldi05.pdf}
}
@techreport{risch-73,
  author = {Tore Risch},
  title = {{REMREC} -- {A} Program for Automatic Recursion
                 Removal in {Lisp}},
  institution = {Dept. of Computer Science, Uppsala University},
  year = {1973},
  number = {DLU73/24},
  url = {http://user.it.uu.se/~torer/publ/remrec.pdf}
}
@article{rittri-89,
  author = {Mikael Rittri},
  title = {Using types as Search Keys in Function Libraries},
  journal = {Journal of Functional Programming},
  volume = {1},
  number = {1},
  pages = {71--89},
  year = {1991}
}
@article{rittri-93,
  author = {Mikael Rittri},
  title = {Retrieving library functions by unifying types modulo
                 linear isomorphism},
  journal = {RAIRO Theoretical Informatics and Applications},
  year = {1993},
  volume = {27},
  number = {6},
  pages = {523--540}
}
@phdthesis{rival-hdr,
  author = {Xavier Rival},
  title = {Abstract Domains for the Static Analysis of Programs
                 Manipulating Complex Data Structures},
  school = {École Normale Supérieure},
  year = {2011},
  type = {Habilitation à diriger des recherches},
  url = {http://www.di.ens.fr/~rival/hdr.pdf}
}
@article{robinson-65,
  author = {J. Alan Robinson},
  title = {A Machine-Oriented Logic Based on the Resolution
                 Principle},
  journal = {Journal of the {ACM}},
  year = {1965},
  volume = {12},
  number = {1},
  pages = {23--41},
  url = {http://doi.acm.org/10.1145/321250.321253}
}
@phdthesis{rodriguez-12,
  author = {Dulma Rodriguez},
  title = {Amortised resource analysis for object-oriented
                 programs},
  school = {Ludwig Maximilians University Munich},
  year = {2012},
  url = {http://edoc.ub.uni-muenchen.de/14983/}
}
@unpublished{rohwedder-93,
  author = {Ekkehard Rohwedder},
  title = {{ForML} -- a pretty-printing facility for {SML}},
  note = {Online documentation},
  month = jan,
  year = {1993},
  url = {https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=21916972d657e0c1e40202cd1b14b968efdb2ee5}
}
@inproceedings{rompf-amin-16,
  author = {Tiark Rompf and Nada Amin},
  title = {Type soundness for dependent object types {(DOT)}},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {624--641},
  month = nov,
  year = {2016},
  url = {http://lampwww.epfl.ch/~amin/dot/soundness_oopsla16.pdf}
}
@inproceedings{rompf-maier-odersky-09,
  author = {Tiark Rompf and Ingo Maier and Martin Odersky},
  title = {Implementing first-class polymorphic delimited
                 continuations by a type-directed selective {CPS}
                 transform},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {317--328},
  month = sep,
  year = {2009},
  url = {https://infoscience.epfl.ch/record/149136/files/icfp113-rompf.pdf}
}
@inproceedings{rosendahl-89,
  author = {Mads Rosendahl},
  title = {Automatic Complexity Analysis},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  pages = {144--156},
  year = {1989},
  url = {https://doi.org/10.1145/99370.99381}
}
@article{ross-sagiv-98,
  author = {John L. Ross and Mooly Sagiv},
  title = {Building a Bridge between Pointer Aliases and Program
                 Dependences},
  journal = {Nordic Journal of Computing},
  volume = {5},
  number = {4},
  year = {1998},
  mon = {Winter},
  pages = {361--386},
  url = {http://www.math.tau.ac.il/~msagiv/njc98.ps}
}
@inproceedings{rossberg-15,
  author = {Andreas Rossberg},
  title = {{1ML} -- core and modules united ({F}-ing first-class
                 modules)},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {35--47},
  month = sep,
  year = {2015},
  url = {https://people.mpi-sws.org/~rossberg/papers/Rossberg%20-%201ML%20--%20Core%20and%20modules%20united.pdf}
}
@article{rossberg-russo-dreyer-14,
  author = {Andreas Rossberg and Claudio V. Russo and Derek
                 Dreyer},
  title = {{F}-ing modules},
  journal = {Journal of Functional Programming},
  volume = {24},
  number = {5},
  pages = {529--607},
  year = {2014},
  url = {https://people.mpi-sws.org/~rossberg/f-ing/f-ing-jfp.pdf}
}
@article{runciman-toyn-91,
  author = {Colin Runciman and Ian Toyn},
  title = {Retrieving re-usable software components by
                 polymorphic type},
  journal = {Journal of Functional Programming},
  year = {1991},
  pages = {191--211},
  volume = {1},
  number = {2}
}
@book{russell-norvig-09,
  author = {Stuart Russell and Peter Norvig},
  title = {Artificial Intelligence: {A} Modern Approach},
  publisher = {Prentice Hall},
  year = {2009},
  url = {http://aima.cs.berkeley.edu/}
}
@phdthesis{russo-98,
  school = {University of Edinburgh},
  title = {Types For Modules},
  year = {1998},
  pages = {360},
  author = {Claudio V. Russo},
  url = {http://www.dcs.ed.ac.uk/home/cvr/ECS-LFCS-98-389.html}
}
@misc{rust,
  title = {The {Rust} programming language},
  author = {{The Mozilla foundation}},
  year = {2014},
  url = {https://doc.rust-lang.org/book/}
}
@inproceedings{rust-14,
  author = {Nicholas D. Matsakis and Felix S. {Klock,II}},
  title = {The {Rust} Language},
  booktitle = {ACM SIGAda Annual Conference on High Integrity
                 Language Technology (HILT)},
  year = {2014},
  pages = {103--104},
  url = {http://doi.acm.org/10.1145/2663171.2663188}
}
@unpublished{rust-servo-15,
  author = {Brian Anderson and Lars Bergstrom and David Herman and
                 Josh Matthews and Keegan McAllister and Manish
                 Goregaokar and Jack Moffitt and Simon Sapin},
  title = {Experience Report: Developing the {Servo} Web Browser
                 Engine using {Rust}},
  year = {2015},
  note = {\url{http://arxiv.org/abs/1505.07383}}
}
@article{rustbelt-18,
  author = {Ralf Jung and Jacques-Henri Jourdan and Robbert
                 Krebbers and Derek Dreyer},
  title = {{RustBelt}: securing the foundations of the {Rust}
                 programming language},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {2},
  number = {{POPL}},
  pages = {66:1--66:34},
  year = {2018},
  url = {https://people.mpi-sws.org/~dreyer/papers/rustbelt/paper.pdf}
}
@inproceedings{rusu-nowak-22,
  author = {Vlad Rusu and David Nowak},
  title = {Defining Corecursive Functions in {Coq} Using
                 Approximations},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  series = {{Leibniz} International Proceedings in Informatics},
  volume = {222},
  pages = {12:1--12:24},
  publisher = {Schloss Dagstuhl - Leibniz-Zentrum f{\"{u}}r
                 Informatik},
  month = jun,
  year = {2022},
  url = {https://doi.org/10.4230/LIPIcs.ECOOP.2022.12}
}
@article{ryder-soffa-03,
  author = {Barbara G. Ryder and Mary Lou Soffa},
  title = {Influences on the design of exception handling},
  journal = {{ACM} {SIGSOFT} Software Engineering Notes},
  volume = {28},
  number = {4},
  pages = {29--35},
  year = {2003},
  url = {http://sei.pku.edu.cn/~yaoguo/PhDReading07/ryder-impact-short.pdf}
}
@inproceedings{rytz-odersky-haller-12,
  author = {Lukas Rytz and Martin Odersky and Philipp Haller},
  title = {Lightweight Polymorphic Effects},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  series = {Lecture Notes in Computer Science},
  volume = {7313},
  pages = {258--282},
  publisher = {Springer},
  month = jun,
  year = {2012},
  url = {http://lampwww.epfl.ch/~phaller/doc/haller-ecoop2012.pdf}
}
@inproceedings{sabelfeld-sands-99,
  author = {Andrei Sabelfeld and David Sands},
  title = {A {PER} Model of Secure Information Flow in Sequential
                 Programs},
  booktitle = {European Symposium on Programming (ESOP)},
  volume = {1575},
  series = {Lecture Notes in Computer Science},
  year = {1999},
  publisher = {Springer},
  pages = {40--58},
  url = {http://www.cse.chalmers.se/~andrei/esop99.ps}
}
@inproceedings{sabin-freuder-94,
  author = {Daniel Sabin and Eugene C. Freuder},
  title = {Contradicting Conventional Wisdom in Constraint
                 Satisfaction},
  booktitle = {International Workshop on Principles and Practice of
                 Constraint Programming (PPCP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {874},
  month = may,
  year = {1994},
  pages = {10--20},
  url = {http://4c.ucc.ie/web/upload/publications/inProc/sabin94contradicting.pdf}
}
@article{sabry-98,
  author = {Amr Sabry},
  title = {What is a Purely Functional Language?},
  journal = {Journal of Functional Programming},
  year = {1998},
  volume = {8},
  number = {1},
  pages = {1--22},
  month = jan,
  url = {http://dx.doi.org/10.1017/S0956796897002943}
}
@article{sabry-felleisen-93,
  author = {Amr Sabry and Matthias Felleisen},
  title = {Reasoning about Programs in Continuation-Passing
                 Style},
  journal = {Lisp and Symbolic Computation},
  volume = {6},
  number = {3--4},
  pages = {289--360},
  year = {1993},
  url = {http://www.ccis.northeastern.edu/racket/pubs/lfp92-sf.ps.gz}
}
@article{sadiq-li-ling-20,
  author = {Ayesha Sadiq and Yuan{-}Fang Li and Sea Ling},
  title = {A survey on the use of access permission-based
                 specifications for program verification},
  journal = {Journal of Systems and Software},
  volume = {159},
  year = {2020},
  url = {https://doi.org/10.1016/j.jss.2019.110450}
}
@inproceedings{sage-06,
  author = {Jessica Gronski and Kenneth Knowles and Aaron Tomb and
                 Stephen N. Freund and Cormac Flanagan},
  title = {{Sage}: Hybrid Checking for Flexible Specifications},
  booktitle = {Scheme and Functional Programming},
  year = {2006},
  month = sep,
  pages = {93--104},
  url = {http://www.cs.williams.edu/~freund/papers/06-sfp.pdf}
}
@techreport{saha-al-98,
  author = {Bratin Saha and Nevin Heintze and Dino Oliva},
  title = {Subtransitive {CFA} using Types},
  institution = {Yale University},
  year = {1998},
  number = {YALEU/DCS/TR-1166},
  month = oct,
  url = {http://flint.cs.yale.edu/flint/publications/cfa.ps.gz}
}
@inproceedings{saito-affeldt-22,
  author = {Ayumu Saito and Reynald Affeldt},
  title = {Towards a Practical Library for Monadic Equational
                 Reasoning in {Coq}},
  booktitle = {Mathematics of Program Construction (MPC)},
  series = {Lecture Notes in Computer Science},
  volume = {13544},
  pages = {151--177},
  publisher = {Springer},
  month = sep,
  year = {2022},
  url = {https://staff.aist.go.jp/reynald.affeldt/documents/monae-mpc2022.pdf}
}
@inproceedings{saleh-al-18,
  author = {Amr Hany Saleh and Georgios Karachalias and Matija
                 Pretnar and Tom Schrijvers},
  title = {Explicit Effect Subtyping},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {327--354},
  month = apr,
  year = {2018},
  series = {Lecture Notes in Computer Science},
  volume = {10801},
  publisher = {Springer},
  url = {https://people.cs.kuleuven.be/~tom.schrijvers/Research/papers/esop2018.pdf}
}
@inproceedings{sands-90,
  author = {David Sands},
  title = {Complexity Analysis for a Lazy Higher-Order Language},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {361--376},
  month = may,
  year = {1990},
  series = {Lecture Notes in Computer Science},
  volume = {432},
  publisher = {Springer},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.9125}
}
@inproceedings{sands-gustavsson-moran-02,
  author = {David Sands and J{\"{o}}rgen Gustavsson and Andrew
                 Moran},
  title = {Lambda Calculi and Linear Speedups},
  booktitle = {The Essence of Computation, Complexity, Analysis,
                 Transformation. Essays Dedicated to Neil D. Jones},
  pages = {60--84},
  year = {2002},
  volume = {2566},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  url = {http://www.cse.chalmers.se/~dave/papers/Sands-Gustavsson-Moran.pdf}
}
@article{sangiorgi-98,
  author = {Davide Sangiorgi},
  title = {On the bisimulation proof method},
  journal = {Mathematical Structures in Computer Science},
  volume = {8},
  number = {5},
  pages = {447--479},
  year = {1998},
  url = {http://www.cs.unibo.it/~sangio/DOC_public/bis-proof.ps.gz}
}
@inproceedings{sansom-93,
  author = {Patrick M. Sansom},
  title = {Time profiling a lazy functional compiler},
  booktitle = {Functional Programming, Workshops in Computing},
  year = {1993},
  month = jul,
  publisher = {Springer},
  url = {ftp://ftp.dcs.glasgow.ac.uk/pub/glasgow-fp/authors/Patrick_Sansom/1993_profiling-compiler_GLASGOWFP.ps.gz}
}
@book{scala,
  author = {Martin Odersky and Lex Spoon and Bill Venners},
  title = {Programming in {Scala}, Third Edition: {A}
                 Comprehensive Step-by-step Guide},
  year = {2016},
  publisher = {Artima Incorporation},
  url = {http://www.artima.com/shop/programming_in_scala_3ed}
}
@inproceedings{scala-05,
  author = {Martin Odersky and Matthias Zenger},
  title = {Scalable Component Abstractions},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {41--57},
  year = {2005},
  month = oct,
  url = {http://lamp.epfl.ch/~odersky/papers/ScalableComponent.pdf}
}
@inproceedings{schaefer-schneider-smolka-16,
  author = {Steven Sch{\"{a}}fer and Sigurd Schneider and Gert
                 Smolka},
  title = {Axiomatic semantics for compiler verification},
  booktitle = {Certified Programs and Proofs (CPP)},
  pages = {188--196},
  month = jan,
  year = {2016},
  url = {https://www.ps.uni-saarland.de/Publications/documents/SchaeferEtAl_2016_Axiomatic-Semantics.pdf}
}
@inproceedings{schaefer-smolka-tebbi-15,
  author = {Steven Sch{\"{a}}fer and Gert Smolka and Tobias
                 Tebbi},
  title = {Completeness and Decidability of {de Bruijn}
                 Substitution Algebra in {Coq}},
  booktitle = {Certified Programs and Proofs (CPP)},
  pages = {67--73},
  month = jan,
  year = {2015},
  url = {https://doi.org/10.1145/2676724.2693163}
}
@phdthesis{schimpf-81,
  author = {Karl Max Schimpf},
  title = {Construction Methods of {LR} Parsers},
  school = {University of Pennsylvania},
  year = {1981},
  month = may,
  url = {http://repository.upenn.edu/cis_reports/725/}
}
@article{schneider-00,
  author = {Fred B. Schneider},
  title = {Enforceable security policies},
  year = {2000},
  month = feb,
  journal = {ACM Transactions on Information and System Security},
  volume = {3},
  number = {1},
  pages = {1--50},
  url = {http://www.cs.cornell.edu/fbs/publications/EnfSecPols.pdf}
}
@book{schneider-97,
  author = {Fred B. Schneider},
  title = {On Concurrent Programming},
  publisher = {Springer},
  year = {1997}
}
@inproceedings{schroeder-mossakowski-02,
  author = {Lutz Schr{\"o}der and Till Mossakowski},
  title = {{HasCASL}: Towards Integrated Specification and
                 Development of Functional Programs},
  booktitle = {International Conference on Algebraic Methodology and
                 Software Technology (AMAST)},
  month = sep,
  year = {2002},
  pages = {99--116},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2422},
  url = {http://www.informatik.uni-bremen.de/~lschrode/hascasl/recursion.ps}
}
@inproceedings{schroeder-mossakowski-03,
  author = {Lutz Schr{\"{o}}der and Till Mossakowski},
  title = {Monad-Independent {Hoare} Logic in {HASCASL}},
  booktitle = {Fundamental Approaches to Software Engineering
                 (FASE)},
  series = {Lecture Notes in Computer Science},
  volume = {2621},
  pages = {261--277},
  publisher = {Springer},
  month = apr,
  year = {2003},
  url = {https://typeset.io/pdf/monad-independent-hoare-logic-in-hascasl-5ffpi5svux.pdf}
}
@article{schubert-83,
  author = {Lenhart K. Schubert and Mary Angela Papalaskaris and
                 Jay Taugher},
  title = {Determining Type, Part, Color, and Time
                 Relationships},
  journal = {Computer},
  volume = {16},
  number = {10},
  pages = {53--60},
  month = oct,
  year = {1983}
}
@inproceedings{schuster-al-22,
  author = {Philipp Schuster and Jonathan Immanuel Brachthäuser
                 and Marius Müller and Klaus Ostermann},
  title = {A Typed Continuation-Passing Translation for Lexical
                 Effect Handlers},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {566--579},
  month = jun,
  year = {2022},
  url = {https://dl.acm.org/doi/pdf/10.1145/3519939.3523710}
}
@techreport{schwartzbach-95,
  author = {Michael I. Schwartzbach},
  title = {Polymorphic Type Inference},
  institution = {BRICS},
  year = {1995},
  number = {BRICS-LS-95-3},
  month = jun,
  url = {http://www.brics.dk/LS/95/3/BRICS-LS-95-3.ps.gz}
}
@inproceedings{schwinghammer-birkedal-stovring-11,
  author = {Jan Schwinghammer and Lars Birkedal and Kristian
                 Støvring},
  title = {A step-indexed {Kripke} model of hidden state via
                 recursive properties on recursively defined metric
                 spaces},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  year = {2011},
  number = {6604},
  pages = {305--319},
  series = {Lecture Notes in Computer Science},
  month = mar,
  publisher = {Springer},
  url = {https://cs.au.dk/~birke/papers/relpoms-antiframe-conf.pdf}
}
@inproceedings{schwinghammer-csl-09,
  author = {Jan Schwinghammer and Lars Birkedal and Bernhard Reus
                 and Hongseok Yang},
  title = {Nested {Hoare} triples and frame rules for
                 higher-order store},
  booktitle = {Computer Science Logic},
  pages = {440--454},
  year = {2009},
  volume = {5771},
  series = {Lecture Notes in Computer Science},
  month = sep,
  publisher = {Springer},
  url = {https://cs.au.dk/~birke/papers/nested-triples-conf.pdf}
}
@inproceedings{schwinghammer-sfhs-10,
  author = {Jan Schwinghammer and Hongseok Yang and Lars Birkedal
                 and François Pottier and Bernhard Reus},
  title = {A Semantic Foundation for Hidden State},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  month = mar,
  year = {2010},
  pages = {2--17},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6014},
  url = {http://cambium.inria.fr/~fpottier/publis/sfhs.pdf}
}
@phdthesis{schwoon-02,
  author = {Stefan Schwoon},
  title = {Model-Checking Pushdown Systems},
  school = {Technische Universit{\"a}t M{\"u}nchen},
  year = {2002},
  url = {http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/schwoon-phd02.pdf}
}
@article{scott-lcf-93,
  author = {Dana S. Scott},
  title = {A Type-Theoretical Alternative to {ISWIM}, {CUCH},
                 {OWHY}},
  journal = {Theoretical Computer Science},
  volume = {121},
  number = {1--2},
  year = {1993},
  pages = {411--440},
  url = {http://dx.doi.org/10.1016/0304-3975(93)90095-B}
}
@book{sedgewick-graphs-java,
  author = {Robert Sedgewick and Michael Schidlowsky},
  title = {Algorithms in {Java}: Graph Algorithms},
  publisher = {Addison-Wesley},
  year = {2003}
}
@article{seidel-sharir-05,
  author = {Raimund Seidel and Micha Sharir},
  title = {Top-Down Analysis of Path Compression},
  journal = {SIAM Journal on Computing},
  volume = {34},
  number = {3},
  pages = {515--525},
  year = {2005},
  url = {http://dx.doi.org/10.1137/S0097539703439088}
}
@inproceedings{seidl-vogler-18,
  author = {Helmut Seidl and Ralf Vogler},
  title = {Three Improvements to the Top-Down Solver},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  pages = {21:1--21:14},
  month = sep,
  year = {2018},
  url = {https://doi.org/10.1145/3236950.3236967}
}
@book{seidl-wilhelm-hack-12,
  author = {Helmut Seidl and Reinhard Wilhelm and Sebastian Hack},
  title = {Compiler Design: Analysis and Transformation},
  year = {2012},
  publisher = {Springer},
  url = {http://doi.org/10.1007/978-3-642-17548-0}
}
@article{sekar-al-95,
  title = {Adaptive Pattern Matching},
  author = {R. C. Sekar and R. Ramesh and I. V. Ramakrishnan},
  pages = {1207--1234},
  journal = {SIAM Journal on Computing},
  month = dec,
  year = {1995},
  volume = {24},
  number = {6},
  url = {http://seclab.cs.sunysb.edu/sekar/papers/adaptive.ps},
  alturl = {http://locus.siam.org/fulltext/SICOMP/volume-24/0224073.pdf}
}
@inproceedings{sergey-nanevski-banerjee-15,
  author = {Ilya Sergey and Aleksandar Nanevski and Anindya
                 Banerjee},
  title = {Mechanized verification of fine-grained concurrent
                 programs},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {77--87},
  month = jun,
  year = {2015},
  url = {https://ilyasergey.net/papers/fcsl-pldi15.pdf}
}
@article{sethi-ullman-70,
  author = {Ravi Sethi and J. D. Ullman},
  title = {The Generation of Optimal Code for Arithmetic
                 Expressions},
  journal = {Journal of the {ACM}},
  volume = {17},
  number = {4},
  year = {1970},
  pages = {715--728},
  url = {http://doi.acm.org/10.1145/321607.321620}
}
@inproceedings{sewell-vitek-00,
  author = {Peter Sewell and Jan Vitek},
  title = {Secure Composition of Untrusted Code: Wrappers and
                 Causality Types},
  month = jul,
  year = {2000},
  booktitle = {{IEEE} Computer Security Foundations Workshop},
  url = {http://www.cl.cam.ac.uk/users/pes20/wraptypes.ps}
}
@techreport{sewell-vitek-99,
  author = {Peter Sewell and Jan Vitek},
  title = {Secure Composition of Untrusted Code: Wrappers and
                 Causality Types},
  number = {478},
  institution = {Computer Laboratory, University of Cambridge},
  month = nov,
  year = {1999},
  url = {http://www.cl.cam.ac.uk/users/pes20/wraptypes-tr.ps}
}
@article{sha-steiglitz-93,
  author = {Edwin Hsing-Mean Sha and Kenneth Steiglitz},
  title = {Maintaining Bipartite Matchings in the Presence of
                 Failures},
  journal = {Networks},
  year = {1993},
  volume = {23},
  number = {5},
  pages = {459--471},
  month = aug,
  url = {http://www.nd.edu/~esha/papers/oldsha/alg.ps}
}
@inproceedings{shaikha-17,
  author = {Amir Shaikhha and Andrew W. Fitzgibbon and Simon
                 {Peyton Jones} and Dimitrios Vytiniotis},
  title = {Destination-passing style for efficient memory
                 management},
  booktitle = {Workshop on Functional High-Performance Computing},
  pages = {12--23},
  month = sep,
  year = {2017},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2016/11/dps-fhpc17.pdf}
}
@article{shaikhha-al-19,
  author = {Amir Shaikhha and Andrew W. Fitzgibbon and Dimitrios
                 Vytiniotis and Simon Peyton Jones},
  title = {Efficient differentiable programming in a functional
                 array-processing language},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{ICFP}},
  pages = {97:1--97:30},
  year = {2019},
  url = {https://doi.org/10.1145/3341701}
}
@article{shao-certified-05,
  author = {Zhong Shao and Valery Trifonov and Bratin Saha and
                 Nikolaos Papaspyrou},
  title = {A type system for certified binaries},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {27},
  number = {1},
  year = {2005},
  pages = {1--45},
  url = {http://flint.cs.yale.edu/flint/publications/tscb-toplas.pdf}
}
@inproceedings{sheard-04,
  author = {Tim Sheard},
  title = {Languages of the Future},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2004},
  pages = {116--119},
  url = {http://doi.acm.org/10.1145/1028664.1028711}
}
@inproceedings{sheard-05,
  author = {Tim Sheard},
  title = {Putting {Curry-Howard} To Work},
  booktitle = {Haskell workshop},
  month = sep,
  year = {2005},
  pages = {74--85},
  url = {http://web.cecs.pdx.edu/~sheard/papers/PutCurryHoward2WorkFinalVersion.ps}
}
@inproceedings{sheard-challenges-01,
  author = {Tim Sheard},
  title = {Accomplishments and Research Challenges in
                 Meta-Programming},
  booktitle = {International Workshop on Semantics, Applications, and
                 Implementation of Program Generation (SAIG)},
  pages = {2--44},
  year = {2001},
  volume = {2196},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.cse.ogi.edu/PacSoft/publications/2001/challeges_sheard.pdf}
}
@inproceedings{sheard-metaml-98,
  author = {Tim Sheard},
  title = {Using {MetaML}: {A} staged Programming Language},
  booktitle = {Advanced Functional Programming},
  pages = {207--239},
  year = {1998},
  volume = {1608},
  series = {Lecture Notes in Computer Science},
  month = sep,
  publisher = {Springer},
  url = {http://web.cecs.pdx.edu/~sheard/papers/summerschool.ps}
}
@inproceedings{sheard-pasalic-04,
  author = {Tim Sheard and Emir Pa{\v s}ali{\'c}},
  title = {Meta-Programming with Built-in Type Equality},
  booktitle = {Workshop on Logical Frameworks and Meta-Languages
                 (LFM)},
  year = {2004},
  month = jul,
  url = {http://cs-www.cs.yale.edu/homes/carsten/lfm04/proceedings/pasalic.pdf}
}
@article{sherman-michel-carbin-21,
  author = {Benjamin Sherman and Jesse Michel and Michael Carbin},
  title = {{$\lambda_S$}: Computable Semantics for Differentiable
                 Programming with Higher-Order Functions and Datatypes},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {{POPL}},
  pages = {1--31},
  year = {2021},
  url = {https://doi.org/10.1145/3434284}
}
@inproceedings{shields-peyton-jones-02,
  author = {Mark B. Shields and Simon {Peyton Jones}},
  title = {First class modules for {Haskell}},
  booktitle = {Foundations of Object-Oriented Languages (FOOL)},
  month = jan,
  year = {2002},
  pages = {28--40},
  url = {http://www.cse.ogi.edu/~mbs/pub/first_class_modules/first_class_modules.pdf}
}
@inproceedings{shinwell-03,
  author = {Mark R. Shinwell and Andrew M. Pitts and Murdoch J.
                 Gabbay},
  title = {{FreshML}: Programming with Binders Made Simple},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {263--274},
  year = {2003},
  month = aug,
  url = {http://www.cl.cam.ac.uk/~amp12/papers/frepbm/frepbm.pdf}
}
@article{shinwell-05,
  author = {Mark R. Shinwell},
  title = {{Fresh O'Caml}: nominal abstract syntax for the
                 masses},
  journal = {Electronic Notes in Theoretical Computer Science},
  year = {2006},
  volume = {148},
  number = {2},
  pages = {53--77},
  url = {http://dx.doi.org/10.1016/j.entcs.2005.11.040}
}
@phdthesis{shinwell-phd,
  author = {Mark R. Shinwell},
  title = {The Fresh Approach: functional programming with names
                 and binders},
  school = {University of Cambridge},
  year = {2005},
  month = feb,
  url = {http://www.cl.cam.ac.uk/users/mrs30/papers/thesis.pdf}
}
@article{shinwell-pitts-05,
  author = {Mark R. Shinwell and Andrew M. Pitts},
  title = {On a Monadic Semantics for Freshness},
  journal = {Theoretical Computer Science},
  year = {2005},
  volume = {342},
  pages = {28--55},
  url = {http://www.cl.cam.ac.uk/users/amp12/papers/monsf/monsf-jv.pdf}
}
@inproceedings{shivers-96,
  author = {Olin Shivers},
  title = {A universal scripting framework or, {Lambda}: the
                 ultimate ``little language''},
  booktitle = {Concurrency and Parallelism: Programming, Networking
                 and Security},
  pages = {254--265},
  year = {1996},
  volume = {1179},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.ai.mit.edu/people/shivers/ll.ps}
}
@article{shkaravska-van-eekelen-van-kesteren-09,
  author = {Olha Shkaravska and Marko C. J. D. van Eekelen and Ron
                 van Kesteren},
  title = {Polynomial Size Analysis of First-Order Shapely
                 Functions},
  journal = {Log. Methods Comput. Sci.},
  volume = {5},
  number = {2},
  year = {2009},
  url = {http://arxiv.org/abs/0902.2073}
}
@inproceedings{sieczkowski-15,
  author = {Filip Sieczkowski and Kasper Svendsen and Lars
                 Birkedal and Jean Pichon-Pharabod},
  title = {A Separation Logic for Fictional Sequential
                 Consistency},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {9032},
  pages = {736--761},
  publisher = {Springer},
  month = apr,
  year = {2015},
  url = {https://www.cl.cam.ac.uk/~jp622/a_separation_logic_for_fictional_sequential_consistency.pdf}
}
@article{sikmhs-12,
  author = {Jan Schwinghammer and Lars Birkedal and François
                 Pottier and Bernhard Reus and Kristian St{\o}vring and
                 Hongseok Yang},
  title = {A step-indexed {Kripke} Model of Hidden State},
  journal = {Mathematical Structures in Computer Science},
  note = {To appear},
  month = jan,
  year = {2012},
  url = {http://cambium.inria.fr/~fpottier/publis/sikmhs.pdf}
}
@inproceedings{silva-vasconcellos-roggia-20,
  author = {Rafael Castro G. Silva and Cristiano D. Vasconcellos
                 and Karina Girardi Roggia},
  title = {Monadic {W} in {Coq}},
  booktitle = {Brazilian Symposium on Programming Languages
                 {(SBLP)}},
  pages = {25--32},
  month = oct,
  year = {2020},
  url = {https://doi.org/10.1145/3427081.3427085}
}
@article{silver-zdancewic-21,
  author = {Lucas Silver and Steve Zdancewic},
  title = {Dijkstra monads forever: termination-sensitive
                 specifications for interaction trees},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {{POPL}},
  pages = {1--28},
  year = {2021},
  url = {https://doi.org/10.1145/3434307}
}
@inproceedings{simoes-vasconcelos-florido-jost-hammond-12,
  author = {Hugo R. Sim{\~{o}}es and Pedro B. Vasconcelos and
                 M{\'{a}}rio Florido and Steffen Jost and Kevin
                 Hammond},
  title = {Automatic amortised analysis of dynamic memory
                 allocation for lazy functional programs},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {165--176},
  month = sep,
  year = {2012},
  url = {https://paginas.fe.up.pt/~niadr/PUBLICATIONS/LIACC_publications_2011_12/pdf/C39_Automatic_Amortised_Analysis_HS_PV_MF_SJ_KH.pdf}
}
@inproceedings{simonet-02,
  author = {Vincent Simonet},
  title = {Fine-grained Information Flow Analysis for a
                 $\lambda$-calculus with Sum Types},
  booktitle = {{IEEE} Computer Security Foundations Workshop},
  pages = {223--237},
  month = jun,
  year = {2002},
  url = {http://gallium.inria.fr/~simonet/publis/simonet-csfw-02.ps.gz}
}
@inproceedings{simonet-03,
  author = {Vincent Simonet},
  title = {An Extension of {HM(X)} with Bounded Existential and
                 Universal Data-Types},
  month = jun,
  year = {2003},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  url = {http://gallium.inria.fr/~simonet/publis/simonet-icfp03.ps.gz}
}
@techreport{simonet-flowcaml-manual,
  author = {Vincent Simonet},
  title = {The {Flow Caml} system: documentation and user's
                 manual},
  institution = {INRIA},
  number = {0282},
  month = jul,
  year = {2003},
  url = {http://gallium.inria.fr/~simonet/soft/flowcaml/manual/}
}
@techreport{simonet-pottier-hmg,
  author = {Vincent Simonet and François Pottier},
  title = {Constraint-Based Type Inference for Guarded Algebraic
                 Data Types},
  month = jan,
  year = {2005},
  institution = {INRIA},
  type = {Research Report},
  number = {5462},
  url = {http://www.inria.fr/rrrt/rr-5462.html}
}
@inproceedings{simonet-solver-03,
  author = {Vincent Simonet},
  title = {Type inference with structural subtyping: a faithful
                 formalization of an efficient constraint solver},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2895},
  year = {2003},
  month = nov,
  url = {http://gallium.inria.fr/~simonet/publis/simonet-aplas03.pdf}
}
@phdthesis{simonet-these,
  author = {Vincent Simonet},
  title = {Inférence de flots d'information pour {ML}:
                 formalisation et implantation},
  school = {Université Paris 7},
  year = {2004},
  month = mar,
  url = {http://gallium.inria.fr/~simonet/publis/simonet-these.pdf}
}
@article{simplify,
  author = {David Detlefs and Greg Nelson and James B. Saxe},
  title = {{Simplify}: a theorem prover for program checking},
  journal = {Journal of the {ACM}},
  volume = {52},
  number = {3},
  year = {2005},
  pages = {365--473},
  url = {http://doi.acm.org/10.1145/1066100.1066102}
}
@article{simuliris-22,
  author = {Lennard G{\"{a}}her and Michael Sammler and Simon
                 Spies and Ralf Jung and Hoang{-}Hai Dang and Robbert
                 Krebbers and Jeehoon Kang and Derek Dreyer},
  title = {Simuliris: a separation logic framework for verifying
                 concurrent program optimizations},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {6},
  number = {{POPL}},
  pages = {1--31},
  year = {2022},
  url = {https://doi.org/10.1145/3498689}
}
@inproceedings{sitaram-93,
  author = {Dorai Sitaram},
  title = {Handling Control},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {147--155},
  month = jun,
  year = {1993},
  url = {http://www.ccs.neu.edu/scheme/pubs/pldi93-s.ps.gz}
}
@inproceedings{sitaraman-01,
  author = {Murali Sitaraman and Gregory Kulczycki and Joan Krone
                 and William F. Ogden and A. L. Narasimha Reddy},
  title = {Performance specification of software components},
  booktitle = {Symposium on Software Reusability {(SSR)}},
  pages = {3--10},
  month = may,
  year = {2001},
  url = {http://aszt.inf.elte.hu/~gsd/s/cikkek/concepts/semantic/p3-sitaraman.pdf}
}
@article{sivaramakrishnan-20,
  author = {K. C. Sivaramakrishnan and Stephen Dolan and Leo White
                 and Sadiq Jaffer and Tom Kelly and Anmol Sahoo and
                 Sudha Parimala and Atul Dhiman and Anil Madhavapeddy},
  title = {Retrofitting Parallelism onto {OCaml}},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {ICFP},
  pages = {113:1--113:30},
  month = aug,
  year = {2020},
  url = {https://doi.org/10.1145/3408995}
}
@inproceedings{sivaramakrishnan-21,
  author = {K. C. Sivaramakrishnan and Stephen Dolan and Leo White
                 and Tom Kelly and Sadiq Jaffer and Anil Madhavapeddy},
  title = {Retrofitting effect handlers onto {OCaml}},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {206--221},
  month = jun,
  year = {2021},
  url = {https://arxiv.org/abs/2104.00250}
}
@phdthesis{skalka-phd-02,
  author = {Christian Skalka},
  title = {Types for Programming Language-Based Security},
  school = {The Johns Hopkins University},
  year = {2002},
  month = aug,
  url = {http://www.cs.uvm.edu/~skalka/skalka-pubs/skalka-phd-thesis.ps}
}
@inproceedings{skalka-pottier-tip-02,
  author = {Christian Skalka and François Pottier},
  title = {Syntactic Type Soundness for {HM}{$(X)$}},
  month = jul,
  year = {2002},
  booktitle = {Workshop on Types in Programming {(TIP)}},
  series = {Electronic Notes in Theoretical Computer Science},
  volume = {75},
  url = {http://cambium.inria.fr/~fpottier/publis/skalka-fpottier-tip-02.ps.gz}
}
@inproceedings{skalka-smith-00,
  author = {Christian Skalka and Scott Smith},
  title = {Static Enforcement of Security with Types},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2000},
  pages = {34--45},
  url = {http://www.cs.uvm.edu/~skalka/skalka-pubs/skalka-smith-icfp00.ps}
}
@inproceedings{slowfuzz-17,
  author = {Theofilos Petsios and Jason Zhao and Angelos D.
                 Keromytis and Suman Jana},
  title = {{SlowFuzz}: Automated Domain-Independent Detection of
                 Algorithmic Complexity Vulnerabilities},
  booktitle = {Computer and Communications Security (CCS)},
  pages = {2155--2168},
  month = oct,
  year = {2017},
  url = {https://arxiv.org/abs/1708.08437}
}
@inproceedings{smallfoot-05,
  author = {Josh Berdine and Cristiano Calcagno and Peter W.
                 O'Hearn},
  title = {Smallfoot: Modular Automatic Assertion Checking with
                 Separation Logic},
  booktitle = {Formal Methods for Components and Objects},
  pages = {115--137},
  year = {2005},
  volume = {4111},
  series = {Lecture Notes in Computer Science},
  month = nov,
  publisher = {Springer},
  url = {http://research.microsoft.com/pubs/67598/smallfoot.pdf}
}
@inproceedings{smans-implicit-09,
  author = {Jan Smans and Bart Jacobs and Frank Piessens},
  title = {Implicit Dynamic Frames: Combining Dynamic Frames and
                 Separation Logic},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  series = {Lecture Notes in Computer Science},
  volume = {5653},
  pages = {148--172},
  publisher = {Springer},
  month = jul,
  year = {2009},
  url = {https://doi.org/10.1007/978-3-642-03013-0_8}
}
@article{smans-implicit-12,
  author = {Jan Smans and Bart Jacobs and Frank Piessens},
  title = {Implicit dynamic frames},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {34},
  number = {1},
  pages = {2:1--2:58},
  year = {2012},
  url = {https://doi.org/10.1145/2160910.2160911}
}
@inproceedings{smans-jacobs-piessens-10,
  author = {Jan Smans and Bart Jacobs and Frank Piessens},
  title = {Heap-Dependent Expressions in Separation Logic},
  booktitle = {Formal Techniques for Distributed Systems},
  series = {Lecture Notes in Computer Science},
  volume = {6117},
  pages = {170--185},
  publisher = {Springer},
  month = jun,
  year = {2010},
  url = {https://hal.inria.fr/hal-01055155/document}
}
@article{smeding-vakar-23,
  author = {Tom Smeding and Matthijs V{\'{a}}k{\'{a}}r},
  title = {Efficient Dual-Numbers Reverse {AD} via Well-Known
                 Program Transformations},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {POPL},
  year = {2023},
  month = jan,
  url = {https://arxiv.org/abs/2207.03418}
}
@inproceedings{smetsers-94,
  author = {Sjaak Smetsers and Erik Barendsen and Marko C. J. D.
                 van Eekelen and Marinus J. Plasmeijer},
  title = {Guaranteeing Safe Destructive Updates Through a Type
                 System with Uniqueness Information for Graphs},
  booktitle = {Dagstuhl Seminar on Graph Transformations in Computer
                 Science},
  year = {1994},
  pages = {358--379},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {776},
  url = {http://www.mbsd.cs.ru.nl/publications/papers/1994/smes94-guaranteeing.pdf}
}
@inproceedings{smith-01,
  author = {Geoffrey S. Smith},
  title = {A New Type System for Secure Information Flow},
  booktitle = {{IEEE} Computer Security Foundations Workshop},
  pages = {115--125},
  month = jun,
  year = {2001},
  url = {http://www.cs.fiu.edu/~smithg/papers/csfw01.pdf}
}
@inproceedings{smith-93,
  author = {Geoffrey S. Smith},
  title = {Polymorphic type Inference with Overloading and
                 Subtyping},
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  series = {Lecture Notes in Computer Science},
  volume = {668},
  publisher = {Springer},
  year = {1993},
  month = apr,
  pages = {671--685},
  url = {http://dx.doi.org/10.1007/3-540-56610-4_97}
}
@article{smith-94,
  author = {Geoffrey S. Smith},
  title = {Principal Type Schemes for Functional Programs with
                 Overloading and Subtyping},
  journal = {Science of Computer Programming},
  year = {1994},
  volume = {23},
  number = {2--3},
  pages = {197--226},
  month = dec,
  url = {http://www.cs.fiu.edu/~smithg/papers/scp94.pdf}
}
@phdthesis{smith-phd-89,
  author = {Scott Fraser Smith},
  title = {Partial Objects in Type Theory},
  school = {Cornell University},
  year = {1989},
  month = jan,
  url = {http://www.cs.jhu.edu/~scott/pll/older-papers/thesis.pdf}
}
@inproceedings{smith-volpano-98,
  title = {Secure Information Flow in a Multi-Threaded Imperative
                 Language},
  booktitle = {Principles of Programming Languages ({POPL})},
  author = {Geoffrey Smith and Dennis Volpano},
  month = jan,
  year = {1998},
  pages = {355--364},
  url = {http://www.cs.nps.navy.mil/people/faculty/volpano/papers/popl98.ps.Z}
}
@inproceedings{smith-wang-00,
  author = {Scott Smith and Tiejun Wang},
  title = {Polyvariant Flow Analysis with Constrained Types},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1782},
  pages = {382--396},
  month = mar,
  year = {2000},
  url = {http://link.springer.de/link/service/series/0558/papers/1782/17820382.pdf}
}
@book{sml-97,
  author = {Robin Milner and Mads Tofte and Robert Harper and
                 David MacQueen},
  title = {The Definition of {Standard ML} -- Revised},
  publisher = {MIT Press},
  year = {1997},
  month = may
}
@article{smolka-treinen-94,
  title = {Records for Logic Programming},
  year = {1994},
  author = {Gert Smolka and Ralf Treinen},
  volume = {18},
  journal = {Journal of Logic Programming},
  number = {3},
  month = apr,
  pages = {229--258},
  url = {http://www.ps.uni-sb.de/Papers/abstracts/RecordsLogProg.ps}
}
@article{smyth-plotkin-82,
  author = {Michael B. Smyth and Gordon D. Plotkin},
  title = {The Category-Theoretic Solution of Recursive Domain
                 Equations},
  journal = {SIAM Journal on Computing},
  volume = {11},
  number = {4},
  year = {1982},
  pages = {761--783},
  url = {http://homepages.inf.ed.ac.uk/gdp/publications/Category_Theoretic_Solution.pdf}
}
@inproceedings{snyder-86,
  author = {Alan Snyder},
  title = {Encapsulation and inheritance in object-oriented
                 programming languages},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  year = {1986},
  pages = {38--45},
  url = {http://doi.acm.org/10.1145/28697.28702}
}
@inproceedings{sobel-friedman-98,
  author = {Jonathan Sobel and Daniel P. Friedman},
  title = {Recycling continuations},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {1998},
  pages = {251--260},
  url = {http://www.cs.indiana.edu/hyplan/dfried/rc.ps}
}
@article{soisalon-soininen-82,
  author = {Eljas Soisalon-Soininen},
  title = {Inessential Error Entries and Their Use in {LR} Parser
                 Optimization},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {4},
  number = {2},
  month = apr,
  year = {1982},
  pages = {179--195},
  url = {http://doi.acm.org/10.1145/357162.357165}
}
@inproceedings{solomon-78,
  author = {Marvin H. Solomon},
  title = {Type Definitions with Parameters},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1978},
  pages = {31--38},
  url = {http://doi.acm.org/10.1145/512760.512765}
}
@article{soloviev-83,
  author = {Sergei V. Soloviev},
  title = {The category of finite sets and Cartesian Closed
                 Categories},
  journal = {Journal of Soviet Mathematics},
  year = {1983},
  volume = {22},
  number = {3},
  pages = {1387--1400}
}
@inproceedings{sozeau-06,
  author = {Matthieu Sozeau},
  title = {Subset Coercions in {Coq}},
  booktitle = {Types for Proofs and Programs},
  year = {2006},
  volume = {4502},
  pages = {237--252},
  url = {http://www.lri.fr/~sozeau/research/russell/article.pdf}
}
@inproceedings{sozeau-finger-07,
  author = {Matthieu Sozeau},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {13--24},
  url = {http://mattam.org/research/publications/Program-ing_Finger_Trees_in_Coq.pdf},
  title = {Program-ing Finger Trees in {Coq}},
  month = sep,
  year = {2007}
}
@inproceedings{sozeau-tabareau-14,
  author = {Matthieu Sozeau and Nicolas Tabareau},
  title = {Universe Polymorphism in {Coq}},
  booktitle = {Interactive Theorem Proving (ITP)},
  pages = {499--514},
  month = jul,
  year = {2014},
  series = {Lecture Notes in Computer Science},
  volume = {8558},
  publisher = {Springer},
  url = {https://www.irif.fr/~sozeau/research/publications/Universe_Polymorphism_in_Coq.pdf}
}
@article{spec-sharp-04,
  author = {Mike Barnett and Rob DeLine and Manuel Fähndrich and
                 K. Rustan M. Leino and Wolfram Schulte},
  title = {Verification of object-oriented programs with
                 invariants},
  journal = {Journal of Object Technology},
  year = {2004},
  volume = {3},
  number = {6},
  url = {http://research.microsoft.com/research/pubs/view.aspx?type=article&id=1161}
}
@article{sperber-thiemann-00,
  author = {Michael Sperber and Peter Thiemann},
  title = {Generation of {LR} parsers by partial evaluation},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {22},
  number = {2},
  pages = {224--264},
  year = {2000},
  url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.55.462&rep=rep1&type=pdf}
}
@inproceedings{sperber-thiemann-95,
  author = {Michael Sperber and Peter Thiemann},
  title = {The Essence of {LR} Parsing},
  booktitle = {Workshop on Evaluation and Semantics-Based Program
                 Manipulation ({PEPM})},
  pages = {146--155},
  month = jun,
  year = {1995},
  url = {https://www.deinprogramm.de/sperber/papers/lr-essence-pepm.pdf}
}
@article{spies-et-al-22,
  author = {Simon Spies and Lennard G{\"{a}}her and Joseph
                 Tassarotti and Ralf Jung and Robbert Krebbers and Lars
                 Birkedal and Derek Dreyer},
  title = {Later credits: resourceful reasoning for the later
                 modality},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {6},
  number = {{ICFP}},
  pages = {283--311},
  year = {2022},
  url = {https://doi.org/10.1145/3547631}
}
@article{spivey-90,
  year = {1990},
  volume = {14},
  title = {A Functional Theory of Exceptions},
  pages = {25--42},
  journal = {Science of Computer Programming},
  author = {Mike Spivey}
}
@article{spoonhower-08,
  author = {Daniel Spoonhower and Guy E. Blelloch and Robert
                 Harper and Phillip B. Gibbons},
  title = {Space profiling for parallel functional programs},
  journal = {Journal of Functional Programming},
  volume = {20},
  number = {5-6},
  pages = {417--461},
  year = {2010},
  url = {https://www.cs.cmu.edu/~blelloch/papers/SBHG11.pdf}
}
@inproceedings{spoq-23,
  author = {Xupeng Li and Xuheng Li and Wei Qiang and Ronghui Gu
                 and Jason Nieh},
  title = {Spoq: Scaling Machine-Checkable Systems Verification
                 in {Coq}},
  booktitle = {Symposium on Operating Systems Design and
                 Implementation},
  pages = {851--869},
  publisher = {{USENIX} Association},
  month = jul,
  year = {2023},
  url = {https://www.usenix.org/conference/osdi23/presentation/li-xupeng}
}
@inproceedings{srikanth-sahin-harris-17,
  author = {Akhilesh Srikanth and Burak Sahin and William R.
                 Harris},
  title = {Complexity verification using guided theorem
                 enumeration},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {639--652},
  month = jan,
  year = {2017},
  url = {https://www.cc.gatech.edu/~wharris/publications/complexity-analysis.pdf}
}
@article{ssprove-23,
  author = {Philipp G. Haselwarter and Exequiel Rivas and Antoine
                 Van Muylder and Théo Winterhalter and Carmine Abate
                 and Nikolaj Sidorenco and Catalin Hritcu and Kenji
                 Maillard and Bas Spitters},
  title = {{SSProve}: A Foundational Framework for Modular
                 Cryptographic Proofs in {Coq}},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {45},
  number = {3},
  pages = {15:1--15:61},
  year = {2023},
  url = {https://doi.org/10.1145/3594735}
}
@inproceedings{stata-abadi-98,
  author = {R. Stata and M. Abadi},
  title = {A Type System for {Java} Bytecode Subroutines},
  year = {1998},
  month = jan,
  pages = {149--160},
  booktitle = {Principles of Programming Languages ({POPL})},
  url = {http://gatekeeper.dec.com/pub/DEC/SRC/research-reports/abstracts/src-rr-158.html}
}
@article{steckler-wand-97,
  author = {Paul A. Steckler and Mitchell Wand},
  title = {Lightweight closure conversion},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {19},
  number = {1},
  year = {1997},
  pages = {48--86},
  url = {ftp://ftp.ccs.neu.edu/pub/people/wand/papers/steckler-wand-97.ps}
}
@inproceedings{steele-ultimate-77,
  author = {Guy Steele},
  title = {Debunking the ``expensive procedure call'' myth or,
                 procedure call implementations considered harmful or,
                 {LAMBDA:} The Ultimate {GOTO}},
  booktitle = {Proceedings of the 1977 annual conference},
  pages = {153--162},
  publisher = {{ACM}},
  month = oct,
  year = {1977},
  url = {https://dspace.mit.edu/bitstream/handle/1721.1/5753/AIM-443.pdf?sequence=2&isAllowed=y}
}
@inproceedings{steensgaard-96,
  author = {Bjarne Steensgaard},
  booktitle = {Principles of Programming Languages ({POPL})},
  title = {Points-to Analysis in Almost Linear Time},
  year = {1996},
  month = jan,
  pages = {32--41},
  url = {ftp://ftp.research.microsoft.com/users/rusa/popl96.ps}
}
@inproceedings{steffen-fix-machine-95,
  author = {Bernhard Steffen and Andreas Cla{\ss}en and Marion
                 Klein and Jens Knoop and Tiziana Margaria},
  title = {The Fixpoint-Analysis Machine},
  booktitle = {International Conference on Concurrency Theory
                 (CONCUR)},
  month = aug,
  year = {1995},
  pages = {72--87},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {962},
  url = {http://dx.doi.org/10.1007/3-540-60218-6_6}
}
@inproceedings{stehr-00,
  author = {Mark-Oliver Stehr},
  title = {{CINNI} -- {A} Generic Calculus of Explicit
                 Substitutions and its Application to $\lambda$-,
                 $\sigma$- and $\pi$-calculi},
  booktitle = {International Workshop on Rewriting Logic and its
                 Applications (WRLA)},
  year = {2000},
  volume = {36},
  series = {Electronic Notes in Theoretical Computer Science},
  month = sep,
  publisher = {Elsevier},
  url = {http://formal.cs.uiuc.edu/stehr/extcinni.ps}
}
@inproceedings{stewart-veristar-12,
  author = {Gordon Stewart and Lennart Beringer and Andrew W.
                 Appel},
  title = {Verified heap theorem prover by paramodulation},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2012},
  pages = {3--14},
  url = {http://www.cs.princeton.edu/~appel/papers/veristar.pdf}
}
@inproceedings{stoughton-81,
  author = {Allen Stoughton},
  title = {Access Flow: {A} Protection Model Which Integrates
                 Access Control and Information Flow},
  pages = {9--18},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  year = {1981}
}
@article{strachey-fundamental,
  author = {Christopher Strachey},
  title = {Fundamental Concepts in Programming Languages},
  journal = {Higher-Order and Symbolic Computation},
  year = {2000},
  volume = {13},
  number = {1--2},
  pages = {11--49},
  month = apr,
  url = {http://dx.doi.org/10.1023/A:1010000313106}
}
@article{strom-yemini-86,
  author = {Robert E. Strom and Shaula Yemini},
  title = {Typestate: {A} programming language concept for
                 enhancing software reliability},
  journal = {IEEE Transactions on Software Engineering},
  volume = {12},
  number = {1},
  year = {1986},
  pages = {157--171},
  url = {http://www.cs.cmu.edu/~aldrich/papers/classic/tse12-typestate.pdf}
}
@inproceedings{stuckey-sulzmann-02,
  author = {Peter J. Stuckey and Martin Sulzmann},
  title = {A Theory of Overloading},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {167--178},
  year = {2002},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.62.8605}
}
@inproceedings{stuckey-sulzmann-wazny-03,
  author = {Peter J. Stuckey and Martin Sulzmann and Jeremy
                 Wazny},
  title = {Interactive type debugging in {Haskell}},
  booktitle = {Haskell workshop},
  pages = {72--83},
  year = {2003},
  url = {http://www.cs.mu.oz.au/~pjs/papers/p316-stuckey.pdf}
}
@inproceedings{stucki-rompf-ureche-bagwell-15,
  author = {Nicolas Stucki and Tiark Rompf and Vlad Ureche and
                 Phil Bagwell},
  title = {{RRB} vector: a practical general purpose immutable
                 sequence},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {342--354},
  month = sep,
  year = {2015},
  url = {https://doi.org/10.1145/2784731.2784739}
}
@inproceedings{su-aiken-01,
  author = {Zhendong Su and Alexander Aiken},
  title = {Entailment with Conditional Equality Constraints},
  booktitle = {European Symposium on Programming (ESOP)},
  year = {2001},
  month = apr,
  pages = {170--189},
  series = {Lecture Notes in Computer Science},
  volume = {2028},
  url = {http://www.cs.ucdavis.edu/~su/publications/esop01.pdf}
}
@inproceedings{su-al-02,
  author = {Zhendong Su and Alexander Aiken and Joachim Niehren
                 and Tim Priesnitz and Ralf Treinen},
  title = {The First-Order Theory of Subtyping Constraints},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {203--216},
  year = {2002},
  month = jan,
  url = {http://theory.stanford.edu/~aiken/publications/papers/popl02.pdf}
}
@phdthesis{sulzmann-00,
  author = {Martin Sulzmann},
  title = {A general framework for {Hindley/Milner} type systems
                 with constraints},
  school = {Yale University, Department of Computer Science},
  year = {2000},
  month = may,
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.7.7745}
}
@inproceedings{sulzmann-01,
  author = {Martin Sulzmann},
  title = {A General Type Inference Framework for
                 {Hindley/Milner} Style Systems},
  booktitle = {International Symposium on Functional and Logic
                 Programming},
  series = {Lecture Notes in Computer Science},
  volume = {2024},
  pages = {246--263},
  publisher = {Springer},
  month = mar,
  year = {2001},
  url = {http://link.springer.de/link/service/series/0558/papers/2024/20240248.pdf}
}
@techreport{sulzmann-mueller-zenger-99,
  author = {Martin Sulzmann and Martin Müller and Christoph
                 Zenger},
  title = {{Hindley/Milner} style type systems in constraint
                 form},
  institution = {University of South Australia, School of Computer and
                 Information Science},
  type = {Research Report},
  year = {1999},
  number = {ACRC--99--009},
  month = jul,
  url = {http://www.ps.uni-sb.de/~mmueller/papers/hm-constraints.ps.gz}
}
@inproceedings{sulzmann-odersky-wehr-97,
  author = {Martin Sulzmann and Martin Odersky and Martin Wehr},
  title = {Type Inference with Constrained Types},
  booktitle = {Foundations of Object-Oriented Languages (FOOL)},
  year = {1997},
  month = jan,
  url = {ftp://ftp.ira.uka.de/pub/uni-karlsruhe/papers/techreports/1996/1996-28.ps.gz}
}
@techreport{sulzmann-records-97,
  author = {Martin Sulzmann},
  title = {Designing Record Systems},
  institution = {Yale University},
  year = {1997},
  type = {Research Report},
  number = {YALEU/DCS/RR-1128},
  month = apr,
  url = {http://www.cs.mu.oz.au/~sulzmann/publications/tr-1128.ps.gz}
}
@techreport{sulzmann-wang-04,
  author = {Martin Sulzmann and Meng Wang},
  title = {A Systematic Translation of Guarded Recursive Data
                 Types to Existential Types},
  institution = {National University of Singapore},
  number = {TR22/04},
  year = {2004},
  ps = {http://www.cs.mu.oz.au/~sulzmann/publications/translate-grdts.ps.gz}
}
@inproceedings{sumii-09,
  author = {Eijiro Sumii},
  title = {A Complete Characterization of Observational
                 Equivalence in Polymorphic lambda-Calculus with General
                 References},
  booktitle = {Computer Science Logic},
  month = sep,
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {5771},
  pages = {455--469},
  year = {2009},
  url = {http://www.kb.ecei.tohoku.ac.jp/~sumii/pub/poly-ref.pdf}
}
@inproceedings{sun-ferizovic-blelloch-18,
  author = {Yihan Sun and Daniel Ferizovic and Guy E. Blelloch},
  title = {{PAM:} parallel augmented maps},
  booktitle = {Principles and Practice of Parallel Programming
                 (PPoPP)},
  pages = {290--304},
  month = feb,
  year = {2018},
  url = {https://www.cs.cmu.edu/~yihans/papers/pam.pdf}
}
@inproceedings{suwimonteerabuth-schwoon-esparza-06,
  author = {Dejvuth Suwimonteerabuth and Stefan Schwoon and Javier
                 Esparza},
  title = {Efficient Algorithms for Alternating Pushdown Systems
                 with an Application to the Computation of Certificate
                 Chains},
  booktitle = {Automated Technology for Verification and Analysis
                 (ATVA)},
  series = {Lecture Notes in Computer Science},
  volume = {4218},
  pages = {141--153},
  publisher = {Springer},
  month = oct,
  year = {2006},
  url = {http://www.lsv.fr/Publis/PAPERS/PDF/SSE-atva06.pdf}
}
@inproceedings{svendsen-18,
  author = {Kasper Svendsen and Jean Pichon-Pharabod and Marko
                 Doko and Ori Lahav and Viktor Vafeiadis},
  title = {A Separation Logic for a Promising Semantics},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {357--384},
  month = apr,
  year = {2018},
  series = {Lecture Notes in Computer Science},
  volume = {10801},
  publisher = {Springer},
  url = {https://people.mpi-sws.org/~viktor/papers/esop2018-slr.pdf}
}
@inproceedings{svendsen-birkedal-icap-14,
  author = {Kasper Svendsen and Lars Birkedal},
  title = {Impredicative Concurrent Abstract Predicates},
  booktitle = {European Symposium on Programming (ESOP)},
  month = apr,
  year = {2014},
  pages = {149--168},
  volume = {8410},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  url = {http://cs.au.dk/~birke/papers/icap-conf.pdf}
}
@inproceedings{svendsen-birkedal-parkinson-hocap-13,
  author = {Kasper Svendsen and Lars Birkedal and Matthew J.
                 Parkinson},
  booktitle = {European Symposium on Programming (ESOP)},
  pages = {169--188},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  title = {Modular Reasoning about Separation of Concurrent Data
                 Structures},
  volume = {7792},
  month = mar,
  year = {2013},
  url = {http://cs.au.dk/~birke/papers/hocap-conf.pdf}
}
@inproceedings{svendsen-birkedal-parkinson-joins-13,
  author = {Kasper Svendsen and Lars Birkedal and Matthew J.
                 Parkinson},
  title = {Joins: {A} Case Study in Modular Specification of a
                 Concurrent Reentrant Higher-Order Library},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jul,
  year = {2013},
  pages = {327--351},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {7920},
  url = {http://cs.au.dk/~birke/papers/joins-conf.pdf}
}
@article{svenningsson-axelsson-15,
  author = {Josef Svenningsson and Emil Axelsson},
  title = {Combining deep and shallow embedding of
                 domain-specific languages},
  journal = {Computer Languages, Systems \& Structures},
  volume = {44},
  pages = {143--165},
  year = {2015},
  url = {https://doi.org/10.1016/j.cl.2015.07.003}
}
@article{swamy-06,
  author = {Nikhil Swamy and Michael Hicks and Greg Morrisett and
                 Dan Grossman and Trevor Jim},
  title = {Safe Manual Memory Management in {Cyclone}},
  journal = {Science of Computer Programming},
  year = {2006},
  volume = {62},
  number = {2},
  pages = {122--144},
  month = oct,
  url = {http://www.cs.umd.edu/~mwh/papers/cyc-mm-scp.pdf}
}
@inproceedings{swamy-al-13,
  author = {Nikhil Swamy and Joel Weinberger and Cole Schlesinger
                 and Juan Chen and Benjamin Livshits},
  title = {Verifying higher-order programs with the {Dijkstra}
                 monad},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {387--398},
  month = jun,
  year = {2013},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2013/06/paper-pldi13.pdf}
}
@inproceedings{swamy-al-16,
  author = {Nikhil Swamy and Catalin Hritcu and Chantal Keller and
                 Aseem Rastogi and Antoine Delignat{-}Lavaud and Simon
                 Forest and Karthikeyan Bhargavan and Cédric Fournet
                 and Pierre{-}Yves Strub and Markulf Kohlweiss and Jean
                 Karim Zinzindohoue and Santiago Zanella Béguelin},
  title = {Dependent types and multi-monadic effects in
                 {F${}^\star$}},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {256--270},
  month = jan,
  year = {2016},
  url = {https://www.fstar-lang.org/papers/mumon/}
}
@article{swierstra-08,
  author = {Wouter Swierstra},
  title = {Data types à la carte},
  journal = {Journal of Functional Programming},
  volume = {18},
  number = {4},
  pages = {423--436},
  year = {2008},
  url = {https://doi.org/10.1017/S0956796808006758}
}
@inproceedings{swierstra-09,
  author = {Wouter Swierstra},
  title = {A {Hoare} Logic for the State Monad},
  booktitle = {Theorem Proving in Higher Order Logics (TPHOLs)},
  series = {Lecture Notes in Computer Science},
  volume = {5674},
  pages = {440--451},
  publisher = {Springer},
  month = aug,
  year = {2009},
  url = {https://webspace.science.uu.nl/~swier004/publications/2009-tphols.pdf}
}
@article{swierstra-baanen-19,
  author = {Wouter Swierstra and Tim Baanen},
  title = {A predicate transformer semantics for effects
                 (functional pearl)},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{ICFP}},
  pages = {103:1--103:26},
  year = {2019},
  url = {https://doi.org/10.1145/3341707}
}
@inproceedings{swierstra-duponcheel-96,
  author = {S. Doaitse Swierstra and Luc Duponcheel},
  title = {Deterministic, Error-Correcting Combinator Parsers},
  booktitle = {Advanced Functional Programming},
  month = aug,
  year = {1996},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1129},
  pages = {184--207},
  url = {http://www.staff.science.uu.nl/~swier101/Papers/1996/DetErrCorrComPars.pdf}
}
@inproceedings{syb,
  author = {Ralf L{\"{a}}mmel and Simon {Peyton Jones}},
  title = {Scrap your boilerplate: a practical design pattern for
                 generic programming},
  booktitle = {Types in Language Design and Implementation (TLDI)},
  pages = {26--37},
  month = jan,
  year = {2003},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2003/01/hmap.pdf}
}
@inproceedings{syb-reloaded,
  author = {Ralf Hinze and Andres L{\"{o}}h and Bruno C. d. S.
                 Oliveira},
  title = {{``Scrap} Your Boilerplate'' Reloaded},
  booktitle = {Functional and Logic Programming},
  pages = {13--29},
  month = apr,
  year = {2006},
  series = {Lecture Notes in Computer Science},
  volume = {3945},
  publisher = {Springer},
  url = {http://www.cs.ox.ac.uk/bruno.oliveira/SYB0.pdf}
}
@inproceedings{syb-revolutions,
  author = {Ralf Hinze and Andres L{\"{o}}h},
  title = {{``Scrap} Your Boilerplate'' Revolutions},
  booktitle = {Mathematics of Program Construction (MPC)},
  pages = {180--208},
  month = jul,
  year = {2006},
  series = {Lecture Notes in Computer Science},
  volume = {4014},
  publisher = {Springer},
  url = {https://www.andres-loeh.de/SYB1.pdf}
}
@inproceedings{syb2,
  author = {Ralf L{\"{a}}mmel and Simon {Peyton Jones}},
  title = {Scrap more boilerplate: reflection, zips, and
                 generalised casts},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {244--255},
  month = sep,
  year = {2004},
  url = {https://doi.org/10.1145/1016848.1016883}
}
@inproceedings{syb3,
  author = {Ralf L{\"{a}}mmel and Simon {Peyton Jones}},
  title = {Scrap your boilerplate with class: extensible generic
                 functions},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {204--215},
  month = sep,
  year = {2005},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/gmap3.pdf}
}
@phdthesis{taha-99,
  author = {Walid Taha},
  title = {Multi-stage Programming: Its Theory and Applications},
  school = {Oregon Graduate Institute},
  year = {1999},
  month = nov,
  url = {http://www.cs.rice.edu/~taha/publications/thesis/thesis.pdf}
}
@inproceedings{taha-gentle-04,
  author = {Walid Taha},
  title = {A Gentle Introduction to Multi-stage Programming},
  booktitle = {Domain-Specific Program Generation (DSPG)},
  pages = {30--50},
  year = {2004},
  volume = {3016},
  series = {Lecture Notes in Computer Science},
  month = nov,
  publisher = {Springer},
  url = {http://www.cs.rice.edu/~taha/publications/journal/dspg04a.pdf}
}
@inproceedings{taha-nielsen-03,
  author = {Walid Taha and Michael Florentin Nielsen},
  title = {Environment classifiers},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2003},
  pages = {26--37},
  month = jan,
  url = {http://www.cs.rice.edu/~taha/publications/conference/popl03.pdf}
}
@article{takahashi-95,
  author = {Masako Takahashi},
  title = {Parallel Reductions in $\lambda$-Calculus},
  journal = {Information and Computation},
  year = {1995},
  volume = {118},
  number = {1},
  pages = {120--127},
  url = {http://dx.doi.org/10.1006/inco.1995.1057}
}
@inproceedings{takikawa-contracts-13,
  author = {Asumu Takikawa and T. Stephen Strickland and Sam
                 Tobin{-}Hochstadt},
  title = {Constraining Delimited Control with Contracts},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {7792},
  pages = {229--248},
  publisher = {Springer},
  month = mar,
  year = {2013},
  url = {https://www2.ccs.neu.edu/racket/pubs/esop13-tsth.pdf}
}
@article{talcott-93,
  author = {Carolyn Talcott},
  title = {A Theory of Binding Structures and Applications to
                 Rewriting},
  journal = {Theoretical Computer Science},
  year = {1993},
  volume = {112},
  number = {1},
  pages = {99--143},
  url = {http://dx.doi.org/10.1016/0304-3975(93)90240-T}
}
@article{talpin-jouvelot-94,
  author = {Jean-Pierre Talpin and Pierre Jouvelot},
  title = {The type and effect discipline},
  journal = {Information and Computation},
  year = {1994},
  volume = {11},
  number = {2},
  pages = {245--296},
  url = {http://www.irisa.fr/prive/talpin/papers/ic94.pdf}
}
@article{tan-cakeml-backend-19,
  author = {Yong Kiam Tan and Magnus O. Myreen and Ramana Kumar
                 and Anthony C. J. Fox and Scott Owens and Michael
                 Norrish},
  title = {The verified {CakeML} compiler backend},
  journal = {Journal of Functional Programming},
  volume = {29},
  pages = {e2},
  year = {2019},
  url = {https://cakeml.org/jfp19.pdf}
}
@inproceedings{tan-owens-kumar-15,
  author = {Yong Kiam Tan and Scott Owens and Ramana Kumar},
  title = {A verified type system for {CakeML}},
  booktitle = {Implementation of Functional Languages (IFL)},
  pages = {7:1--7:12},
  month = sep,
  year = {2015},
  url = {https://cakeml.org/ifl15.pdf}
}
@inproceedings{tan-wusl-09,
  author = {Gang Tan and Zhong Shao and Xinyu Feng and Hongxu
                 Cai},
  title = {Weak Updates and Separation Logic},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  pages = {178--193},
  year = {2009},
  volume = {5904},
  series = {Lecture Notes in Computer Science},
  month = dec,
  publisher = {Springer},
  url = {http://flint.cs.yale.edu/flint/publications/wusl.pdf}
}
@book{tapl,
  author = {Benjamin C. Pierce},
  title = {Types and Programming Languages},
  publisher = {MIT Press},
  year = {2002}
}
@manual{tarditi-appel-00,
  title = {{ML-Yacc} User's Manual},
  author = {David R. Tarditi and Andrew W. Appel},
  month = apr,
  year = {2000},
  url = {http://www.smlnj.org/doc/ML-Yacc/}
}
@article{tarjan-72,
  author = {Robert Tarjan},
  title = {Depth-First Search and Linear Graph Algorithms},
  journal = {SIAM Journal on Computing},
  month = jun,
  year = {1972},
  volume = {1},
  number = {2},
  pages = {146--160},
  url = {http://epubs.siam.org/doi/abs/10.1137/0201010}
}
@article{tarjan-75,
  author = {Robert Endre Tarjan},
  title = {Efficiency of a Good But Not Linear Set Union
                 Algorithm},
  journal = {Journal of the {ACM}},
  year = {1975},
  volume = {22},
  number = {2},
  pages = {215--225},
  month = apr,
  url = {http://www.csd.uwo.ca/~eschost/Teaching/07-08/CS445a/p215-tarjan.pdf}
}
@article{tarjan-79,
  author = {Robert Endre Tarjan},
  title = {Applications of Path Compression on Balanced Trees},
  journal = {Journal of the {ACM}},
  year = {1979},
  volume = {26},
  number = {4},
  pages = {690--715},
  month = oct,
  url = {http://doi.acm.org/10.1145/322154.322161}
}
@article{tarjan-87,
  author = {Robert Endre Tarjan},
  title = {Algorithmic Design},
  journal = {Communications of the {ACM}},
  volume = {30},
  number = {3},
  pages = {204--212},
  year = {1987},
  url = {https://doi.org/10.1145/214748.214752}
}
@unpublished{tarjan-99-notes,
  title = {Disjoint Set Union},
  author = {Robert E. Tarjan},
  year = {1999},
  note = {Class notes},
  url = {http://www.cs.princeton.edu/courses/archive/spr00/cs423/handout3.pdf}
}
@article{tarjan-amortized-85,
  author = {Robert Endre Tarjan},
  title = {Amortized Computational Complexity},
  year = {1985},
  journal = {SIAM Journal on Algebraic and Discrete Methods},
  volume = {6},
  number = {2},
  pages = {306--318},
  url = {http://dx.doi.org/10.1137/0606031}
}
@article{tarjan-fast-81,
  author = {Robert Endre Tarjan},
  title = {Fast Algorithms for Solving Path Problems},
  journal = {Journal of the {ACM}},
  volume = {28},
  number = {3},
  pages = {594--614},
  year = {1981},
  url = {https://doi.org/10.1145/322261.322273}
}
@article{tarjan-leeuwen-84,
  author = {Robert E. Tarjan and Jan {van Leeuwen}},
  title = {Worst-Case Analysis of Set Union Algorithms},
  journal = {Journal of the {ACM}},
  volume = {31},
  number = {2},
  pages = {245--281},
  month = apr,
  year = {1984},
  url = {http://dx.doi.org/10.1145/62.2160}
}
@article{tarjan-unified-81,
  author = {Robert Endre Tarjan},
  title = {A Unified Approach to Path Problems},
  journal = {Journal of the {ACM}},
  volume = {28},
  number = {3},
  pages = {577--593},
  year = {1981},
  url = {https://doi.org/10.1145/322261.322272}
}
@article{tarjan-yannakakis-84,
  author = {Robert E. Tarjan and Mihalis Yannakakis},
  title = {Simple Linear-Time Algorithms to Test Chordality of
                 Graphs, Test Acyclicity of Hypergraphs, and Selectively
                 Reduce Acyclic Hypergraphs},
  journal = {SIAM Journal on Computing},
  year = {1984},
  volume = {13},
  number = {3},
  pages = {566--579},
  month = aug,
  url = {http://dx.doi.org/10.1137/0213035}
}
@article{tarjan-yao-79,
  author = {Robert Endre Tarjan and Andrew Chi-Chih Yao},
  title = {Storing a sparse table},
  journal = {Communications of the {ACM}},
  volume = {22},
  number = {11},
  year = {1979},
  pages = {606--611},
  url = {http://doi.acm.org/10.1145/359168.359175}
}
@inproceedings{tassarotti-jung-harper-17,
  author = {Joseph Tassarotti and Ralf Jung and Robert Harper},
  title = {A Higher-Order Logic for Concurrent
                 Termination-Preserving Refinement},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {10201},
  pages = {909--936},
  publisher = {Springer},
  month = apr,
  year = {2017},
  url = {https://iris-project.org/pdfs/2017-esop-refinement-final.pdf}
}
@inproceedings{template-haskell-02,
  author = {Tim Sheard and Simon {Peyton Jones}},
  title = {Template metaprogramming for {Haskell}},
  booktitle = {Haskell workshop},
  year = {2002},
  month = oct,
  pages = {1--16},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/meta-haskell.pdf}
}
@article{tennent-ghica-00,
  author = {Robert D. Tennent and Dan Ghica},
  title = {Abstract models of storage},
  journal = {Higher-Order and Symbolic Computation},
  year = {2000},
  volume = {13},
  pages = {119--129},
  url = {http://dx.doi.org/10.1023/A:1010022312623}
}
@article{ter-gabrielyan-19,
  author = {Arshavir Ter{-}Gabrielyan and Alexander J. Summers and
                 Peter M{\"{u}}ller},
  title = {Modular verification of heap reachability properties
                 in separation logic},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{OOPSLA}},
  pages = {121:1--121:28},
  year = {2019},
  url = {https://doi.org/10.1145/3360547}
}
@inproceedings{thatte-94,
  author = {Satish R. Thatt{\'e}},
  title = {Automated synthesis of interface adapters for reusable
                 classes},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1994},
  month = jan,
  pages = {174--187},
  url = {http://doi.acm.org/10.1145/174675.177850}
}
@inproceedings{thielecke-03,
  author = {Hayo Thielecke},
  title = {From control effects to typed continuation passing},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2003},
  pages = {139--149},
  url = {http://www.cs.bham.ac.uk/~hxt/research/effects.pdf}
}
@inproceedings{thielecke-06,
  author = {Hayo Thielecke},
  title = {Frame rules from answer types for code pointers},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2006},
  pages = {309--319},
  url = {http://www.cs.bham.ac.uk/~hxt/research/popl06thielecke.pdf}
}
@article{thielecke-barrel-02,
  author = {Hayo Thielecke},
  title = {Comparing Control Constructs by Double-barrelled
                 {CPS}},
  journal = {Higher-Order and Symbolic Computation},
  year = {2002},
  volume = {15},
  number = {2--3},
  pages = {141--160},
  url = {http://www.cs.bham.ac.uk/~hxt/research/HOSC-double-barrel.pdf}
}
@inproceedings{thiemann-01,
  author = {Peter Thiemann},
  title = {Enforcing Security Properties Using Type
                 Specialization},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  month = apr,
  year = {2001},
  url = {http://www.informatik.uni-freiburg.de/~thiemann/papers/espps-het.ps.gz}
}
@inproceedings{thiemann-99,
  author = {Peter Thiemann},
  title = {{ML}-Style Typing, Lambda Lifting, and Partial
                 Evaluation},
  booktitle = {Latin American Conference on Functional Programming},
  year = {1999},
  month = mar,
  url = {http://www.informatik.uni-freiburg.de/~thiemann/papers/clapf99.ps.gz}
}
@article{thompson-li-13,
  author = {Simon J. Thompson and Huiqing Li},
  title = {Refactoring tools for functional languages},
  journal = {Journal of Functional Programming},
  volume = {23},
  number = {3},
  pages = {293--350},
  year = {2013},
  url = {https://doi.org/10.1017/S0956796813000117}
}
@inproceedings{tian-06,
  author = {Ye Henry Tian},
  title = {Mechanically Verifying Correctness of {CPS}
                 Compilation},
  booktitle = {Computing: The Australasian Theory Symposium
                 {(CATS)}},
  pages = {41--51},
  month = jan,
  year = {2006},
  url = {http://crpit.com/confpapers/CRPITV51Tian.pdf},
  series = {{CRPIT}},
  volume = {51},
  publisher = {Australian Computer Society}
}
@article{timany-birkedal-19,
  author = {Amin Timany and Lars Birkedal},
  title = {Mechanized Relational Verification of Concurrent
                 Programs with Continuations},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {ICFP},
  month = jul,
  year = {2019},
  pages = {105:1--105:28},
  url = {http://doi.acm.org/10.1145/3341709}
}
@inproceedings{timany-birkedal-21,
  author = {Amin Timany and Lars Birkedal},
  title = {Reasoning about monotonicity in separation logic},
  booktitle = {Certified Programs and Proofs (CPP)},
  pages = {91--104},
  month = jan,
  year = {2021},
  url = {https://iris-project.org/pdfs/2021-CPP-monotone-final.pdf}
}
@inproceedings{tiuryn-92,
  author = {Jerzy Tiuryn},
  title = {Subtype inequalities},
  pages = {308--317},
  booktitle = {Logic in Computer Science (LICS)},
  month = jun,
  year = {1992}
}
@article{tiuryn-urzyczyn-02,
  author = {Jerzy Tiuryn and Pawel Urzyczyn},
  title = {The subtyping problem for second-order types is
                 undecidable},
  journal = {Information and Computation},
  volume = {179},
  number = {1},
  year = {2002},
  pages = {1--18},
  url = {http://dx.doi.org/10.1006/inco.2001.2950}
}
@inproceedings{tiuryn-wand-93,
  author = {Jerzy Tiuryn and Mitchell Wand},
  title = {Type Reconstruction with Recursive Types and Atomic
                 Subtyping},
  pages = {686--701},
  year = {1993},
  month = apr,
  booktitle = {Theory and Practice of Software Development
                 ({TAPSOFT})},
  series = {Lecture Notes in Computer Science},
  volume = {668},
  publisher = {Springer},
  url = {ftp://ftp.ccs.neu.edu/pub/people/wand/papers/caap-93.dvi}
}
@inproceedings{tofan-et-al-11,
  author = {Bogdan Tofan and Gerhard Schellhorn and Wolfgang
                 Reif},
  title = {Formal Verification of a Lock-Free Stack with Hazard
                 Pointers},
  booktitle = {Theoretical Aspects of Computing {(ICTAC)}},
  series = {Lecture Notes in Computer Science},
  volume = {6916},
  pages = {239--255},
  publisher = {Springer},
  month = aug,
  year = {2011},
  url = {https://opus.bibliothek.uni-augsburg.de/opus4/frontdoor/index/index/docId/55403}
}
@phdthesis{tofte-88,
  author = {Mads Tofte},
  title = {Operational Semantics and Polymorphic Type Inference},
  school = {University of Edinburgh},
  year = {1988},
  url = {http://hdl.handle.net/1842/6606}
}
@article{tofte-90,
  author = {Mads Tofte},
  title = {Type Inference for Polymorphic References},
  journal = {Information and Computation},
  volume = {89},
  number = {1},
  pages = {1--34},
  year = {1990},
  url = {https://doi.org/10.1016/0890-5401(90)90018-D}
}
@article{tofte-retro-04,
  author = {Mads Tofte and Lars Birkedal and Martin Elsman and
                 Niels Hallenberg},
  title = {A Retrospective on Region-Based Memory Management},
  journal = {Higher-Order and Symbolic Computation},
  year = {2004},
  volume = {17},
  number = {3},
  pages = {245--265},
  month = sep,
  url = {http://www.itu.dk/people/birkedal/papers/regmmp.ps.gz}
}
@inproceedings{tofte-talpin-94,
  author = {Mads Tofte and Jean-Pierre Talpin},
  title = {Implementation of the Typed Call-by-Value
                 $\lambda$-Calculus using a Stack of Regions},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1994},
  pages = {188--201},
  url = {http://www.irisa.fr/prive/talpin/papers/popl94.pdf}
}
@article{tofte-talpin-97,
  author = {Mads Tofte and Jean-Pierre Talpin},
  title = {Region-based memory management},
  journal = {Information and Computation},
  volume = {132},
  number = {2},
  year = {1997},
  pages = {109--176},
  url = {http://www.irisa.fr/prive/talpin/papers/ic97.pdf}
}
@inproceedings{tolmach-97,
  author = {Andrew Tolmach},
  title = {Combining Closure Conversion with Closure Analysis
                 using Algebraic Types},
  booktitle = {Types in Compilation (TIC)},
  year = {1997},
  month = jun,
  url = {http://www.cs.pdx.edu/~apt/tic97.ps}
}
@article{tolmach-oliva-98,
  author = {Andrew Tolmach and Dino P. Oliva},
  title = {From {ML} to {Ada}: Strongly-typed Language
                 Interoperability via Source Translation},
  journal = {Journal of Functional Programming},
  year = {1998},
  volume = {8},
  number = {4},
  pages = {367--412},
  month = jul,
  url = {http://dx.doi.org/10.1017/S0956796898003086}
}
@inproceedings{tomb-flanagan-05,
  author = {Aaron Tomb and Cormac Flanagan},
  title = {Automatic type inference via partial evaluation},
  booktitle = {Principles and Practice of Declarative Programming
                 (PPDP)},
  pages = {106--116},
  month = jul,
  year = {2005},
  url = {http://alumni.soe.ucsc.edu/~atomb/tomb05inference.pdf}
}
@article{topor-82,
  author = {Rodney W. Topor},
  title = {A Note on Error Recovery in Recursive Descent
                 Parsers},
  journal = {{ACM} {SIGPLAN} Notices},
  volume = {17},
  number = {2},
  month = feb,
  year = {1982},
  pages = {37--40},
  url = {http://doi.acm.org/10.1145/947902.947905}
}
@inproceedings{tov-pucella-10,
  author = {Jesse A. Tov and Riccardo Pucella},
  title = {Stateful Contracts for Affine Types},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2010},
  pages = {550--569},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6012},
  url = {https://users.cs.northwestern.edu/~jesse/pubs/affine-contracts/affinecontracts10-bw.pdf}
}
@inproceedings{tov-pucella-11,
  author = {Jesse A. Tov and Riccardo Pucella},
  title = {Practical Affine Types},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2011},
  month = jan,
  pages = {447--458},
  url = {https://users.cs.northwestern.edu/~jesse/pubs/alms/}
}
@inproceedings{transfinite-iris-21,
  author = {Simon Spies and Lennard G{\"{a}}her and Daniel Gratzer
                 and Joseph Tassarotti and Robbert Krebbers and Derek
                 Dreyer and Lars Birkedal},
  title = {Transfinite {Iris}: resolving an existential dilemma
                 of step-indexed separation logic},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {80--95},
  month = jun,
  year = {2021},
  url = {https://doi.org/10.1145/3453483.3454031}
}
@inproceedings{trifonov-smith-96,
  author = {Valery Trifonov and Scott Smith},
  title = {Subtyping Constrained Types},
  booktitle = {Static Analysis Symposium (SAS)},
  series = {Lecture Notes in Computer Science},
  volume = {1145},
  pages = {349--365},
  year = {1996},
  month = sep,
  publisher = {Springer},
  url = {http://flint.cs.yale.edu/trifonov/papers/subcon.pdf}
}
@unpublished{trillium,
  author = {Amin Timany and Simon Oddershede Gregersen and Léo
                 Stefanesco and Léon Gondelman and Abel Nieto and Lars
                 Birkedal},
  title = {Trillium: Unifying Refinement and Higher-Order
                 Distributed Separation Logic},
  note = {Submitted},
  month = oct,
  year = {2021},
  url = {https://arxiv.org/pdf/2109.07863.pdf}
}
@inproceedings{tschantz-ernst-05,
  author = {Matthew S. Tschantz and Michael D. Ernst},
  title = {Javari: adding reference immutability to {Java}},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  month = oct,
  year = {2005},
  pages = {211--230},
  url = {https://homes.cs.washington.edu/~mernst/pubs/ref-immutability-oopsla2005.pdf}
}
@inproceedings{tse-zdancewic-04,
  author = {Stephen Tse and Steve Zdancewic},
  title = {Run-time Principals in Information-flow Type Systems},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  year = {2004},
  month = may,
  url = {http://www.cis.upenn.edu/~stevez/papers/TZ04a.pdf}
}
@inproceedings{tsuiki-94,
  author = {Hideki Tsuiki},
  title = {On Typed Calculi with a Merge Operator},
  booktitle = {Foundations of Software Technology and Theoretical
                 Computer Science (FSTTCS)},
  pages = {101--112},
  year = {1994},
  volume = {880},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.i.h.kyoto-u.ac.jp/~tsuiki/papers/fsttcs.ps.gz}
}
@unpublished{tuerk-10,
  author = {Thomas Tuerk},
  title = {Local reasoning about while-loops},
  year = {2010},
  month = aug,
  note = {Unpublished},
  url = {http://www.cl.cam.ac.uk/~tt291/talks/vstte10.pdf}
}
@phdthesis{turner-95,
  author = {David N. Turner},
  title = {The Polymorphic Pi-Calculus: Theory and
                 Implementation},
  school = {University of Edinburgh},
  year = {1995},
  url = {http://www.lfcs.inf.ed.ac.uk/reports/96/ECS-LFCS-96-345/}
}
@inproceedings{turner-wadler-mossin-95,
  author = {David N. Turner and Philip Wadler and Christian
                 Mossin},
  year = {1995},
  title = {Once upon a type},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  publisher = {ACM Press},
  pages = {1--11},
  month = jun,
  url = {ftp://ftp.dcs.gla.ac.uk/pub/glasgow-fp/authors/Philip_Wadler/once.dvi}
}
@inproceedings{turon-12,
  author = {Aaron Turon},
  title = {Reagents: expressing and composing fine-grained
                 concurrency},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {157--168},
  month = jun,
  year = {2012},
  url = {https://aturon.github.io/academic/reagents.pdf}
}
@inproceedings{turon-caresl-13,
  author = {Aaron Turon and Derek Dreyer and Lars Birkedal},
  title = {Unifying refinement and {Hoare}-style reasoning in a
                 logic for higher-order concurrency},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = sep,
  year = {2013},
  pages = {377--390},
  url = {http://www.mpi-sws.org/~turon/caresl/caresl.pdf}
}
@inproceedings{turon-vafeiadis-dreyer-14,
  author = {Aaron Turon and Viktor Vafeiadis and Derek Dreyer},
  title = {{GPS:} navigating weak memory with ghosts, protocols,
                 and separation},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {691--707},
  month = oct,
  year = {2014},
  url = {http://plv.mpi-sws.org/gps/paper.pdf}
}
@inproceedings{ullrich-de-moura-19,
  author = {Sebastian Ullrich and Leonardo de Moura},
  title = {Counting Immutable Beans: Reference Counting Optimized
                 for Purely Functional Programming},
  booktitle = {Implementation of Functional Languages (IFL)},
  month = sep,
  year = {2019},
  url = {http://arxiv.org/abs/1908.05647}
}
@misc{unicon,
  title = {Unicon},
  note = {\url{http://unicon.sourceforge.net/}},
  url = {http://unicon.sourceforge.net/},
  key = {Unicon}
}
@inproceedings{unnikrishnan-stoller-09,
  author = {Leena Unnikrishnan and Scott D. Stoller},
  title = {Parametric heap usage analysis for functional
                 programs},
  booktitle = {International Symposium on Memory Management},
  pages = {139--148},
  month = jun,
  year = {2009},
  url = {https://www3.cs.stonybrook.edu/~stoller/papers/ismm2009.pdf}
}
@inproceedings{unnikrishnan-stoller-liu-01,
  author = {Leena Unnikrishnan and Scott D. Stoller and Yanhong A.
                 Liu},
  title = {Automatic Accurate Live Memory Analysis for
                 Garbage-Collected Languages},
  booktitle = {Languages, Compilers, and Tools for Embedded Systems
                 {(LCTES)}},
  pages = {102--111},
  month = jun,
  year = {2001},
  url = {https://www3.cs.stonybrook.edu/~stoller/papers/LCTES2001.pdf}
}
@inproceedings{unnikrishnan-stoller-liu-03,
  author = {Leena Unnikrishnan and Scott D. Stoller and Yanhong A.
                 Liu},
  title = {Optimized Live Heap Bound Analysis},
  booktitle = {Verification, Model Checking and Abstract
                 Interpretation (VMCAI)},
  series = {Lecture Notes in Computer Science},
  volume = {2575},
  pages = {70--85},
  publisher = {Springer},
  month = jan,
  year = {2003},
  url = {https://www3.cs.stonybrook.edu/~stoller/papers/VMCAI2003.pdf}
}
@article{urban-04,
  author = {Christian Urban and Andrew Pitts and Murdoch Gabbay},
  title = {Nominal Unification},
  journal = {Theoretical Computer Science},
  year = {2004},
  url = {http://gabbay.org.uk/papers/nomu-jv.pdf},
  volume = {323},
  pages = {473--497}
}
@article{urban-08,
  author = {Christian Urban},
  title = {Nominal Techniques in {Isabelle/HOL}},
  journal = {Journal of Automated Reasoning},
  volume = {40},
  number = {4},
  pages = {327--356},
  year = {2008},
  url = {https://nms.kcl.ac.uk/christian.urban/Publications/nom-tech.pdf}
}
@incollection{urban-nipkow-09,
  title = {Nominal verification of algorithm {W}},
  booktitle = {From Semantics to Computer Science: Essays in Honour
                 of {Gilles Kahn}},
  publisher = {Cambridge University Press},
  author = {Christian Urban and Tobias Nipkow},
  editor = {Yves Bertot and Gérard Huet and Jean-Jacques Lévy
                 and Gordon Plotkin},
  year = {2009},
  pages = {363–382},
  url = {https://www21.in.tum.de/~nipkow/pubs/w.pdf}
}
@inproceedings{urban-tasson-05,
  author = {Christian Urban and Christine Tasson},
  title = {Nominal Techniques in {Isabelle/HOL}},
  booktitle = {International Conference on Automated Deduction
                 (CADE)},
  month = jul,
  year = {2005},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  volume = {3632},
  pages = {38--53},
  url = {http://www4.in.tum.de/~urbanc/Publications/nom-cade-05.ps}
}
@unpublished{vacid,
  author = {K. Rustan M. Leino and Michal Moskal},
  title = {{VACID}-0: Verification of Ample Correctness of
                 Invariants of Data-structures, Edition 0},
  note = {Manuscript KRML 209},
  month = jul,
  year = {2010},
  url = {http://research.microsoft.com/en-us/um/people/moskal/pdf/vacid0.pdf}
}
@article{vafeiadis-11,
  author = {Viktor Vafeiadis},
  title = {Concurrent Separation Logic and Operational
                 Semantics},
  journal = {Electronic Notes in Theoretical Computer Science},
  volume = {276},
  year = {2011},
  pages = {335--351},
  url = {http://www.mpi-sws.org/~viktor/papers/mfps2011-cslsound.pdf}
}
@inproceedings{vafeiadis-cav-17,
  author = {Viktor Vafeiadis},
  title = {Program Verification Under Weak Memory Consistency
                 Using Separation Logic},
  booktitle = {Computer Aided Verification (CAV)},
  pages = {30--46},
  month = jul,
  year = {2017},
  url = {https://people.mpi-sws.org/~viktor/papers/cav2017-invited.pdf},
  series = {Lecture Notes in Computer Science},
  volume = {10426},
  publisher = {Springer}
}
@inproceedings{vafeiadis-narayan-13,
  author = {Viktor Vafeiadis and Chinmay Narayan},
  title = {Relaxed separation logic: a program logic for {C11}
                 concurrency},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {867--884},
  month = oct,
  year = {2013},
  url = {https://people.mpi-sws.org/~viktor/papers/oopsla2013-rsl.pdf}
}
@inproceedings{vakar-21,
  author = {Matthijs V{\'{a}}k{\'{a}}r},
  title = {Reverse {AD} at Higher Types: Pure, Principled and
                 Denotationally Correct},
  booktitle = {European Symposium on Programming (ESOP)},
  series = {Lecture Notes in Computer Science},
  volume = {12648},
  pages = {607--634},
  publisher = {Springer},
  month = apr,
  year = {2021},
  url = {https://doi.org/10.1007/978-3-030-72019-3_22}
}
@article{vakar-smeding-22,
  author = {Matthijs Vákár and Tom Smeding},
  title = {{CHAD}: Combinatory Homomorphic Automatic
                 Differentiation},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  year = {2022},
  volume = {44},
  number = {3},
  pages = {1--49},
  month = sep,
  url = {https://doi.org/10.1145/3527634}
}
@article{valmari-12,
  author = {Antti Valmari},
  title = {Fast brief practical {DFA} minimization},
  journal = {Information Processing Letters},
  volume = {112},
  number = {6},
  pages = {213--217},
  year = {2012},
  url = {https://doi.org/10.1016/j.ipl.2011.12.004}
}
@article{van-dooren-jacobs-joosen-14,
  author = {Marko van Dooren and Bart Jacobs and Wouter Joosen},
  title = {Modular type checking of anchored exception
                 declarations},
  journal = {Science of Computer Programming},
  volume = {87},
  pages = {44--61},
  year = {2014},
  url = {https://doi.org/10.1016/j.scico.2013.10.007}
}
@inproceedings{van-dooren-steegmans-05,
  author = {Marko {van Dooren} and Eric Steegmans},
  title = {Combining the robustness of checked exceptions with
                 the flexibility of unchecked exceptions using anchored
                 exception declarations},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {455--471},
  month = oct,
  year = {2005},
  url = {https://doi.org/10.1145/1094811.1094847}
}
@inproceedings{vanstaden-10,
  author = {Stephan {van Staden} and Cristiano Calcagno and
                 Bertrand Meyer},
  title = {Verifying Executable Object-Oriented Specifications
                 with Separation Logic},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  series = {Lecture Notes in Computer Science},
  volume = {6183},
  pages = {151--174},
  publisher = {Springer},
  month = jun,
  year = {2010},
  url = {https://doi.org/10.1007/978-3-642-14107-2_8}
}
@inproceedings{vaziri-jackson-03,
  author = {Mandana Vaziri and Daniel Jackson},
  title = {Checking Heap-Manipulating Procedures with a
                 Constraint Solver},
  booktitle = {Tools and Algorithms for Construction and Analysis of
                 Systems (TACAS)},
  month = apr,
  year = {2003},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2619},
  url = {http://sdg.lcs.mit.edu/pubs/2003/checkingHMPs.pdf}
}
@inproceedings{vazou-lampropoulos-polakow-17,
  author = {Niki Vazou and Leonidas Lampropoulos and Jeff
                 Polakow},
  title = {A tale of two provers: verifying monoidal string
                 matching in {Liquid Haskell} and {Coq}},
  booktitle = {Haskell symposium},
  pages = {63--74},
  month = sep,
  year = {2017},
  url = {https://nikivazou.github.io/static/Haskell17/a-tale.pdf}
}
@inproceedings{vdw-mckinna-08,
  author = {Eelis {van der Weegen} and James McKinna},
  title = {A Machine-Checked Proof of the Average-Case Complexity
                 of {Quicksort} in {Coq}},
  booktitle = {Types for Proofs and Programs},
  month = mar,
  year = {2008},
  pages = {256--271},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5497},
  url = {http://www.cs.ru.nl/~james/2008-TYPES/final.pdf}
}
@inproceedings{veltri-van-der-weide-19,
  author = {Niccol{\`{o}} Veltri and Niels van der Weide},
  title = {Guarded Recursion in {Agda} via Sized Types},
  booktitle = {Formal Structures for Computation and Deduction
                 (FSCD)},
  series = {{Leibniz} International Proceedings in Informatics},
  volume = {131},
  pages = {32:1--32:19},
  publisher = {Schloss Dagstuhl - Leibniz-Zentrum f{\"{u}}r
                 Informatik},
  month = jun,
  year = {2019},
  url = {https://doi.org/10.4230/LIPIcs.FSCD.2019.32}
}
@phdthesis{verasco,
  author = {Jacques-Henri Jourdan},
  title = {Verasco: a Formally Verified {C} Static Analyzer},
  year = {2016},
  month = may,
  school = {Université Paris Diderot},
  url = {https://jhjourdan.mketjh.fr/thesis_jhjourdan.pdf}
}
@inproceedings{vergauwen-lewi-94,
  author = {Bart Vergauwen and Johan Lewi},
  title = {Efficient Local Correctness Checking for Single and
                 Alternating {Boolean} Equation Systems},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  year = {1994},
  pages = {304--315},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {820},
  url = {http://dx.doi.org/10.1007/3-540-58201-0_77}
}
@inproceedings{vergauwen-nested-94,
  author = {Bart Vergauwen and Johan Lewi and I. Avau and A.
                 Poté},
  title = {Efficient computation of nested fix-points, with
                 applications to model checking},
  booktitle = {International Conference on Temporal Logic (ICTL)},
  pages = {165--179},
  year = {1994},
  volume = {827},
  series = {Lecture Notes in Computer Science},
  month = jul,
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/BFb0013987}
}
@inproceedings{vergauwen-wauman-lewi-94,
  author = {Bart Vergauwen and J. Wauman and Johan Lewi},
  title = {Efficient fixpoint computation},
  booktitle = {Static Analysis Symposium (SAS)},
  pages = {314--328},
  year = {1994},
  volume = {864},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://dx.doi.org/10.1007/3-540-58485-4_49}
}
@techreport{verifast,
  author = {Bart Jacobs and Frank Piessens},
  title = {The {VeriFast} Program Verifier},
  institution = {Department of Computer Science, Katholieke
                 Universiteit Leuven},
  year = {2008},
  number = {CW-520},
  month = aug,
  url = {http://people.cs.kuleuven.be/~bart.jacobs/verifast/verifast.pdf}
}
@unpublished{verifast-tutorial,
  author = {Bart Jacobs and Jan Smans and Frank Piessens},
  title = {The {VeriFast} Program Verifier: {A} Tutorial},
  note = {Unpublished},
  month = nov,
  year = {2017},
  url = {https://people.cs.kuleuven.be/~bart.jacobs/verifast/tutorial.pdf}
}
@inproceedings{villard-lozes-calcagno-09,
  author = {Jules Villard and Étienne Lozes and Cristiano
                 Calcagno},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  month = dec,
  pages = {194--209},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  title = {Proving Copyless Message Passing},
  url = {http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/VLC-aplas09.pdf},
  volume = {5904},
  year = {2009}
}
@inproceedings{villard-lozes-calcagno-10,
  author = {Jules Villard and Étienne Lozes and Cristiano
                 Calcagno},
  booktitle = {Tools and Algorithms for Construction and Analysis of
                 Systems (TACAS)},
  month = mar,
  pages = {275--279},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  title = {Tracking Heaps that Hop with {Heap-Hop}},
  url = {http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/VLC-tacas10.pdf},
  volume = {6015},
  year = {2010}
}
@inproceedings{vindum-birkedal-21,
  author = {Simon Friis Vindum and Lars Birkedal},
  title = {Contextual refinement of the {Michael-Scott} queue},
  booktitle = {Certified Programs and Proofs (CPP)},
  pages = {76--90},
  month = jan,
  year = {2021},
  url = {https://cs.au.dk/~birke/papers/2021-ms-queue-final.pdf}
}
@incollection{viper,
  author = {Peter M{\"{u}}ller and Malte Schwerhoff and Alexander
                 J. Summers},
  title = {Viper: {A} Verification Infrastructure for
                 Permission-Based Reasoning},
  booktitle = {Dependable Software Systems Engineering},
  series = {{NATO} Science for Peace and Security Series - {D:}
                 Information and Communication Security},
  publisher = {{IOS} Press},
  pages = {104--125},
  year = {2017},
  url = {https://doi.org/10.3233/978-1-61499-810-5-104}
}
@misc{visitors,
  author = {François Pottier},
  title = {The \texttt{visitors} package},
  month = apr,
  year = {2017},
  howpublished = {\url{https://gitlab.inria.fr/fpottier/visitors}}
}
@inproceedings{visser-97,
  title = {A Case Study in Optimizing Parsing Schemata by
                 Disambiguation Filters},
  author = {Eelco Visser},
  booktitle = {Workshop on Parsing Technologies},
  month = sep,
  year = {1997},
  publisher = {Association for Computational Linguistics},
  url = {https://aclanthology.org/1997.iwpt-1.24},
  pages = {210--224}
}
@article{vitek-bokowski-01,
  author = {Jan Vitek and Boris Bokowski},
  title = {Confined types in {Java}},
  journal = {Software: Practice and Experience},
  volume = {31},
  number = {6},
  pages = {507--532},
  year = {2001},
  url = {https://www.cerias.purdue.edu/assets/pdf/bibtex_archive/2001-63.pdf}
}
@inproceedings{voigtlander-08,
  author = {Janis Voigtl{\"{a}}nder},
  title = {Asymptotic Improvement of Computations over Free
                 Monads},
  booktitle = {Mathematics of Program Construction (MPC)},
  series = {Lecture Notes in Computer Science},
  volume = {5133},
  pages = {388--403},
  publisher = {Springer},
  year = {2008},
  url = {https://janis-voigtlaender.eu/papers/AsymptoticImprovementOfComputationsOverFreeMonads.pdf}
}
@article{volpano-97,
  author = {Dennis Volpano},
  title = {Provably-Secure Programming Languages for Remote
                 Evaluation},
  journal = {{ACM} {SIGPLAN} Notices},
  volume = {32},
  number = {1},
  pages = {117--119},
  month = jan,
  year = {1997}
}
@article{volpano-smith-97,
  author = {Dennis Volpano and Geoffrey Smith},
  title = {A Type-Based Approach to Program Security},
  journal = {Lecture Notes in Computer Science},
  volume = {1214},
  pages = {607--621},
  month = apr,
  year = {1997},
  url = {http://www.cs.nps.navy.mil/people/faculty/volpano/papers/tapsoft97.ps.Z}
}
@inproceedings{volpano-smith-csfw-97,
  author = {Dennis Volpano and Geoffrey Smith},
  year = {1997},
  title = {Eliminating Covert Flows with Minimum Typings},
  booktitle = {{IEEE} Computer Security Foundations Workshop},
  pages = {156--168},
  month = jun,
  url = {http://www.cs.nps.navy.mil/people/faculty/volpano/papers/csfw97.ps.Z}
}
@article{volpano-smith-irvine-96,
  author = {Dennis Volpano and Geoffrey Smith and Cynthia Irvine},
  title = {A Sound Type System for Secure Flow Analysis},
  journal = {Journal of Computer Security},
  volume = {4},
  number = {3},
  pages = {167--187},
  year = {1996},
  url = {http://www.cs.nps.navy.mil/people/faculty/volpano/papers/jcs96.ps.Z}
}
@inproceedings{vorobyov-96,
  author = {Sergei G. Vorobyov},
  title = {An Improved Lower Bound for the Elementary Theories of
                 Trees},
  booktitle = {International Conference on Automated Deduction
                 (CADE)},
  pages = {275--287},
  year = {1996},
  volume = {1104},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.mpi-sb.mpg.de/~sv/publications/complexity/2ILB.ps.Z}
}
@inproceedings{vouillon-mellies-04,
  author = {Jérôme Vouillon and Paul-André Melliès},
  title = {Semantic types: a fresh look at the ideal model for
                 types},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2004},
  pages = {52--63},
  url = {http://www.pps.jussieu.fr/~vouillon/publi/cbv.ps.gz}
}
@inproceedings{vries-06,
  author = {Edsko de Vries and Rinus Plasmeijer and David
                 Abrahamson},
  title = {Uniqueness Typing Redefined},
  booktitle = {Implementation of Functional Languages (IFL)},
  pages = {181--198},
  year = {2006},
  volume = {4449},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {https://www.cs.tcd.ie/~devriese/pub/ifl06-paper.pdf}
}
@inproceedings{vries-07,
  author = {Edsko de Vries and Rinus Plasmeijer and David
                 Abrahamson},
  title = {Equality Based Uniqueness Typing},
  booktitle = {Trends in Functional Programming (TFP)},
  year = {2007},
  url = {https://www.cs.tcd.ie/~devriese/pub/tfp07-paper.pdf}
}
@unpublished{vytiniotis-boxy-05,
  author = {Dimitrios Vytiniotis and Stephanie Weirich and Simon
                 {Peyton Jones}},
  title = {Boxy types: type inference for higher-rank types and
                 impredicativity},
  note = {Manuscript},
  month = apr,
  year = {2005},
  url = {http://research.microsoft.com/Users/simonpj/papers/boxy/}
}
@article{vytiniotis-outsidein-11,
  author = {Dimitrios Vytiniotis and Simon {Peyton Jones} and Tom
                 Schrijvers and Martin Sulzmann},
  title = {{OutsideIn(X)}: Modular type inference with local
                 assumptions},
  journal = {Journal of Functional Programming},
  volume = {21},
  number = {4--5},
  year = {2011},
  pages = {333--412},
  url = {http://research.microsoft.com/en-us/um/people/simonpj/papers/constraints/jfp-outsidein.pdf}
}
@inproceedings{vytiniotis-pie-07,
  author = {Dimitrios Vytiniotis and Stephanie Weirich},
  title = {Dependent Types: Easy as {PIE}},
  booktitle = {Trends in Functional Programming (TFP)},
  year = {2007},
  month = apr,
  url = {http://www.seas.upenn.edu/~sweirich/papers/tfp07.pdf}
}
@inproceedings{wadler-85,
  author = {Philip L. Wadler},
  title = {How to replace failure by a list of successes},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {201},
  month = sep,
  year = {1985},
  pages = {113--128},
  url = {http://dx.doi.org/10.1007/3-540-15975-4_33}
}
@inproceedings{wadler-blott-89,
  author = {Philip Wadler and Stephen Blott},
  title = {How to make ad-hoc polymorphism less ad-hoc},
  pages = {60--76},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1989},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/class/class.ps.gz}
}
@article{wadler-comprehending-92,
  author = {Philip Wadler},
  title = {Comprehending monads},
  journal = {Mathematical Structures in Computer Science},
  year = {1992},
  volume = {2},
  pages = {461--493},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/monads/monads.ps.gz}
}
@inproceedings{wadler-essence-92,
  author = {Philip Wadler},
  title = {The essence of functional programming},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1992},
  pages = {1--14},
  note = {Invited talk},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/essence/essence.ps}
}
@inproceedings{wadler-free-89,
  author = {Philip Wadler},
  title = {Theorems for free!},
  booktitle = {Functional Programming Languages and Computer
                 Architecture (FPCA)},
  month = sep,
  year = {1989},
  pages = {347--359},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/free/free.ps.gz}
}
@article{wadler-isomorphism-07,
  author = {Philip Wadler},
  title = {The {Girard}-{Reynolds} isomorphism (second edition)},
  journal = {Theoretical Computer Science},
  year = {2007},
  volume = {375},
  number = {1--3},
  pages = {201--226},
  month = may,
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/gr2/gr2.pdf}
}
@incollection{wadler-linear-90,
  author = {Philip Wadler},
  title = {Linear types can change the world!},
  booktitle = {Programming Concepts and Methods},
  publisher = {North Holland},
  year = {1990},
  editor = {M. Broy and C. Jones},
  month = apr,
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/linear/linear.ps}
}
@article{wadler-thiemann-03,
  author = {Philip Wadler and Peter Thiemann},
  title = {The marriage of effects and monads},
  journal = {ACM Transactions on Computational Logic},
  volume = {4},
  number = {1},
  pages = {1--32},
  month = jan,
  year = {2003},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/effectstocl/effectstocl.ps.gz}
}
@inproceedings{walker-00,
  author = {David Walker},
  title = {A Type System for Expressive Security Policies},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2000},
  pages = {254--267},
  url = {http://www.cs.cornell.edu/home/walker/papers/sa-popl00_ps.gz}
}
@incollection{walker-attapl-05,
  author = {David Walker},
  title = {Substructural Type Systems},
  booktitle = {Advanced Topics in Types and Programming Languages},
  pages = {3--43},
  publisher = {MIT Press},
  year = {2005},
  editor = {Benjamin C. Pierce},
  chapter = {1}
}
@article{walker-capabilities-00,
  author = {David Walker and Karl Crary and Greg Morrisett},
  title = {Typed memory management via static capabilities},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {22},
  number = {4},
  year = {2000},
  pages = {701--771},
  url = {http://www.cs.princeton.edu/~dpw/papers/capabilities-toplas.pdf}
}
@phdthesis{wallach-99,
  author = {Dan S. Wallach},
  title = {A New Approach to Mobile Code Security},
  school = {Princeton University},
  month = jan,
  year = {1999},
  url = {http://www.cs.princeton.edu/sip/pub/dwallach-dissertation.html}
}
@article{wallach-appel-felten-00,
  author = {Dan S. Wallach and Andrew W. Appel and Edward W.
                 Felten},
  title = {Safkasi: {A} Security Mechanism for Language-based
                 Systems},
  journal = {ACM Transactions on Software Engineering and
                 Methodology},
  month = oct,
  year = {2000},
  volume = {9},
  number = {4},
  pages = {341--378},
  url = {http://www.cs.rice.edu/~dwallach/pub/tosem2000.ps}
}
@inproceedings{wallach-felten-stack-98,
  author = {Dan S. Wallach and Edward Felten},
  title = {Understanding {Java} Stack Inspection},
  booktitle = {{IEEE} Symposium on Security and Privacy (S\&P)},
  month = may,
  year = {1998},
  url = {http://www.cs.princeton.edu/sip/pub/oakland98.php3}
}
@article{walther-griewank-vogel-03,
  author = {Andrea Walther and Andreas Griewank and Olaf Vogel},
  title = {{ADOL-C}: Automatic Differentiation Using Operator
                 Overloading in {C++}},
  journal = {Proceedings in Applied Mathematics and Mechanics},
  year = {2003},
  volume = {2},
  number = {1},
  pages = {41--44},
  month = mar,
  url = {https://onlinelibrary.wiley.com/doi/pdf/10.1002/pamm.200310011}
}
@article{wand-80,
  author = {Mitchell Wand},
  title = {Continuation-Based Program Transformation Strategies},
  journal = {Journal of the {ACM}},
  volume = {27},
  number = {1},
  year = {1980},
  pages = {164--180},
  url = {http://dx.doi.org/10.1145/322169.322183}
}
@inproceedings{wand-85,
  author = {Mitchell Wand},
  title = {Embedding type structure in semantics},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1985},
  pages = {1--6},
  url = {http://doi.acm.org/10.1145/318593.318602}
}
@inproceedings{wand-86,
  author = {Mitchell Wand},
  title = {Finding the Source of Type Errors},
  booktitle = {Principles of Programming Languages ({POPL})},
  pages = {38--43},
  year = {1986},
  month = jan,
  url = {http://doi.acm.org/10.1145/512644.512648}
}
@article{wand-87,
  author = {Mitchell Wand},
  title = {A Simple Algorithm and Proof for Type Inference},
  journal = {Fundamenta Informaticæ},
  volume = {10},
  pages = {115--122},
  year = {1987},
  url = {http://web.cs.ucla.edu/~palsberg/course/cs239/reading/wand87.pdf}
}
@inproceedings{wand-91,
  author = {Mitchell Wand},
  title = {Correctness of Procedure Representations in
                 Higher-Order Assembly Language},
  booktitle = {Mathematical Foundations of Programming Semantics},
  pages = {294--311},
  month = mar,
  year = {1991},
  series = {Lecture Notes in Computer Science},
  volume = {598},
  publisher = {Springer},
  url = {http://www.ccs.neu.edu/home/wand/papers/mfps-91.dvi}
}
@article{wand-concat,
  author = {Mitchell Wand},
  title = {Type Inference for Record Concatenation and Multiple
                 Inheritance},
  month = jul,
  year = {1991},
  volume = {93},
  number = {1},
  pages = {1--15},
  journal = {Information and Computation},
  url = {ftp://ftp.ccs.neu.edu/pub/people/wand/papers/ic-91.dvi}
}
@incollection{wand-objects,
  author = {Mitchell Wand},
  title = {Type Inference for Objects with Instance Variables and
                 Inheritance},
  booktitle = {Theoretical Aspects Of Object-Oriented Programming:
                 Types, Semantics and Language Design},
  editor = {Carl A. Gunter and John C. Mitchell},
  publisher = {MIT Press},
  pages = {97--120},
  year = {1994},
  url = {ftp://ftp.ccs.neu.edu/pub/people/wand/papers/gunter-mitchell-94.dvi}
}
@inproceedings{wand-steckler-94,
  author = {Mitchell Wand and Paul A. Steckler},
  title = {Selective and lightweight closure conversion},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {1994},
  pages = {435--445},
  url = {http://doi.acm.org/10.1145/174675.178044}
}
@article{wang-19,
  author = {Fei Wang and Daniel Zheng and James M. Decker and
                 Xilun Wu and Grégory M. Essertel and Tiark Rompf},
  title = {Demystifying differentiable programming: shift/reset
                 the penultimate backpropagator},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{ICFP}},
  pages = {96:1--96:31},
  year = {2019},
  url = {https://doi.org/10.1145/3341700}
}
@article{wang-cao-mohan-hobor-19,
  author = {Shengyi Wang and Qinxiang Cao and Anshuman Mohan and
                 Aquinas Hobor},
  title = {Certifying graph-manipulating {C} programs via
                 localizations within data structures},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{OOPSLA}},
  pages = {171:1--171:30},
  year = {2019},
  url = {https://doi.org/10.1145/3360597}
}
@inproceedings{wang-rompf-18,
  author = {Fei Wang and Tiark Rompf},
  title = {A Language and Compiler View on Differentiable
                 Programming},
  booktitle = {International Conference on Learning Representations
                 {(ICLR)}, Workshop Track},
  year = {2018},
  url = {https://openreview.net/forum?id=SJxJtYkPG}
}
@article{wang-timl-17,
  author = {Peng Wang and Di Wang and Adam Chlipala},
  title = {{TiML}: {A} Functional Language for Practical
                 Complexity Analysis with Invariants},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {1},
  number = {OOPSLA},
  month = oct,
  year = {2017},
  pages = {79:1--79:26},
  url = {http://adam.chlipala.net/papers/TimlOOPSLA17/TimlOOPSLA17.pdf}
}
@article{ward-96,
  author = {Martin Ward},
  title = {Derivation of Data Intensive Algorithms by Formal
                 Transformation -- The {Schorr-Waite} Graph Marking
                 Algorithm},
  journal = {IEEE Transactions on Software Engineering},
  year = {1996},
  volume = {22},
  number = {9},
  pages = {665--686},
  month = sep,
  url = {http://www.cse.dmu.ac.uk/~mward/martin/papers/sw-alg-t.pdf}
}
@incollection{warren-82,
  author = {D. H. D. Warren},
  title = {Higher-order extensions to {PROLOG}: are they
                 needed?},
  booktitle = {Machine Intelligence 10},
  pages = {441--454},
  publisher = {Ellis Horwood},
  year = {1982},
  editor = {J. E. Hayes and D. Michie and Y-H. Pao}
}
@inproceedings{warth-douglass-millstein-08,
  author = {Alessandro Warth and James R. Douglass and Todd D.
                 Millstein},
  title = {Packrat parsers can support left recursion},
  booktitle = {Workshop on Evaluation and Semantics-Based Program
                 Manipulation ({PEPM})},
  month = jan,
  year = {2008},
  pages = {103--110},
  url = {http://www.cs.ucla.edu/~todd/research/pepm08.pdf}
}
@article{wasmref-23,
  author = {Conrad Watt and Maja Trela and Peter Lammich and
                 Florian M{\"{a}}rkl},
  title = {{WasmRef-Isabelle}: A Verified Monadic Interpreter and
                 Industrial Fuzzing Oracle for {WebAssembly}},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {7},
  number = {{PLDI}},
  pages = {100--123},
  year = {2023},
  url = {https://doi.org/10.1145/3591224}
}
@article{wegbreit-75,
  author = {Ben Wegbreit},
  title = {Mechanical Program Analysis},
  journal = {Communications of the {ACM}},
  volume = {18},
  number = {9},
  month = sep,
  year = {1975},
  pages = {528--539},
  url = {http://doi.acm.org/10.1145/361002.361016}
}
@article{wegener-02,
  author = {Ingo Wegener},
  title = {A simplified correctness proof for a well-known
                 algorithm computing strongly connected components},
  journal = {Information Processing Letters},
  year = {2002},
  volume = {83},
  number = {1},
  pages = {17--19},
  url = {http://ls2-www.cs.uni-dortmund.de/~wegener/papers/connected.pdf}
}
@inproceedings{weirich-00,
  author = {Stephanie Weirich},
  title = {Type-Safe Cast: Functional Pearl},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2000},
  month = sep,
  pages = {58--67},
  url = {http://www.cis.upenn.edu/~sweirich/papers/cast/cast.pdf}
}
@article{weirich-polytypic-06,
  author = {Stephanie Weirich},
  title = {Type-Safe Run-time Polytypic Programming},
  journal = {Journal of Functional Programming},
  year = {2006},
  volume = {16},
  number = {10},
  pages = {681--710},
  month = nov,
  url = {http://www.seas.upenn.edu/~sweirich/papers/erasure/erasure-jfp.pdf}
}
@inproceedings{weirich-replib-06,
  author = {Stephanie Weirich},
  title = {{RepLib}: a library for derivable type classes},
  booktitle = {Haskell workshop},
  pages = {1--12},
  year = {2006},
  url = {http://www.seas.upenn.edu/~sweirich/RepLib/haskell08-weirich.pdf}
}
@misc{weirich-tc-04,
  author = {Stephanie Weirich},
  title = {A typechecker that produces a typed term from an
                 untyped source},
  howpublished = {Part of the Glasgow Haskell compiler's test suite},
  month = sep,
  year = {2004},
  url = {http://cvs.haskell.org/cgi-bin/cvsweb.cgi/fptools/testsuite/tests/ghc-regress/gadt/tc.hs?rev=1.1}
}
@inproceedings{weirich-yorgey-sheard-11,
  author = {Stephanie Weirich and Brent A. Yorgey and Tim Sheard},
  title = {Binders unbound},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  pages = {333--345},
  month = sep,
  year = {2011},
  url = {http://www.seas.upenn.edu/~sweirich/papers/icfp11.pdf}
}
@inproceedings{wells-02,
  author = {J. B. Wells},
  title = {The Essence of Principal Typings},
  booktitle = {International Colloquium on Automata, Languages and
                 Programming},
  pages = {913--925},
  publisher = {Springer},
  volume = {2380},
  series = {Lecture Notes in Computer Science},
  year = {2002},
  url = {http://www.macs.hw.ac.uk/~jbw/papers/Wells:The-Essence-of-Principal-Typings:ICALP-2002.pdf}
}
@techreport{wells-95,
  author = {J. B. Wells},
  title = {The Undecidability of {Mitchell's} Subtyping
                 Relation},
  institution = {Computer Science Department, Boston University},
  year = {1995},
  month = dec,
  url = {http://www.cs.bu.edu/ftp/pub/jbw/types/subtyping-undecidable.ps.gz},
  type = {Technical Report},
  number = {95-019}
}
@article{wells-99,
  author = {J. B. Wells},
  title = {Typability and type checking in System {F} are
                 equivalent and undecidable},
  journal = {Annals of Pure and Applied Logic},
  year = {1999},
  volume = {98},
  number = {1--3},
  pages = {111--156},
  url = {https://doi.org/10.1016/S0168-0072(98)00047-5}
}
@phdthesis{werner-94,
  author = {Benjamin Werner},
  title = {Une Théorie des Constructions Inductives},
  school = {Université Paris 7},
  year = {1994}
}
@inproceedings{westbrook-05,
  author = {Edwin Westbrook and Aaron Stump and Ian Wehrman},
  title = {A language-based approach to functionally correct
                 imperative programming},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  year = {2005},
  pages = {268--279},
  url = {http://cl.cse.wustl.edu/papers/rsp1-icfp05.pdf}
}
@phdthesis{westbrook-08,
  author = {Edwin M. Westbrook},
  title = {Higher-Order Encodings with Constructors},
  school = {Washington University},
  year = {2008},
  month = dec,
  url = {http://www.cs.rice.edu/~emw4/thesis-westbrook.pdf}
}
@techreport{why,
  author = {Jean-Christophe Filliâtre},
  title = {{Why}: a multi-language multi-prover verification
                 tool},
  institution = {LRI, Université Paris Sud},
  type = {Research Report},
  number = {1366},
  month = mar,
  year = {2003},
  url = {http://www.lri.fr/~filliatr/ftp/publis/why-tool.ps.gz}
}
@inproceedings{why-07,
  author = {Jean-Christophe Filliâtre and Claude Marché},
  title = {The {Why}/{Kra\-ka\-toa}/{Ca\-du\-ceus} Platform for
                 Deductive Program Verification},
  booktitle = {Computer Aided Verification (CAV)},
  month = jul,
  year = {2007},
  pages = {173--177},
  volume = {4590},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.lri.fr/~filliatr/ftp/publis/cav07.pdf}
}
@inproceedings{why3,
  author = {Jean-Christophe Filli\^atre and Andrei Paskevich},
  title = {Why3---Where Programs Meet Provers},
  booktitle = {European Symposium on Programming (ESOP)},
  month = mar,
  year = {2013},
  volume = {7792},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  pages = {125--128},
  url = {http://hal.inria.fr/hal-00789533}
}
@inproceedings{wilcox-flanagan-freund-18,
  author = {James R. Wilcox and Cormac Flanagan and Stephen N.
                 Freund},
  title = {{VerifiedFT}: a verified, high-performance precise
                 dynamic race detector},
  booktitle = {Principles and Practice of Parallel Programming
                 (PPoPP)},
  pages = {354--367},
  month = feb,
  year = {2018},
  url = {https://jamesrwilcox.com/vft.pdf}
}
@article{williams-64,
  author = {J. W. J. Williams},
  title = {Algorithm 232: Heapsort},
  journal = {Communications of the {ACM}},
  year = {1964},
  volume = {7},
  number = {6},
  pages = {347--348},
  month = jun,
  url = {http://doi.acm.org/10.1145/512274.512284}
}
@inproceedings{wimmer-hu-nipkow-18,
  author = {Simon Wimmer and Shuwei Hu and Tobias Nipkow},
  title = {Verified Memoization and Dynamic Programming},
  booktitle = {Interactive Theorem Proving (ITP)},
  pages = {579--596},
  month = jul,
  year = {2018},
  series = {Lecture Notes in Computer Science},
  volume = {10895},
  publisher = {Springer},
  url = {http://home.in.tum.de/~wimmers/papers/Memoization_DP.pdf}
}
@inproceedings{wing-rollins-zaremsky-92,
  author = {Jeannette M. Wing and Eugene Rollins and Amy Moormann
                 Zaremski},
  title = {Thoughts on a {Larch/ML} and a New Application for
                 {LP}},
  booktitle = {First International Workshop on Larch},
  year = {1992},
  month = jul,
  url = {http://reports-archive.adm.cs.cmu.edu/anon/usr0/ftp/home/ftp/1992/CMU-CS-92-135.ps},
  pages = {297--312}
}
@book{wirth-78,
  author = {Niklaus Wirth},
  title = {Algorithms + Data Structures = Programs},
  year = {1978},
  publisher = {Prentice Hall}
}
@inproceedings{wisnesky-malecha-morrisett-09,
  author = {Ryan Wisnesky and Gregory Malecha and Greg Morrisett},
  title = {Certified Web Services in {Ynot}},
  booktitle = {Workshop on Automated Specification and Verification
                 of Web Systems},
  month = jul,
  year = {2009},
  url = {http://wisnesky.net/wwv09.pdf}
}
@inproceedings{wolff-11,
  author = {Roger Wolff and Ronald Garcia and \'{E}ric Tanter and
                 Jonathan Aldrich},
  title = {Gradual typestate},
  booktitle = {European Conference on Object-Oriented Programming
                 (ECOOP)},
  month = jul,
  year = {2011},
  pages = {459--483},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {6813},
  url = {http://www.cs.cmu.edu/~aldrich/papers/aldrich-gradual-ecoop11.pdf}
}
@inproceedings{woodward-79,
  author = {J. P. L. Woodward},
  title = {Applications for Multilevel Secure Operating Systems},
  booktitle = {Proceedings {NCC}},
  year = {1979},
  pages = {319--328},
  volume = {48},
  publisher = {{AFIPS} Press},
  month = jun
}
@article{wright-cartwright-97,
  author = {Andrew K. Wright and Robert Cartwright},
  title = {A Practical Soft Type System for {Scheme}},
  journal = {ACM Transactions on Programming Languages and
                 Systems},
  volume = {19},
  number = {1},
  pages = {87--152},
  month = jan,
  year = {1997},
  url = {http://doi.acm.org/10.1145/239912.239917}
}
@article{wright-felleisen-94,
  title = {A Syntactic Approach to Type Soundness},
  author = {Andrew K. Wright and Matthias Felleisen},
  pages = {38--94},
  journal = {Information and Computation},
  month = nov,
  year = {1994},
  volume = {115},
  number = {1},
  url = {https://doi.org/10.1006/inco.1994.1093}
}
@techreport{wright-restriction-93,
  author = {Andrew K. Wright},
  institution = {Rice University},
  title = {Polymorphism for Imperative Languages without
                 Imperative Types},
  year = {1993},
  month = feb,
  number = {93-200}
}
@article{wright-restriction-95,
  author = {Andrew K. Wright},
  title = {Simple Imperative Polymorphism},
  journal = {Lisp and Symbolic Computation},
  volume = {8},
  number = {4},
  year = {1995},
  month = dec,
  pages = {343--356},
  url = {http://www.cs.rice.edu/CS/PLT/Publications/Scheme/lasc95-w.ps.gz}
}
@inproceedings{wyk-99,
  author = {Eric van Wyk and Oege de Moor and Simon {Peyton
                 Jones}},
  title = {Aspect-oriented compilers},
  booktitle = {Generative and Component-Based Software Engineering},
  pages = {121--133},
  year = {1999},
  volume = {1799},
  series = {Lecture Notes in Computer Science},
  month = sep,
  publisher = {Springer},
  url = {https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/aspects.pdf}
}
@phdthesis{xi-98,
  author = {Hongwei Xi},
  title = {Dependent Types in Practical Programming},
  school = {Carnegie Mellon University},
  year = {1998},
  month = dec,
  url = {https://www.cs.cmu.edu/~rwh/students/xi.pdf}
}
@inproceedings{xi-ats,
  author = {Hongwei Xi},
  title = {Applied Type System},
  month = feb,
  year = {2004},
  booktitle = {{TYPES} 2003},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3085},
  pages = {394--408},
  url = {https://link.springer.com/chapter/10.1007/978-3-540-24849-1_25}
}
@inproceedings{xi-chen-chen-03,
  author = {Hongwei Xi and Chiyan Chen and Gang Chen},
  title = {Guarded Recursive Datatype Constructors},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2003},
  month = jan,
  pages = {224--235},
  url = {https://hwxi.github.io/PUBLICATION/MYDATA/GRDT-popl03.pdf}
}
@inproceedings{xi-cps-01,
  author = {Hongwei Xi and Carsten Schürmann},
  title = {{CPS} Transform for {Dependent ML}},
  booktitle = {Workshop on Logic, Language, Information and
                 Computation (WoLLIC)},
  year = {2001},
  month = aug
}
@inproceedings{xi-dead-99,
  author = {Hongwei Xi},
  title = {Dead Code Elimination through Dependent Types},
  booktitle = {Practical Aspects of Declarative Languages (PADL)},
  pages = {228--242},
  year = {1999},
  volume = {1551},
  series = {Lecture Notes in Computer Science},
  month = jan,
  publisher = {Springer},
  url = {https://link.springer.com/content/pdf/10.1007/3-540-49201-1_16.pdf}
}
@article{xi-dml-07,
  author = {Hongwei Xi},
  title = {Dependent {ML}: an approach to practical programming
                 with dependent types},
  journal = {Journal of Functional Programming},
  year = {2007},
  volume = {17},
  number = {2},
  pages = {215--286},
  url = {https://dx.doi.org/10.1017/S0956796806006216}
}
@article{xi-patterns-03,
  author = {Hongwei Xi},
  title = {{Dependently Typed Pattern Matching}},
  journal = {Journal of Universal Computer Science},
  volume = {9},
  number = {8},
  year = {2003},
  pages = {851--872},
  url = {https://www.jucs.org/jucs_9_8/dependently_typed_pattern_matching/Xi_H.pdf}
}
@inproceedings{xi-pfenning-99,
  author = {Hongwei Xi and Frank Pfenning},
  title = {Dependent Types in Practical Programming},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {1999},
  month = jan,
  pages = {214--227},
  url = {https://doi.org/10.1145/292540.292560}
}
@inproceedings{xi-views-05,
  author = {Dengping Zhu and Hongwei Xi},
  title = {Safe Programming with Pointers through Stateful
                 Views},
  booktitle = {Practical Aspects of Declarative Languages (PADL)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {3350},
  year = {2005},
  month = jan,
  pages = {83--97},
  url = {https://www.cs.bu.edu/~hwxi/atslangweb/MYDATA/SPPSV-padl05.pdf}
}
@article{xia-20,
  author = {Li{-}yao Xia and Yannick Zakowski and Paul He and
                 Chung{-}Kil Hur and Gregory Malecha and Benjamin C.
                 Pierce and Steve Zdancewic},
  title = {Interaction trees: representing recursive and impure
                 programs in {Coq}},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {{POPL}},
  pages = {51:1--51:32},
  year = {2020},
  url = {https://www.cis.upenn.edu/~stevez/papers/XZHH+20.pdf}
}
@inproceedings{xie-aiken-05,
  author = {Yichen Xie and Alex Aiken},
  title = {Scalable error detection using {Boolean}
                 satisfiability},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2005},
  pages = {351--363},
  url = {http://glide.stanford.edu/saturn/papers/popl05.pdf}
}
@inproceedings{xu-06,
  author = {Dana N. Xu},
  title = {Extended static checking for {Haskell}},
  booktitle = {Haskell workshop},
  year = {2006},
  pages = {48--59},
  publisher = {ACM Press},
  url = {http://www.cl.cam.ac.uk/~nx200/research/escH-hw.ps}
}
@inproceedings{xu-09,
  author = {Dana N. Xu and Simon {Peyton Jones} and Koen
                 Claessen},
  title = {Static contract checking for {Haskell}},
  booktitle = {Principles of Programming Languages ({POPL})},
  month = jan,
  year = {2009},
  pages = {41--52},
  url = {http://research.microsoft.com/en-us/um/people/simonpj/papers/verify/HaskellContract.ps}
}
@article{yallop-17,
  author = {Jeremy Yallop},
  title = {Staged generic programming},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {1},
  number = {{ICFP}},
  pages = {29:1--29:29},
  year = {2017},
  url = {https://www.cl.cam.ac.uk/~jdy22/papers/staged-generic-programming.pdf}
}
@article{yang-07,
  author = {Hongseok Yang},
  title = {Relational separation logic},
  journal = {Theoretical Computer Science},
  volume = {375},
  number = {1-3},
  pages = {308--334},
  year = {2007},
  url = {https://doi.org/10.1016/j.tcs.2006.12.036}
}
@inproceedings{yang-join-08,
  author = {Hongseok Yang and Oukseh Lee and Josh Berdine and
                 Cristiano Calcagno and Byron Cook and Dino Distefano
                 and Peter W. O'Hearn},
  title = {Scalable Shape Analysis for Systems Code},
  month = jul,
  year = {2008},
  pages = {385--398},
  booktitle = {Computer Aided Verification (CAV)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {5123},
  url = {http://research.microsoft.com/en-us/um/cambridge/projects/terminator/cav08b.pdf}
}
@article{yi-06,
  author = {Kwangkeun Yi},
  title = {Educational Pearl: 'Proof-directed debugging'
                 revisited for a first-order version},
  journal = {Journal of Functional Programming},
  volume = {16},
  number = {6},
  year = {2006},
  pages = {663--670},
  url = {http://ropas.snu.ac.kr/~kwang/paper/06-jfp-yi.pdf}
}
@article{yoon-zakowski-zdancewic-22,
  author = {Irene Yoon and Yannick Zakowski and Steve Zdancewic},
  title = {Formal reasoning about layered monadic interpreters},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {6},
  number = {{ICFP}},
  pages = {254--282},
  year = {2022},
  url = {https://doi.org/10.1145/3547630}
}
@inproceedings{yoshida-96,
  author = {Nobuko Yoshida},
  title = {Graph Types for Monadic Mobile Processes},
  booktitle = {Foundations of Software Technology and Theoretical
                 Computer Science (FSTTCS)},
  mon = dec,
  year = {1996},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {1180},
  pages = {371--386},
  url = {http://www.mcs.le.ac.uk/~nyoshida/paper/graph1_short.ps.gz}
}
@techreport{yoshida-96-full,
  author = {Nobuko Yoshida},
  title = {Graph Types for Monadic Mobile Processes},
  number = {ECS-LFCS-96-350},
  institution = {University of Edinburgh},
  year = {1996},
  url = {http://www.lfcs.inf.ed.ac.uk/reports/96/ECS-LFCS-96-350/}
}
@inproceedings{yoshida-al-02,
  author = {Nobuko Yoshida and Kohei Honda and Martin Berger},
  title = {Linearity and Bisimulation},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  month = apr,
  year = {2002},
  url = {http://www.mcs.le.ac.uk/~nyoshida/paper/fossacs_ca_final.ps.gz}
}
@techreport{yoshida-al-02-long,
  author = {Nobuko Yoshida and Kohei Honda and Martin Berger},
  title = {Linearity and Bisimulation},
  institution = {University of Leicester},
  month = dec,
  year = {2001},
  number = {MSC-2001/48},
  url = {http://www.mcs.le.ac.uk/~nyoshida/paper/lb.ps.gz}
}
@inproceedings{yoshida-honda-berger-07,
  author = {Nobuko Yoshida and Kohei Honda and Martin Berger},
  title = {Logical Reasoning for Higher-Order Functions with
                 Local State},
  booktitle = {Foundations of Software Science and Computation
                 Structures ({FOSSACS})},
  pages = {361--377},
  month = apr,
  year = {2007},
  volume = {4423},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer},
  url = {http://www.doc.ic.ac.uk/~mberger/publications/fossacs07/fossacs07.pdf}
}
@inproceedings{z3,
  author = {Leonardo Mendon{\c{c}}a de Moura and Nikolaj
                 Bj{\o}rner},
  title = {{Z3:} An Efficient {SMT} Solver},
  booktitle = {Tools and Algorithms for Construction and Analysis of
                 Systems (TACAS)},
  pages = {337--340},
  month = apr,
  year = {2008},
  url = {http://www.audentia-gestion.fr/MICROSOFT/z3.pdf},
  series = {Lecture Notes in Computer Science},
  volume = {4963},
  publisher = {Springer}
}
@inproceedings{zakowski-20,
  author = {Yannick Zakowski and Paul He and Chung{-}Kil Hur and
                 Steve Zdancewic},
  title = {An equational theory for weak bisimulation via
                 generalized parameterized coinduction},
  booktitle = {Certified Programs and Proofs (CPP)},
  pages = {71--84},
  month = jan,
  year = {2020},
  url = {https://doi.org/10.1145/3372885.3373813}
}
@article{zakowski-al-21,
  author = {Yannick Zakowski and Calvin Beck and Irene Yoon and
                 Ilia Zaichuk and Vadim Zaliva and Steve Zdancewic},
  title = {Modular, compositional, and executable formal
                 semantics for {LLVM} {IR}},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {{ICFP}},
  pages = {1--30},
  year = {2021},
  url = {https://doi.org/10.1145/3473572}
}
@inproceedings{zaytsev-bagge-14,
  author = {Vadim Zaytsev and Anya Helene Bagge},
  title = {Parsing in a Broad Sense},
  booktitle = {Model-Driven Engineering Languages and Systems
                 {(MODELS)}},
  series = {Lecture Notes in Computer Science},
  volume = {8767},
  pages = {50--67},
  publisher = {Springer},
  month = sep,
  year = {2014},
  url = {https://grammarware.net/text/2014/parsing.pdf}
}
@inproceedings{zdancewic-myers-01,
  author = {Steve Zdancewic and Andrew C. Myers},
  title = {Secure Information Flow and {CPS}},
  booktitle = {European Symposium on Programming (ESOP)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  month = apr,
  year = {2001},
  url = {http://www.cs.cornell.edu/zdance/lincont.ps}
}
@article{zdancewic-myers-02,
  author = {Steve Zdancewic and Andrew C. Myers},
  title = {Secure Information Flow via Linear Continuations},
  journal = {Higher Order and Symbolic Computation},
  month = sep,
  year = {2002},
  volume = {15},
  number = {2--3},
  pages = {209--234},
  url = {http://www.cis.upenn.edu/~stevez/papers/ZM02.pdf}
}
@inproceedings{zendra-97,
  author = {Olivier Zendra and Dominique Colnet and Suzanne
                 Collin},
  title = {Efficient Dynamic Dispatch without Virtual Function
                 Tables. The {SmallEiffel} Compiler},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {125--141},
  year = {1997},
  month = oct,
  url = {http://www.loria.fr/~colnet/publis/oopsla97.ps.gz}
}
@article{zenger-97,
  author = {Christoph Zenger},
  title = {Indexed Types},
  journal = {Theoretical Computer Science},
  year = {1997},
  volume = {187},
  number = {1--2},
  pages = {147--165},
  url = {http://dx.doi.org/10.1016/S0304-3975(97)00062-5}
}
@phdthesis{zenger-98,
  author = {Christoph Zenger},
  title = {Indizierte Typen},
  school = {Universität Karlsruhe},
  year = {1998},
  month = jul,
  url = {http://www.christoph-zenger.de/papers/thesis.ps.gz}
}
@inproceedings{zhan-haslbeck-18,
  author = {Bohua Zhan and Maximilian P. L. Haslbeck},
  title = {Verifying Asymptotic Time Complexity of Imperative
                 Programs in {Isabelle}},
  booktitle = {International Joint Conference on Automated
                 Reasoning},
  year = {2018},
  month = jul,
  url = {http://arxiv.org/abs/1802.01336}
}
@inproceedings{zhang-al-16,
  author = {Yizhou Zhang and Guido Salvaneschi and Quinn Beightol
                 and Barbara Liskov and Andrew C. Myers},
  title = {Accepting blame for safe tunneled exceptions},
  booktitle = {{Programming Language Design and Implementation
                 (PLDI)}},
  pages = {281--295},
  month = jun,
  year = {2016},
  url = {http://www.cs.cornell.edu/andru/papers/exceptions/exceptions-pldi16.pdf}
}
@article{zhang-myers-19,
  author = {Yizhou Zhang and Andrew C. Myers},
  title = {Abstraction-safe effect handlers via tunneling},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{POPL}},
  pages = {5:1--5:29},
  year = {2019},
  url = {http://www.cs.cornell.edu/andru/papers/tunnel-eff/tunnel-eff.pdf}
}
@inproceedings{zhang-prophecy-12,
  author = {Zipeng Zhang and Xinyu Feng and Ming Fu and Zhong Shao
                 and Yong Li},
  title = {A Structural Approach to Prophecy Variables},
  booktitle = {Theory and Applications of Models of Computation
                 {(TAMC)}},
  pages = {61--71},
  month = may,
  year = {2012},
  series = {Lecture Notes in Computer Science},
  volume = {7287},
  publisher = {Springer},
  url = {http://staff.ustc.edu.cn/~fuming/papers/prophecy.pdf}
}
@phdthesis{zhao-07,
  author = {Yang Zhao},
  title = {Concurrency Analysis Based on Fractional Permission
                 System},
  school = {University of Wisconsin},
  year = {2007},
  month = aug,
  url = {http://www.cs.uwm.edu/~boyland/papers/yangzhao-thesis.pdf}
}
@article{zhao-oliveira-schrijvers-19,
  author = {Jinxu Zhao and Bruno C. d. S. Oliveira and Tom
                 Schrijvers},
  title = {A mechanical formalization of higher-ranked
                 polymorphic type inference},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {{ICFP}},
  pages = {112:1--112:29},
  year = {2019},
  url = {https://doi.org/10.1145/3341716}
}
@techreport{zheng-myers-04,
  author = {Lantian Zheng and Andrew C. Myers},
  title = {Dynamic Security Labels and Noninterference},
  institution = {Cornell University},
  year = {2004},
  number = {2004-1924},
  month = jan,
  url = {http://www.cs.cornell.edu/andru/papers/dynl-tr.pdf}
}
@inproceedings{zhu-xi-03,
  author = {Dengping Zhu and Hongwei Xi},
  title = {A Typeful and Tagless Representation for {XML}
                 Documents},
  booktitle = {Asian Symposium on Programming Languages and Systems
                 (APLAS)},
  publisher = {Springer},
  series = {Lecture Notes in Computer Science},
  volume = {2895},
  year = {2003},
  month = nov,
  pages = {89--104},
  url = {https://link.springer.com/chapter/10.1007/978-3-540-40018-9_7}
}
@misc{zibin-gil-01,
  author = {Yoav Zibin and Yossi Gil},
  title = {Theory and Practice of Incremental Subtyping Tests and
                 Message Dispatching},
  month = dec,
  year = {2001},
  url = {http://www.cs.technion.ac.il/~yogi/incremental-dispatching.ps.gz}
}
@inproceedings{zibin-gil-02,
  author = {Yoav Zibin and Yossi Gil},
  title = {Fast Algorithm for Creating Space Efficient
                 Dispatching Tables with Application to
                 Multi-Dispatching},
  booktitle = {Object-Oriented Programming, Systems, Languages, and
                 Applications (OOPSLA)},
  pages = {142--160},
  year = {2002},
  month = nov,
  url = {http://www.cs.technion.ac.il/~zyoav/publications/OOPSLA02-dispatching-TS.pdf}
}
@inproceedings{zibin-gil-03,
  author = {Yoav Zibin and Yossi Gil},
  title = {Incremental Algorithms for Dispatching in Dynamically
                 Typed Languages},
  booktitle = {Principles of Programming Languages ({POPL})},
  year = {2003},
  month = jan,
  url = {http://www.cs.technion.ac.il/~zyoav/publications/POPL03-dispatching-CT.pdf}
}
@techreport{zwanenburg-97,
  author = {Jan Zwanenburg},
  title = {A Type System for Record Concatenation and Subtyping},
  month = jul,
  year = {1997},
  institution = {Eindhoven University of Technology},
  url = {http://www.cs.ru.nl/~janz/publications/type_check.ps}
}
@inproceedings{zyuzin-nanevski-21,
  author = {Nikita Zyuzin and Aleksander Nanevski},
  title = {Contextual Modal Types for Algebraic Effects and
                 Handlers},
  booktitle = {International Conference on Functional Programming
                 (ICFP)},
  month = aug,
  year = {2021},
  pages = {1--29},
  url = {https://software.imdea.org/~aleks/icfp21/icfp21.pdf}
}

This file was generated by bibtex2html 1.99.