Valid HTML 4.0! Valid CSS!
%%% -*-BibTeX-*-
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "1.08",
%%%     date            = "17 May 2023",
%%%     time            = "09:46:17 MDT",
%%%     filename        = "pacmpl.bib",
%%%     address         = "University of Utah
%%%                        Department of Mathematics, 110 LCB
%%%                        155 S 1400 E RM 233
%%%                        Salt Lake City, UT 84112-0090
%%%                        USA",
%%%     telephone       = "+1 801 581 5254",
%%%     FAX             = "+1 801 581 4148",
%%%     URL             = "http://www.math.utah.edu/~beebe",
%%%     checksum        = "51136 30823 134910 1317452",
%%%     email           = "beebe at math.utah.edu, beebe at acm.org,
%%%                        beebe at computer.org (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "bibliography; BibTeX; Proceedings of the ACM
%%%                        on Programming Languages (PACMPL)",
%%%     license         = "public domain",
%%%     supported       = "yes",
%%%     docstring       = "This is a COMPLETE BibTeX bibliography for
%%%                        Proceedings of the ACM on Programming
%%%                        Languages (PACMPL) (CODEN ????, ISSN
%%%                        2475-1421).  The journal appears annually,
%%%                        and publication began with volume 1, number
%%%                        1, in September 2017.
%%%
%%%                        At version 1.08, the COMPLETE journal
%%%                        coverage looked like this:
%%%
%%%                             2017 ( 111)    2020 ( 233)    2023 ( 105)
%%%                             2018 ( 166)    2021 ( 167)
%%%                             2019 ( 142)    2022 ( 192)
%%%
%%%                             Article:       1116
%%%
%%%                             Total entries: 1116
%%%
%%%                        The journal Web pages can be found at:
%%%
%%%                            http://pacmpl.acm.org/
%%%
%%%                        The journal table of contents page is at:
%%%
%%%                            https://pacmpl.acm.org/archive_toc.cfm
%%%
%%%                        Qualified subscribers can retrieve the full
%%%                        text of recent articles in PDF form.
%%%
%%%                        The initial draft was extracted from the ACM
%%%                        Web pages.
%%%
%%%                        ACM copyrights explicitly permit abstracting
%%%                        with credit, so article abstracts, keywords,
%%%                        and subject classifications have been
%%%                        included in this bibliography wherever
%%%                        available.  Article reviews have been
%%%                        omitted, until their copyright status has
%%%                        been clarified.
%%%
%%%                        bibsource keys in the bibliography entries
%%%                        below indicate the entry originally came
%%%                        from the computer science bibliography
%%%                        archive, even though it has likely since
%%%                        been corrected and updated.
%%%
%%%                        URL keys in the bibliography point to
%%%                        World Wide Web locations of additional
%%%                        information about the entry.
%%%
%%%                        BibTeX citation tags are uniformly chosen
%%%                        as name:year:abbrev, where name is the
%%%                        family name of the first author or editor,
%%%                        year is a 4-digit number, and abbrev is a
%%%                        3-letter condensation of important title
%%%                        words. Citation tags were automatically
%%%                        generated by software developed for the
%%%                        BibNet Project.
%%%
%%%                        In this bibliography, entries are sorted in
%%%                        publication order, using ``bibsort -byvolume.''
%%%
%%%                        The checksum field above contains a CRC-16
%%%                        checksum as the first value, followed by the
%%%                        equivalent of the standard UNIX wc (word
%%%                        count) utility output of lines, words, and
%%%                        characters.  This is produced by Robert
%%%                        Solovay's checksum utility.",
%%%  }
%%% ====================================================================
@Preamble{"\input bibnames.sty" #
    "\def \TM {${}^{\sc TM}$}" #
    "\ifx \undefined \bioname      \def \bioname   #1{{{\em #1\/}}} \fi"
}

%%% ====================================================================
%%% Acknowledgement abbreviations:
@String{ack-nhfb = "Nelson H. F. Beebe,
                    University of Utah,
                    Department of Mathematics, 110 LCB,
                    155 S 1400 E RM 233,
                    Salt Lake City, UT 84112-0090, USA,
                    Tel: +1 801 581 5254,
                    FAX: +1 801 581 4148,
                    e-mail: \path|beebe@math.utah.edu|,
                            \path|beebe@acm.org|,
                            \path|beebe@computer.org| (Internet),
                    URL: \path|http://www.math.utah.edu/~beebe/|"}

%%% ====================================================================
%%% Journal abbreviations:
@String{j-PACMPL                = "Proceedings of the ACM on Programming
                                   Languages (PACMPL)"}

%%% ====================================================================
%%% Bibliography entries:
@Article{Wadler:2017:EM,
  author =       "Philip Wadler",
  title =        "Editorial message",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "1:1--1:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3139957",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "1e",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{St-Amour:2017:HRS,
  author =       "Vincent St-Amour and Daniel Feltey and Spencer P.
                 Florence and Shu-Hung You and Robert Bruce Findler",
  title =        "\bioname{Herbarium Racketensis}: a stroll through the
                 woods (functional pearl)",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "1:1--1:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110245",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Perez:2017:TDF,
  author =       "Ivan Perez and Henrik Nilsson",
  title =        "Testing and debugging functional reactive
                 programming",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "2:1--2:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110246",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Breitner:2017:LSS,
  author =       "Joachim Breitner and Chris Smith",
  title =        "Lock-step simulation is child's play (experience
                 report)",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "3:1--3:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110247",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Canou:2017:SFP,
  author =       "Benjamin Canou and Roberto {Di Cosmo} and Gr{\'e}goire
                 Henry",
  title =        "Scaling up functional programming education: under the
                 hood of the {OCaml} {MOOC}",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "4:1--4:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110248",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Spivey:2017:FCP,
  author =       "Michael Spivey",
  title =        "Faster coroutine pipelines",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "5:1--5:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110249",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bernardy:2017:PGP,
  author =       "Jean-Philippe Bernardy",
  title =        "A pretty but not greedy printer (functional pearl)",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "6:1--6:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110250",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Elliott:2017:GFP,
  author =       "Conal Elliott",
  title =        "Generic functional parallel algorithms: scan and
                 {FFT}",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "7:1--7:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110251",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Byrd:2017:UAS,
  author =       "William E. Byrd and Michael Ballantyne and Gregory
                 Rosenblatt and Matthew Might",
  title =        "A unified approach to solving seven programming
                 problems (functional pearl)",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "8:1--8:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110252",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Auerbach:2017:PQC,
  author =       "Joshua S. Auerbach and Martin Hirzel and Louis Mandel
                 and Avraham Shinnar and J{\'e}r{\^o}me Sim{\'e}on",
  title =        "Prototyping a query compiler using {Coq} (experience
                 report)",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "9:1--9:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110253",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "9",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Winograd-Cort:2017:FAD,
  author =       "Daniel Winograd-Cort and Andreas Haeberlen and Aaron
                 Roth and Benjamin C. Pierce",
  title =        "A framework for adaptive differential privacy",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "10:1--10:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110254",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "10",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Narayanan:2017:SCA,
  author =       "Praveen Narayanan and Chung-chieh Shan",
  title =        "Symbolic conditioning of arrays in probabilistic
                 programs",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "11:1--11:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110255",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "11",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Darais:2017:ADI,
  author =       "David Darais and Nicholas Labich and Ph{\'u}c C.
                 Nguyen and David {Van Horn}",
  title =        "Abstracting definitional interpreters (functional
                 pearl)",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "12:1--12:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110256",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "12",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Forster:2017:EPU,
  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 =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "13:1--13:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110257",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "13",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ricciotti:2017:IFP,
  author =       "Wilmer Ricciotti and Jan Stolarek and Roly Perera and
                 James Cheney",
  title =        "Imperative functional programs that explain their
                 work",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "14:1--14:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110258",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "14",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Midtgaard:2017:EDQ,
  author =       "Jan Midtgaard and Mathias Nygaard Justesen and Patrick
                 Kasting and Flemming Nielson and Hanne Riis Nielson",
  title =        "Effect-driven {QuickChecking} of compilers",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "15:1--15:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110259",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "15",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Puente:2017:PMR,
  author =       "Juan Pedro Bol{\'\i}var Puente",
  title =        "Persistence for the masses: {RRB}-vectors in a systems
                 language",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "16:1--16:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110260",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "16",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Protzenko:2017:VLL,
  author =       "Jonathan Protzenko and Jean-Karim Zinzindohou{\'e} and
                 Aseem Rastogi and Tahina Ramananandro and Peng Wang and
                 Santiago Zanella-B{\'e}guelin and Antoine
                 Delignat-Lavaud and Catalin Hritcu and Karthikeyan
                 Bhargavan and C{\'e}dric Fournet and Nikhil Swamy",
  title =        "Verified low-level programming embedded in {F*}",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "17:1--17:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110261",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "17",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Owens:2017:VEF,
  author =       "Scott Owens and Michael Norrish and Ramana Kumar and
                 Magnus O. Myreen and Yong Kiam Tan",
  title =        "Verifying efficient function calls in {CakeML}",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "18:1--18:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110262",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "18",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mainland:2017:BLT,
  author =       "Geoffrey Mainland",
  title =        "Better living through operational semantics: an
                 optimizing compiler for radio protocols",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "19:1--19:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110263",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "19",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Balabonski:2017:FSC,
  author =       "Thibaut Balabonski and Pablo Barenbaum and Eduardo
                 Bonelli and Delia Kesner",
  title =        "Foundations of strong call by need",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "20:1--20:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110264",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "20",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Aguirre:2017:RLH,
  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 =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "21:1--21:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110265",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "21",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hamana:2017:HPY,
  author =       "Makoto Hamana",
  title =        "How to prove your calculus is decidable: practical
                 applications of second-order algebraic theories and
                 computation",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "22:1--22:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110266",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "22",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Davis:2017:NBC,
  author =       "Milo Davis and William Meehan and Olin Shivers",
  title =        "No-brainer {CPS} conversion (functional pearl)",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "23:1--23:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110267",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "23",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Choi:2017:KPH,
  author =       "Joonwon Choi and Muralidaran Vijayaraghavan and
                 Benjamin Sherman and Adam Chlipala and Arvind",
  title =        "{Kami}: a platform for high-level parametric hardware
                 specification and its modular verification",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "24:1--24:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110268",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "24",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Weitz:2017:SLB,
  author =       "Konstantin Weitz and Steven Lyubomirsky and Stefan
                 Heule and Emina Torlak and Michael D. Ernst and Zachary
                 Tatlock",
  title =        "{SpaceSearch}: a library for building and verifying
                 solver-aided tools",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "25:1--25:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110269",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "25",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cosman:2017:LRT,
  author =       "Benjamin Cosman and Ranjit Jhala",
  title =        "Local refinement typing",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "26:1--26:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110270",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "26",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Elliott:2017:CC,
  author =       "Conal Elliott",
  title =        "Compiling to categories",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "27:1--27:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110271",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "27",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Pottier:2017:VU,
  author =       "Fran{\c{c}}ois Pottier",
  title =        "Visitors unchained",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "28:1--28:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110272",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "28",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Yallop:2017:SGP,
  author =       "Jeremy Yallop",
  title =        "Staged generic programming",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "29:1--29:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110273",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "29",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Andersen:2017:SLM,
  author =       "Leif Andersen and Stephen Chang and Matthias
                 Felleisen",
  title =        "Super 8 languages for making movies (functional
                 pearl)",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "30:1--30:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110274",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "30",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Weirich:2017:SDT,
  author =       "Stephanie Weirich and Antoine Voizard and Pedro
                 Henrique Azevedo de Amorim and Richard A. Eisenberg",
  title =        "A specification for dependent types in {Haskell}",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "31:1--31:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110275",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "31",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Nuyts:2017:PQD,
  author =       "Andreas Nuyts and Andrea Vezzosi and Dominique
                 Devriese",
  title =        "Parametric quantifiers for dependent type theory",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "32:1--32:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110276",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "32",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Abel:2017:NES,
  author =       "Andreas Abel and Andrea Vezzosi and Theo
                 Winterhalter",
  title =        "Normalization by evaluation for sized dependent
                 types",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "33:1--33:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110277",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "33",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ebner:2017:MFF,
  author =       "Gabriel Ebner and Sebastian Ullrich and Jared Roesch
                 and Jeremy Avigad and Leonardo de Moura",
  title =        "A metaprogramming framework for formal verification",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "34:1--34:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110278",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "34",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Melgratti:2017:CCH,
  author =       "Hern{\'a}n Melgratti and Luca Padovani",
  title =        "Chaperone contracts for higher-order sessions",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "35:1--35:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110279",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "35",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Waye:2017:WHO,
  author =       "Lucas Waye and Stephen Chong and Christos Dimoulas",
  title =        "{Whip}: higher-order contracts for modern services",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "36:1--36:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110280",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "36",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Balzer:2017:MSS,
  author =       "Stephanie Balzer and Frank Pfenning",
  title =        "Manifest sharing with session types",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "37:1--37:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110281",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "37",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Igarashi:2017:GST,
  author =       "Atsushi Igarashi and Peter Thiemann and Vasco T.
                 Vasconcelos and Philip Wadler",
  title =        "Gradual session types",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "38:1--38:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110282",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "38",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ahmed:2017:TFF,
  author =       "Amal Ahmed and Dustin Jamner and Jeremy G. Siek and
                 Philip Wadler",
  title =        "Theorems for free for free: parametricity, with and
                 without types",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "39:1--39:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110283",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "39",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Igarashi:2017:PGT,
  author =       "Yuu Igarashi and Taro Sekiyama and Atsushi Igarashi",
  title =        "On polymorphic gradual typing",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "40:1--40:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110284",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "40",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Castagna:2017:GTU,
  author =       "Giuseppe Castagna and Victor Lanvin",
  title =        "Gradual typing with union and intersection types",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "41:1--41:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110285",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "41",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Morris:2017:CTF,
  author =       "J. Garrett Morris and Richard A. Eisenberg",
  title =        "Constrained type families",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "42:1--42:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110286",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "42",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Avanzini:2017:AST,
  author =       "Martin Avanzini and Ugo {Dal Lago}",
  title =        "Automating sized-type inference for complexity
                 analysis",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "43:1--43:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110287",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "43",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Pombrio:2017:IST,
  author =       "Justin Pombrio and Shriram Krishnamurthi and Mitchell
                 Wand",
  title =        "Inferring scope through syntactic sugar",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "ICFP",
  pages =        "44:1--44:??",
  month =        sep,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3110288",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "44",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{ElHajj:2017:SOS,
  author =       "Izzat {El Hajj} and Thomas B. Jablin and Dejan
                 Milojicic and Wen-mei Hwu",
  title =        "{SAVI} objects: sharing and virtuality incorporated",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "45:1--45:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133869",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "45",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Rapoport:2017:SSP,
  author =       "Marianna Rapoport and Ifaz Kabir and Paul He and
                 Ondrej Lhot{\'a}k",
  title =        "A simple soundness proof for dependent object types",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "46:1--46:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133870",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "46",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Yang:2017:UTS,
  author =       "Yanpeng Yang and Bruno C. d. S. Oliveira",
  title =        "Unifying typing and subtyping",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "47:1--47:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133871",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "47",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chaudhuri:2017:FPT,
  author =       "Avik Chaudhuri and Panagiotis Vekris and Sam Goldman
                 and Marshall Roch and Gabriel Levi",
  title =        "Fast and precise type checking for {JavaScript}",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "48:1--48:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133872",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "48",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Liu:2017:VDJ,
  author =       "Lun Liu and Todd Millstein and Madanlal Musuvathi",
  title =        "A volatile-by-default {JVM} for server applications",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "49:1--49:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133873",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "49",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Poesia:2017:SPC,
  author =       "Gabriel Poesia and Breno Guimar{\~a}es and
                 Fabr{\'\i}cio Ferracioli and Fernando Magno Quint{\~a}o
                 Pereira",
  title =        "Static placement of computation on heterogeneous
                 devices",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "50:1--50:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133874",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "50",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chasins:2017:SBR,
  author =       "Sarah Chasins and Rastislav Bodik",
  title =        "Skip blocks: reusing execution history to accelerate
                 web scripts",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "51:1--51:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133875",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "51",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Barrett:2017:VMW,
  author =       "Edd Barrett and Carl Friedrich Bolz-Tereick and
                 Rebecca Killick and Sarah Mount and Laurence Tratt",
  title =        "Virtual machine warmup blows hot and cold",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "52:1--52:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133876",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  acknowledgement = ack-nhfb,
  articleno =    "52",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ugawa:2017:MCC,
  author =       "Tomoharu Ugawa and Tatsuya Abe and Toshiyuki Maeda",
  title =        "Model checking copy phases of concurrent copying
                 garbage collection with various memory models",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "53:1--53:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133877",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "53",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bauman:2017:SGT,
  author =       "Spenser Bauman and Carl Friedrich Bolz-Tereick and
                 Jeremy Siek and Sam Tobin-Hochstadt",
  title =        "Sound gradual typing: only mostly dead",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "54:1--54:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133878",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "54",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Richards:2017:VAK,
  author =       "Gregor Richards and Ellen Arteca and Alexi Turcotte",
  title =        "The {VM} already knew that: leveraging compile-time
                 knowledge to optimize gradual typing",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "55:1--55:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133879",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  acknowledgement = ack-nhfb,
  articleno =    "55",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Muehlboeck:2017:SGT,
  author =       "Fabian Muehlboeck and Ross Tate",
  title =        "Sound gradual typing is nominally alive and well",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "56:1--56:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133880",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "56",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhang:2017:EIR,
  author =       "Xin Zhang and Radu Grigore and Xujie Si and Mayur
                 Naik",
  title =        "Effective interactive resolution of static analysis
                 alarms",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "57:1--57:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133881",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "57",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Yuan:2017:ASC,
  author =       "Binhang Yuan and Vijayaraghavan Murali and Christopher
                 Jermaine",
  title =        "Abridging source code",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "58:1--58:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133882",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "58",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cavalcanti:2017:EIS,
  author =       "Guilherme Cavalcanti and Paulo Borba and Paola
                 Accioly",
  title =        "Evaluating and improving semistructured merge",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "59:1--59:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133883",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "59",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Seidel:2017:LBL,
  author =       "Eric L. Seidel and Huma Sibghat and Kamalika Chaudhuri
                 and Westley Weimer and Ranjit Jhala",
  title =        "Learning to blame: localizing novice type errors with
                 data-driven diagnosis",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "60:1--60:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3138818",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "60",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Srinivasan:2017:MAM,
  author =       "Venkatesh Srinivasan and Ara Vartanian and Thomas
                 Reps",
  title =        "Model-assisted machine-code synthesis",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "61:1--61:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133885",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "61",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2017:SDC,
  author =       "Xinyu Wang and Isil Dillig and Rishabh Singh",
  title =        "Synthesis of data completion scripts using finite tree
                 automata",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "62:1--62:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133886",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "62",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Yaghmazadeh:2017:SQS,
  author =       "Navid Yaghmazadeh and Yuepeng Wang and Isil Dillig and
                 Thomas Dillig",
  title =        "{SQLizer}: query synthesis from natural language",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "63:1--63:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133887",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "63",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Santolucito:2017:SCF,
  author =       "Mark Santolucito and Ennan Zhai and Rahul Dhodapkar
                 and Aaron Shim and Ruzica Piskac",
  title =        "Synthesizing configuration file specifications with
                 association rule learning",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "64:1--64:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133888",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "64",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Qiu:2017:NSP,
  author =       "Xiaokang Qiu and Armando Solar-Lezama",
  title =        "Natural synthesis of provably-correct data-structure
                 manipulations",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "65:1--65:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133889",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "65",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Adamsen:2017:PIR,
  author =       "Christoffer Quist Adamsen and Anders M{\o}ller and
                 Frank Tip",
  title =        "Practical initialization race detection for
                 {JavaScript} web applications",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "66:1--66:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133890",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "66",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cohen:2017:ELN,
  author =       "Nachshon Cohen and Michal Friedman and James R.
                 Larus",
  title =        "Efficient logging in non-volatile memory by exploiting
                 coherency protocols",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "67:1--67:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133891",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "67",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Grech:2017:HDL,
  author =       "Neville Grech and George Fourtounis and Adrian
                 Francalanza and Yannis Smaragdakis",
  title =        "Heaps don't lie: countering unsoundness with heap
                 snapshots",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "68:1--68:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133892",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "68",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wood:2017:IBD,
  author =       "Benjamin P. Wood and Man Cao and Michael D. Bond and
                 Dan Grossman",
  title =        "Instrumentation bias for dynamic data race detection",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "69:1--69:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133893",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "69",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhang:2017:FUI,
  author =       "Yizhou Zhang and Andrew C. Myers",
  title =        "{Familia}: unifying interfaces, type classes, and
                 family polymorphism",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "70:1--70:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133894",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "70",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sampson:2017:SSH,
  author =       "Adrian Sampson and Kathryn S. McKinley and Todd
                 Mytkowicz",
  title =        "Static stages for heterogeneous programming",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "71:1--71:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133895",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "71",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Clebsch:2017:OGT,
  author =       "Sylvan Clebsch and Juliana Franco and Sophia
                 Drossopoulou and Albert Mingkun Yang and Tobias
                 Wrigstad and Jan Vitek",
  title =        "{Orca}: {GC} and type system co-design for actor
                 languages",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "72:1--72:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133896",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "72",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Scott:2017:MCD,
  author =       "Ryan G. Scott and Omar S. Navarro Leija and Joseph
                 Devietti and Ryan R. Newton",
  title =        "Monadic composition for deterministic, parallel batch
                 processing",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "73:1--73:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133897",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "73",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ding:2017:GGL,
  author =       "Yufei Ding and Xipeng Shen",
  title =        "{GLORE}: generalized loop redundancy elimination upon
                 {LER}-notation",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "74:1--74:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133898",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "74",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Orchard:2017:VSP,
  author =       "Dominic Orchard and Mistral Contrastin and Matthew
                 Danish and Andrew Rice",
  title =        "Verifying spatial properties of array computations",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "75:1--75:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133899",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "75",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sakka:2017:TFA,
  author =       "Laith Sakka and Kirshanthan Sundararajah and Milind
                 Kulkarni",
  title =        "{TreeFuser}: a framework for analyzing and fusing
                 general recursive tree traversals",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "76:1--76:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133900",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "76",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kjolstad:2017:TAC,
  author =       "Fredrik Kjolstad and Shoaib Kamil and Stephen Chou and
                 David Lugato and Saman Amarasinghe",
  title =        "The tensor algebra compiler",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "77:1--77:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133901",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "77",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Papadakis:2017:SPS,
  author =       "Manolis Papadakis and Gilbert Louis Bernstein and
                 Rahul Sharma and Alex Aiken and Pat Hanrahan",
  title =        "{Seam}: provably safe local edits on graphs",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "78:1--78:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133902",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "78",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2017:TFL,
  author =       "Peng Wang and Di Wang and Adam Chlipala",
  title =        "{TiML}: a functional language for practical complexity
                 analysis with invariants",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "79:1--79:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133903",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "79",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Albarghouthi:2017:FPV,
  author =       "Aws Albarghouthi and Loris D'Antoni and Samuel Drews
                 and Aditya V. Nori",
  title =        "{FairSquare}: probabilistic verification of program
                 fairness",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "80:1--80:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133904",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "80",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ancona:2017:RDC,
  author =       "Davide Ancona and Francesco Dagnino and Elena Zucca",
  title =        "Reasoning on divergent computations with coaxioms",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "81:1--81:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133905",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "81",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Adams:2017:RGT,
  author =       "Michael D. Adams and Matthew Might",
  title =        "Restricting grammars with tree automata",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "82:1--82:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133906",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "82",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Khairunnesa:2017:EIB,
  author =       "Samantha Syeda Khairunnesa and Hoan Anh Nguyen and
                 Tien N. Nguyen and Hridesh Rajan",
  title =        "Exploiting implicit beliefs to resolve sparse usage
                 problem in usage-based specification mining",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "83:1--83:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133907",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "83",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lopes:2017:DMC,
  author =       "Cristina V. Lopes and Petr Maj and Pedro Martins and
                 Vaibhav Saini and Di Yang and Jakub Zitny and Hitesh
                 Sajnani and Jan Vitek",
  title =        "{D{\'e}j{\`a}Vu:} a map of code duplicates on
                 {GitHub}",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "84:1--84:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133908",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "84",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mazinanian:2017:UUL,
  author =       "Davood Mazinanian and Ameya Ketkar and Nikolaos
                 Tsantalis and Danny Dig",
  title =        "Understanding the use of lambda expressions in
                 {Java}",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "85:1--85:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133909",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "85",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Madsen:2017:MRA,
  author =       "Magnus Madsen and Ondrej Lhot{\'a}k and Frank Tip",
  title =        "A model for reasoning about {JavaScript} promises",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "86:1--86:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133910",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "86",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mansky:2017:VMS,
  author =       "William Mansky and Andrew W. Appel and Aleksey
                 Nogin",
  title =        "A verified messaging system",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "87:1--87:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133911",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "87",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Reid:2017:WGG,
  author =       "Alastair Reid",
  title =        "Who guards the guards? {Formal} validation of the {ARM
                 v8-m} architecture specification",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "88:1--88:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133912",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "88",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Swasey:2017:RCV,
  author =       "David Swasey and Deepak Garg and Derek Dreyer",
  title =        "Robust and compositional verification of object
                 capability patterns",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "89:1--89:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133913",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "89",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kristensen:2017:TTS,
  author =       "Erik Krogh Kristensen and Anders M{\o}ller",
  title =        "Type test scripts for {TypeScript} testing",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "90:1--90:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133914",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "90",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ringer:2017:SAL,
  author =       "Talia Ringer and Dan Grossman and Daniel
                 Schwartz-Narbonne and Serdar Tasiran",
  title =        "A solver-aided language for test input generation",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "91:1--91:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133915",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "91",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Li:2017:TPT,
  author =       "Xia Li and Lingming Zhang",
  title =        "Transforming programs and tests in tandem for fault
                 localization",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "92:1--92:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133916",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "92",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Donaldson:2017:ATG,
  author =       "Alastair F. Donaldson and Hugues Evrard and Andrei
                 Lascu and Paul Thomson",
  title =        "Automated testing of graphics shader compilers",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "93:1--93:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133917",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "93",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Celik:2017:BET,
  author =       "Ahmet Celik and Sreepathi Pai and Sarfraz Khurshid and
                 Milos Gligoric",
  title =        "Bounded exhaustive test-input generation on {GPUs}",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "94:1--94:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133918",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/pvm.bib",
  acknowledgement = ack-nhfb,
  articleno =    "94",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Parkinson:2017:PSN,
  author =       "Matthew 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 =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "95:1--95:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3141879",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "95",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Maeng:2017:AIE,
  author =       "Kiwan Maeng and Alexei Colin and Brandon Lucia",
  title =        "{Alpaca}: intermittent execution without checkpoints",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "96:1--96:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133920",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "96",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhai:2017:ALP,
  author =       "Ennan Zhai and Ruzica Piskac and Ronghui Gu and Xun
                 Lao and Xi Wang",
  title =        "An auditing language for preventing correlated
                 failures in the cloud",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "97:1--97:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133921",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "97",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kaminski:2017:RAC,
  author =       "Ted Kaminski and Lucas Kramer and Travis Carlson and
                 Eric {Van Wyk}",
  title =        "Reliable and automatic composition of language
                 extensions to {C}: the {ableC} extensible language
                 framework",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "98:1--98:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3138224",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "98",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Spath:2017:IEP,
  author =       "Johannes Sp{\"a}th and Karim Ali and Eric Bodden",
  title =        "{IDEal}: efficient and precise alias-aware dataflow
                 analysis",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "99:1--99:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133923",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "99",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Jeong:2017:DDC,
  author =       "Sehun Jeong and Minseok Jeon and Sungdeok Cha and
                 Hakjoo Oh",
  title =        "Data-driven context-sensitivity for points-to
                 analysis",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "100:1--100:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133924",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "100",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chae:2017:AGF,
  author =       "Kwonsoo Chae and Hakjoo Oh and Kihong Heo and Hongseok
                 Yang",
  title =        "Automatically generating features for learning program
                 analysis heuristics for {C}-like languages",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "101:1--101:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133925",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "101",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Grech:2017:PTU,
  author =       "Neville Grech and Yannis Smaragdakis",
  title =        "{P/Taint}: unified points-to and taint analysis",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "102:1--102:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133926",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "102",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cogumbreiro:2017:DAP,
  author =       "Tiago Cogumbreiro and Rishi Surendran and Francisco
                 Martins and Vivek Sarkar and Vasco T. Vasconcelos and
                 Max Grossman",
  title =        "Deadlock avoidance in parallel programs with futures:
                 why parallel tasks should not wait for strangers",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "103:1--103:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3143359",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "103",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Rice:2017:DAS,
  author =       "Andrew Rice and Edward Aftandilian and Ciera Jaspan
                 and Emily Johnston and Michael Pradel and Yulissa
                 Arroyo-Paredes",
  title =        "Detecting argument selection defects",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "104:1--104:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133928",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "104",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wu:2017:HTE,
  author =       "Baijun Wu and Sheng Chen",
  title =        "How type errors were fixed and what students did?",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "105:1--105:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133929",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "105",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wu:2017:LUF,
  author =       "Baijun Wu and John Peter {Campora III} and Sheng
                 Chen",
  title =        "Learning user friendly type-error messages",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "106:1--106:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133930",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "106",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bernstein:2017:GDA,
  author =       "Philip A. Bernstein and Sebastian Burckhardt and
                 Sergey Bykov and Natacha Crooks and Jose M. Faleiro and
                 Gabriel Kliot and Alok Kumbhare and Muntasir Raihan
                 Rahman and Vivek Shah and Adriana Szekeres and Jorgen
                 Thelin",
  title =        "Geo-distribution of actor-based services",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "107:1--107:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133931",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "107",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Padon:2017:PME,
  author =       "Oded Padon and Giuliano Losa and Mooly Sagiv and
                 Sharon Shoham",
  title =        "{Paxos} made {EPR}: decidable reasoning about
                 distributed protocols",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "108:1--108:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3140568",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/bitcoin.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "108",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gomes:2017:VSE,
  author =       "Victor B. F. Gomes and Martin Kleppmann and Dominic P.
                 Mulligan and Alastair R. Beresford",
  title =        "Verifying strong eventual consistency in distributed
                 systems",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "109:1--109:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133933",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "109",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bakst:2017:VDP,
  author =       "Alexander Bakst and Klaus v. Gleissenthall and Rami
                 G{\"o}khan Kici and Ranjit Jhala",
  title =        "Verifying distributed programs via canonical
                 sequentialization",
  journal =      j-PACMPL,
  volume =       "1",
  number =       "OOPSLA",
  pages =        "110:1--110:??",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3133934",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "110",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Miltner:2018:SBL,
  author =       "Anders Miltner and Kathleen Fisher and Benjamin C.
                 Pierce and David Walker and Steve Zdancewic",
  title =        "Synthesizing bijective lenses",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "1:1--1:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158089",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Inala:2018:WIW,
  author =       "Jeevana Priya Inala and Rishabh Singh",
  title =        "{WebRelate}: integrating web data with spreadsheets
                 using examples",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "2:1--2:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158090",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chen:2018:WDA,
  author =       "Taolue Chen and Yan Chen and Matthew Hague and Anthony
                 W. Lin and Zhilin Wu",
  title =        "What is decidable about string constraints with the
                 {ReplaceAll} function",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "3:1--3:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158091",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Holk:2018:SCC,
  author =       "Luk{\'a}{\v{s}} Holk and Petr Jank{\r{u}} and Anthony
                 W. Lin and Philipp R{\"u}mmer and Tom{\'a}{\v{s}}
                 Vojnar",
  title =        "String constraints with concatenation and transducers
                 solved efficiently",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "4:1--4:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158092",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bernardy:2018:LHP,
  author =       "Jean-Philippe Bernardy and Mathieu Boespflug and Ryan
                 R. Newton and Simon Peyton Jones and Arnaud Spiwack",
  title =        "{Linear Haskell}: practical linearity in a
                 higher-order polymorphic language",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "5:1--5:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158093",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mazza:2018:PAF,
  author =       "Damiano Mazza and Luc Pellissier and Pierre Vial",
  title =        "Polyadic approximations, fibrations and intersection
                 types",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "6:1--6:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158094",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ahman:2018:HFA,
  author =       "Danel Ahman",
  title =        "Handling fibred algebraic effects",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "7:1--7:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158095",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Biernacki:2018:HCR,
  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 =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "8:1--8:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158096",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ta:2018:ALS,
  author =       "Quang-Trung Ta and Ton Chanh Le and Siau-Cheng Khoo
                 and Wei-Ngan Chin",
  title =        "Automated lemma synthesis in symbolic-heap separation
                 logic",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "9:1--9:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158097",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "9",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Loding:2018:FNP,
  author =       "Christof L{\"o}ding and P. Madhusudan and Lucas
                 Pe{\~n}a",
  title =        "Foundations for natural proofs and quantifier
                 instantiation",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "10:1--10:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158098",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "10",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Burn:2018:HOC,
  author =       "Toby Cathcart Burn and C.-H. Luke Ong and Steven J.
                 Ramsay",
  title =        "Higher-order constrained Horn clauses for
                 verification",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "11:1--11:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158099",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "11",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Unno:2018:RCR,
  author =       "Hiroshi Unno and Yuki Satake and Tachio Terauchi",
  title =        "Relatively complete refinement type system for
                 verification of higher-order non-deterministic
                 programs",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "12:1--12:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158100",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "12",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Parreaux:2018:UAS,
  author =       "Lionel Parreaux and Antoine Voizard and Amir Shaikhha
                 and Christoph E. Koch",
  title =        "Unifying analytic and statically-typed quasiquotes",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "13:1--13:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158101",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "13",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Brown:2018:JOP,
  author =       "Matt Brown and Jens Palsberg",
  title =        "{Jones}-optimal partial evaluation by
                 specialization-safe normalization",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "14:1--14:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158102",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "14",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Campora:2018:MGT,
  author =       "John Peter Campora and Sheng Chen and Martin Erwig and
                 Eric Walkingshaw",
  title =        "Migrating gradual types",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "15:1--15:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158103",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "15",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Poulsen:2018:ITD,
  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 =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "16:1--16:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158104",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "16",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kokologiannakis:2018:ESM,
  author =       "Michalis Kokologiannakis and Ori Lahav and
                 Konstantinos Sagonas and Viktor Vafeiadis",
  title =        "Effective stateless model checking for {C/C++}
                 concurrency",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "17:1--17:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158105",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "17",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Dongol:2018:TRM,
  author =       "Brijesh Dongol and Radha Jagadeesan and James Riely",
  title =        "Transactions in relaxed memory architectures",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "18:1--18:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158106",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "18",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Pulte:2018:SAC,
  author =       "Christopher Pulte and Shaked Flur and Will Deacon and
                 Jon French and Susmit Sarkar and Peter Sewell",
  title =        "Simplifying {ARM} concurrency: multicopy-atomic
                 axiomatic and operational models for {ARMv8}",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "19:1--19:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158107",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "19",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Liang:2018:PCO,
  author =       "Hongjin Liang and Xinyu Feng",
  title =        "Progress of concurrent objects with partial methods",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "20:1--20:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158108",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "20",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Williams:2018:PAO,
  author =       "Thomas Williams and Didier R{\'e}my",
  title =        "A principled approach to ornamentation in {ML}",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "21:1--21:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158109",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "21",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bowman:2018:TPC,
  author =       "William J. Bowman and Youyou Cong and Nick Rioux and
                 Amal Ahmed",
  title =        "Type-preserving {CPS} translation of {$ \Sigma $} and
                 {$ \Pi $} types is {\em not\/} not possible",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "22:1--22:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158110",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "22",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Abel:2018:DCT,
  author =       "Andreas Abel and Joakim {\"O}hman and Andrea
                 Vezzosi",
  title =        "Decidability of conversion for type theory in type
                 theory",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "23:1--23:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158111",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "23",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kuncar:2018:SCD,
  author =       "Ond{\v{r}}ej Kun{\v{c}}ar and Andrei Popescu",
  title =        "Safety and conservativity of definitions in {HOL} and
                 {Isabelle\slash HOL}",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "24:1--24:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158112",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "24",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Emmi:2018:SCT,
  author =       "Michael Emmi and Constantin Enea",
  title =        "Sound, complete, and tractable linearizability
                 monitoring for concurrent collections",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "25:1--25:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158113",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "25",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Padon:2018:RLS,
  author =       "Oded Padon and Jochen Hoenicke and Giuliano Losa and
                 Andreas Podelski and Mooly Sagiv and Sharon Shoham",
  title =        "Reducing liveness to safety in first-order logic",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "26:1--26:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158114",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "26",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kaki:2018:ATC,
  author =       "Gowtham Kaki and Kartik Nagar and Mahsa Najafzadeh and
                 Suresh Jagannathan",
  title =        "Alone together: compositional reasoning and inference
                 for weak isolation",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "27:1--27:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158115",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "27",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sergey:2018:PPD,
  author =       "Ilya Sergey and James R. Wilcox and Zachary Tatlock",
  title =        "Programming and proving with distributed protocols",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "28:1--28:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158116",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "28",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Melo:2018:ISS,
  author =       "Leandro T. C. Melo and Rodrigo G. Ribeiro and Marcus
                 R. de Ara{\'u}jo and Fernando Magno Quint{\~a}o Pereira",
  title =        "Inference of static semantics for incomplete {C}
                 programs",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "29:1--29:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158117",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "29",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chatterjee:2018:ODR,
  author =       "Krishnendu Chatterjee and Bhavya Choudhary and Andreas
                 Pavlogiannis",
  title =        "Optimal {Dyck} reachability for data-dependence and
                 alias analysis",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "30:1--30:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158118",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "30",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chalupa:2018:DCD,
  author =       "Marek Chalupa and Krishnendu Chatterjee and Andreas
                 Pavlogiannis and Nishant Sinha and Kapil Vaidya",
  title =        "Data-centric dynamic partial order reduction",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "31:1--31:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158119",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "31",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bao:2018:AMC,
  author =       "Wenlei Bao and Sriram Krishnamoorthy and Louis-Noel
                 Pouchet and P. Sadayappan",
  title =        "Analytical modeling of cache behavior for affine
                 programs",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "32:1--32:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158120",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "32",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{McIver:2018:NPR,
  author =       "Annabelle McIver and Carroll Morgan and Benjamin
                 Lucien Kaminski and Joost-Pieter Katoen",
  title =        "A new proof rule for almost-sure termination",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "33:1--33:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158121",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "33",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Agrawal:2018:LRS,
  author =       "Sheshansh Agrawal and Krishnendu Chatterjee and Petr
                 Novotn{\'y}",
  title =        "Lexicographic ranking supermartingales: an efficient
                 approach to termination of probabilistic programs",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "34:1--34:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158122",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "34",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Li:2018:AAT,
  author =       "Yangjia Li and Mingsheng Ying",
  title =        "Algorithmic analysis of termination problems for
                 quantum programs",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "35:1--35:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158123",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "35",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Radicek:2018:MRR,
  author =       "Ivan Radi{\v{c}}ek and Gilles Barthe and Marco
                 Gaboardi and Deepak Garg and Florian Zuleger",
  title =        "Monadic refinements for relational cost analysis",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "36:1--36:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158124",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "36",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Krishna:2018:GFC,
  author =       "Siddharth Krishna and Dennis Shasha and Thomas Wies",
  title =        "Go with the flow: compositional abstractions for
                 concurrent data structures",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "37:1--37:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158125",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "37",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Devriese:2018:PVU,
  author =       "Dominique Devriese and Marco Patrignani and Frank
                 Piessens",
  title =        "Parametricity versus the universal type",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "38:1--38:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158126",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "38",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Clairambault:2018:LHO,
  author =       "Pierre Clairambault and Charles Grellois and Andrzej
                 S. Murawski",
  title =        "Linearity in higher-order recursion schemes",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "39:1--39:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158127",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "39",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chang:2018:STL,
  author =       "Stephen Chang and Alex Knauth and Emina Torlak",
  title =        "Symbolic types for lenient symbolic execution",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "40:1--40:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158128",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "40",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ko:2018:ABB,
  author =       "Hsiang-Shang Ko and Zhenjiang Hu",
  title =        "An axiomatic basis for bidirectional programming",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "41:1--41:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158129",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "41",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Odersky:2018:SFA,
  author =       "Martin Odersky and Olivier Blanvillain and Fengyun Liu
                 and Aggelos Biboudis and Heather Miller and Sandro
                 Stucki",
  title =        "Simplicitly: foundations and applications of implicit
                 function types",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "42:1--42:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158130",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "42",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Danielsson:2018:TUS,
  author =       "Nils Anders Danielsson",
  title =        "Up-to techniques using sized types",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "43:1--43:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158131",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "43",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Capriotti:2018:UHC,
  author =       "Paolo Capriotti and Nicolai Kraus",
  title =        "Univalent higher categories via complete {Semi-Segal}
                 types",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "44:1--44:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158132",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "44",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lampropoulos:2018:GGG,
  author =       "Leonidas Lampropoulos and Zoe Paraskevopoulou and
                 Benjamin C. Pierce",
  title =        "Generating good generators for inductive relations",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "45:1--45:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158133",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "45",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Majumdar:2018:WRT,
  author =       "Rupak Majumdar and Filip Niksic",
  title =        "Why is random testing effective for partition
                 tolerance bugs?",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "46:1--46:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158134",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "46",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lee:2018:APC,
  author =       "Wonyeol Lee and Rahul Sharma and Alex Aiken",
  title =        "On automatically proving the correctness of {\tt
                 math.h} implementations",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "47:1--47:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158135",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fparith.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  abstract =     "Industry standard implementations of {\tt math.h}
                 claim (often without formal proof) tight bounds on
                 floating-point errors. We demonstrate a novel static
                 analysis that proves these bounds and verifies the
                 correctness of these implementations. Our key insight
                 is a reduction of this verification task to a set of
                 mathematical optimization problems that can be solved
                 by off-the-shelf computer algebra systems. We use this
                 analysis to prove the correctness of implementations in
                 Intel's math library automatically. Prior to this work,
                 these implementations could only be verified with
                 significant manual effort.",
  acknowledgement = ack-nhfb,
  articleno =    "47",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Grossman:2018:ODE,
  author =       "Shelly Grossman and Ittai Abraham and Guy Golan-Gueta
                 and Yan Michalevsky and Noam Rinetzky and Mooly Sagiv
                 and Yoni Zohar",
  title =        "Online detection of effectively callback free objects
                 with applications to smart contracts",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "48:1--48:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158136",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "48",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Fluckiger:2018:CSO,
  author =       "Olivier Fl{\"u}ckiger and Gabriel Scherer and Ming-Ho
                 Yee and Aviral Goel and Amal Ahmed and Jan Vitek",
  title =        "Correctness of speculative optimizations with dynamic
                 deoptimization",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "49:1--49:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158137",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "49",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Santos:2018:JJV,
  author =       "Jos{\'e} Fragoso Santos and Petar Maksimovi{\'c} and
                 Daiva Naud{\v{z}}i{\=u}nien{\.e} and Thomas Wood and
                 Philippa Gardner",
  title =        "{JaVerT}: {JavaScript} verification toolchain",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "50:1--50:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158138",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "50",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Nguyen:2018:SCV,
  author =       "Ph{\'u}c C. Nguy{\~{\^e}}n and Thomas Gilray and Sam
                 Tobin-Hochstadt and David {Van Horn}",
  title =        "Soft contract verification for higher-order stateful
                 programs",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "51:1--51:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158139",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "51",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Amin:2018:CTI,
  author =       "Nada Amin and Tiark Rompf",
  title =        "Collapsing towers of interpreters",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "52:1--52:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158140",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "52",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Vazou:2018:RRC,
  author =       "Niki Vazou and Anish Tondwalkar and Vikraman Choudhury
                 and Ryan G. Scott and Ryan R. Newton and Philip Wadler
                 and Ranjit Jhala",
  title =        "Refinement reflection: complete verification with
                 {SMT}",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "53:1--53:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158141",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "53",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kincaid:2018:NLR,
  author =       "Zachary Kincaid and John Cyphert and Jason Breck and
                 Thomas Reps",
  title =        "Non-linear reasoning for invariant synthesis",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "54:1--54:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158142",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "54",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Singh:2018:PCD,
  author =       "Gagandeep Singh and Markus P{\"u}schel and Martin
                 Vechev",
  title =        "A practical construction for decomposing numerical
                 abstract domains",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "55:1--55:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158143",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "55",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2018:VED,
  author =       "Yuepeng Wang and Isil Dillig and Shuvendu K. Lahiri
                 and William R. Cook",
  title =        "Verifying equivalence of database-driven
                 applications",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "56:1--56:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158144",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "56",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Barthe:2018:PES,
  author =       "Gilles Barthe and Thomas Espitau and Benjamin
                 Gr{\'e}goire and Justin Hsu and Pierre-Yves Strub",
  title =        "Proving expected sensitivity of probabilistic
                 programs",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "57:1--57:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158145",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "57",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Albarghouthi:2018:SCP,
  author =       "Aws Albarghouthi and Justin Hsu",
  title =        "Synthesizing coupling proofs of differential privacy",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "58:1--58:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158146",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "58",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ehrhard:2018:MCS,
  author =       "Thomas Ehrhard and Michele Pagani and Christine
                 Tasson",
  title =        "Measurable cones and stable, measurable functions: a
                 model for probabilistic higher-order programming",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "59:1--59:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158147",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "59",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Scibior:2018:DVH,
  author =       "Adam {\'S}cibior and Ohad Kammar and Matthijs
                 V{\'a}k{\'a}r and Sam Staton and Hongseok Yang and
                 Yufei Cai and Klaus Ostermann and Sean K. Moss and
                 Chris Heunen and Zoubin Ghahramani",
  title =        "Denotational validation of higher-order {Bayesian}
                 inference",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "60:1--60:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158148",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "60",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Farzan:2018:SSL,
  author =       "Azadeh Farzan and Zachary Kincaid",
  title =        "Strategy synthesis for linear arithmetic games",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "61:1--61:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158149",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "61",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chandra:2018:BSB,
  author =       "Kartik Chandra and Rastislav Bodik",
  title =        "{Bonsai}: synthesis-based reasoning for type systems",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "62:1--62:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158150",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "62",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2018:PSU,
  author =       "Xinyu Wang and Isil Dillig and Rishabh Singh",
  title =        "Program synthesis using abstraction refinement",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "63:1--63:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158151",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "63",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Timany:2018:LRM,
  author =       "Amin Timany and L{\'e}o Stefanesco and Morten
                 Krogh-Jespersen and Lars Birkedal",
  title =        "A logical relation for monadic encapsulation of state:
                 proving contextual equivalences in the presence of
                 {runST}",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "64:1--64:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158152",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "64",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ahman:2018:RWF,
  author =       "Danel Ahman and C{\'e}dric Fournet and
                 C{\u{a}}t{\u{a}}lin Hri{\c{t}}cu and Kenji Maillard and
                 Aseem Rastogi and Nikhil Swamy",
  title =        "Recalling a witness: foundations and applications of
                 monotonic state",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "65:1--65:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158153",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  acknowledgement = ack-nhfb,
  articleno =    "65",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Jung:2018:RSF,
  author =       "Ralf Jung and Jacques-Henri Jourdan and Robbert
                 Krebbers and Derek Dreyer",
  title =        "{RustBelt}: securing the foundations of the {Rust}
                 programming language",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "POPL",
  pages =        "66:1--66:??",
  month =        jan,
  year =         "2018",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3158154",
  ISSN =         "2475-1421",
  bibdate =      "Wed Jan 10 09:45:26 MST 2018",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/rust.bib",
  abstract =     "Rust is a new systems programming language that
                 promises to overcome the seemingly fundamental tradeoff
                 between high-level safety guarantees and low-level
                 control over resource management. Unfortunately, none
                 of Rust's safety claims have been formally proven, and
                 there is good reason to question whether they actually
                 hold. Specifically, Rust employs a strong,
                 ownership-based type system, but then extends the
                 expressive power of this core type system through
                 libraries that internally use unsafe features. In this
                 paper, we give the first formal (and machine-checked)
                 safety proof for a language representing a realistic
                 subset of Rust. Our proof is extensible in the sense
                 that, for each new Rust library that uses unsafe
                 features, we can say what verification condition it
                 must satisfy in order for it to be deemed a safe
                 extension to the language. We have carried out this
                 verification for some of the most important libraries
                 that are used throughout the Rust ecosystem.",
  acknowledgement = ack-nhfb,
  articleno =    "66",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bracevac:2018:VEC,
  author =       "Oliver Bracevac and Nada Amin and Guido Salvaneschi
                 and Sebastian Erdweg and Patrick Eugster and Mira
                 Mezini",
  title =        "Versatile event correlation with algebraic effects",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "67:1--67:31",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236762",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236762",
  abstract =     "We present the first language design to uniformly
                 express variants of $n$-way joins over asynchronous
                 event streams from different domains, e.g.,
                 stream-relational algebra, event processing, reactive
                 and concurrent programming. We model asynchronous
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "67",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hackett:2018:PPO,
  author =       "Jennifer Hackett and Graham Hutton",
  title =        "Parametric polymorphism and operational improvement",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "68:1--68:24",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236763",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236763",
  abstract =     "Parametricity, in both operational and denotational
                 forms, has long been a useful tool for reasoning about
                 program correctness. However, there is as yet no
                 comparable technique for reasoning about program
                 improvement, that is, when one program uses \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "68",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cong:2018:HDC,
  author =       "Youyou Cong and Kenichi Asai",
  title =        "Handling delimited continuations with dependent
                 types",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "69:1--69:31",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236764",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236764",
  abstract =     "Dependent types are a powerful tool for maintaining
                 program invariants. To take advantage of this aspect in
                 real-world programming, efforts have been put into
                 enriching dependently typed languages with missing
                 constructs, most notably, effects. This \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "69",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Elliott:2018:SEA,
  author =       "Conal Elliott",
  title =        "The simple essence of automatic differentiation",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "70:1--70:29",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236765",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236765",
  abstract =     "Automatic differentiation (AD) in reverse mode (RAD)
                 is a central component of deep learning and other uses
                 of large-scale optimization. Commonly used RAD
                 algorithms such as backpropagation, however, are
                 complex and stateful, hindering deep \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "70",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Greenman:2018:STS,
  author =       "Ben Greenman and Matthias Felleisen",
  title =        "A spectrum of type soundness and performance",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "71:1--71:32",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236766",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236766",
  abstract =     "The literature on gradual typing presents three
                 fundamentally different ways of thinking about the
                 integrity of programs that combine statically typed and
                 dynamically typed code. This paper presents a uniform
                 semantic framework that explains all three \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "71",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Keidel:2018:CSP,
  author =       "Sven Keidel and Casper Bach Poulsen and Sebastian
                 Erdweg",
  title =        "Compositional soundness proofs of abstract
                 interpreters",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "72:1--72:26",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236767",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236767",
  abstract =     "Abstract interpretation is a technique for developing
                 static analyses. Yet, proving abstract interpreters
                 sound is challenging for interesting analyses, because
                 of the high proof complexity and proof effort. To
                 reduce complexity and effort, we propose a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "72",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{New:2018:GEP,
  author =       "Max S. New and Amal Ahmed",
  title =        "Graduality from embedding-projection pairs",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "73:1--73:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236768",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236768",
  abstract =     "Gradually typed languages allow statically typed and
                 dynamically typed code to interact while maintaining
                 benefits of both styles. The key to reasoning about
                 these mixed programs is Siek-Vitousek-Cimini-Boyland's
                 (dynamic) gradual guarantee, which says \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "73",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Horn:2018:IRL,
  author =       "Rudi Horn and Roly Perera and James Cheney",
  title =        "Incremental relational lenses",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "74:1--74:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236769",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236769",
  abstract =     "Lenses are a popular approach to bidirectional
                 transformations, a generalisation of the view update
                 problem in databases, in which we wish to make changes
                 to source tables to effect a desired change on a view.
                 However, perhaps surprisingly, lenses have \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "74",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cockx:2018:EDC,
  author =       "Jesper Cockx and Andreas Abel",
  title =        "Elaborating dependent (co)pattern matching",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "75:1--75:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236770",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236770",
  abstract =     "In a dependently typed language, we can guarantee
                 correctness of our programs by providing formal proofs.
                 To check them, the typechecker elaborates these
                 programs and proofs into a low level core language.
                 However, this core language is by nature hard
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "75",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Koppel:2018:CFR,
  author =       "James Koppel and Gabriel Scherer and Armando
                 Solar-Lezama",
  title =        "Capturing the future by replaying the past (functional
                 pearl)",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "76:1--76:29",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236771",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236771",
  abstract =     "Delimited continuations are the mother of all monads!
                 So goes the slogan inspired by Filinski's 1994 paper,
                 which showed that delimited continuations can implement
                 any monadic effect, letting the programmer use an
                 effect as easily as if it was built \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "76",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Krebbers:2018:MGE,
  author =       "Robbert Krebbers and Jacques-Henri Jourdan and Ralf
                 Jung and Joseph Tassarotti and Jan-Oliver Kaiser and
                 Amin Timany and Arthur Chargu{\'e}raud and Derek Dreyer",
  title =        "{MoSeL}: a general, extensible modal framework for
                 interactive proofs in separation logic",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "77:1--77:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236772",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236772",
  abstract =     "A number of tools have been developed for carrying out
                 separation-logic proofs mechanically using an
                 interactive proof assistant. One of the most advanced
                 such tools is the Iris Proof Mode (IPM) for Coq, which
                 offers a rich set of tactics for making \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "77",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kaiser:2018:MTT,
  author =       "Jan-Oliver Kaiser and Beta Ziliani and Robbert
                 Krebbers and Yann R{\'e}gis-Gianas and Derek Dreyer",
  title =        "{Mtac2}: typed tactics for backward reasoning in
                 {Coq}",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "78:1--78:31",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236773",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236773",
  abstract =     "Coq supports a range of built-in tactics, which are
                 engineered primarily to support backward reasoning.
                 Starting from a desired goal, the Coq programmer can
                 use these tactics to manipulate the proof state
                 interactively, applying axioms or lemmas to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "78",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mokhov:2018:BSC,
  author =       "Andrey Mokhov and Neil Mitchell and Simon Peyton
                 Jones",
  title =        "Build systems {\`a} la carte",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "79:1--79:29",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236774",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236774",
  abstract =     "Build systems are awesome, terrifying --- and unloved.
                 They are used by every developer around the world, but
                 are rarely the object of study. In this paper we offer
                 a systematic, and executable, framework for developing
                 and comparing build systems, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "79",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Maina:2018:SQL,
  author =       "Solomon Maina and Anders Miltner and Kathleen Fisher
                 and Benjamin C. Pierce and David Walker and Steve
                 Zdancewic",
  title =        "Synthesizing quotient lenses",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "80:1--80:29",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236775",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236775",
  abstract =     "Quotient lenses are bidirectional transformations
                 whose correctness laws are ``loosened'' by specified
                 equivalence relations, allowing inessential details in
                 concrete data formats to be suppressed. For example, a
                 programmer could use a quotient lens to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "80",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ohori:2018:FPO,
  author =       "Atsushi Ohori and Katsuhiro Ueno and Hisayuki Mima",
  title =        "Finitary polymorphism for optimizing type-directed
                 compilation",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "81:1--81:29",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236776",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236776",
  abstract =     "We develop a type-theoretical method for optimizing
                 type directed compilation of polymorphic languages,
                 implement the method in SML\#, which is a full-scale
                 compiler of Standard ML extended with several advanced
                 features that require type-passing \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "81",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Almeida:2018:THP,
  author =       "Jos{\'e} Bacelar Almeida and Alcino Cunha and Nuno
                 Macedo and Hugo Pacheco and Jos{\'e} Proen{\c{c}}a",
  title =        "Teaching how to program using automated assessment and
                 functional glossy games (experience report)",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "82:1--82:17",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236777",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236777",
  abstract =     "Our department has long been an advocate of the
                 functional-first school of programming and has been
                 teaching Haskell as a first language in introductory
                 programming course units for 20 years. Although the
                 functional style is largely beneficial, it needs
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "82",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Scibior:2018:FPM,
  author =       "Adam {\'S}cibior and Ohad Kammar and Zoubin
                 Ghahramani",
  title =        "Functional programming for modular {Bayesian}
                 inference",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "83:1--83:29",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236778",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236778",
  abstract =     "We present an architectural design of a library for
                 Bayesian modelling and inference in modern functional
                 programming languages. The novel aspect of our approach
                 are modular implementations of existing
                 state-of-the-art inference algorithms. Our design
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "83",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Boisseau:2018:WYN,
  author =       "Guillaume Boisseau and Jeremy Gibbons",
  title =        "What you needa know about {Yoneda}: profunctor optics
                 and the {Yoneda} lemma (functional pearl)",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "84:1--84:27",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236779",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236779",
  abstract =     "Profunctor optics are a neat and composable
                 representation of bidirectional data accessors,
                 including lenses, and their dual, prisms. The
                 profunctor representation exploits higher-order
                 functions and higher-kinded type constructor classes,
                 but the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "84",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kiss:2018:GDG,
  author =       "Csongor Kiss and Matthew Pickering and Nicolas Wu",
  title =        "Generic deriving of generic traversals",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "85:1--85:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236780",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236780",
  abstract =     "Functional programmers have an established tradition
                 of using traversals as a design pattern to work with
                 recursive data structures. The technique is so prolific
                 that a whole host of libraries have been designed to
                 help in the task of automatically \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "85",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gibbons:2018:RAW,
  author =       "Jeremy Gibbons and Fritz Henglein and Ralf Hinze and
                 Nicolas Wu",
  title =        "Relational algebra by way of adjunctions",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "86:1--86:28",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236781",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236781",
  abstract =     "Bulk types such as sets, bags, and lists are monads,
                 and therefore support a notation for database queries
                 based on comprehensions. This fact is the basis of much
                 work on database query languages. The monadic structure
                 easily explains most of standard \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "86",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wand:2018:CEP,
  author =       "Mitchell Wand and Ryan Culpepper and Theophilos
                 Giannakopoulos and Andrew Cobb",
  title =        "Contextual equivalence for a probabilistic language
                 with continuous random variables and recursion",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "87:1--87:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236782",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236782",
  abstract =     "We present a complete reasoning principle for
                 contextual equivalence in an untyped probabilistic
                 language. The language includes continuous
                 (real-valued) random variables, conditionals, and
                 scoring. It also includes recursion, since the standard
                 call-by-\ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "87",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hirsch:2018:SLS,
  author =       "Andrew K. Hirsch and Ross Tate",
  title =        "Strict and lazy semantics for effects: layering monads
                 and comonads",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "88:1--88:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236783",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236783",
  abstract =     "Two particularly important classes of effects are
                 those that can be given semantics using a monad and
                 those that can be given semantics using a comonad.
                 Currently, programs with both kinds of effects are
                 usually given semantics using a technique that
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "88",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Breitner:2018:RSV,
  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 =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "89:1--89:16",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236784",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236784",
  abstract =     "Good tools can bring mechanical verification to
                 programs written in mainstream functional languages. We
                 use {$<$ pre$>$ hs}-to-{coq$<$}/{pre$>$} to translate
                 significant portions of Haskell's {$<$ pre$>$
                 containers$<$}/{pre$>$} library into Coq, and verify it
                 against specifications \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "89",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Allais:2018:TSS,
  author =       "Guillaume Allais and Robert Atkey and James Chapman
                 and Conor McBride and James McKinna",
  title =        "A type and scope safe universe of syntaxes with
                 binding: their semantics and proofs",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "90:1--90:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236785",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236785",
  abstract =     "Almost every programming language's syntax includes a
                 notion of binder and corresponding bound occurrences,
                 along with the accompanying notions of $ \alpha
                 $-equivalence, capture avoiding substitution, typing
                 contexts, runtime environments, and so on. In the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "90",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Das:2018:PCA,
  author =       "Ankush Das and Jan Hoffmann and Frank Pfenning",
  title =        "Parallel complexity analysis with temporal session
                 types",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "91:1--91:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236786",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236786",
  abstract =     "We study the problem of parametric parallel complexity
                 analysis of concurrent, message-passing programs. To
                 make the analysis local and compositional, it is based
                 on a conservative extension of binary session types,
                 which structure the type and \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "91",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Tabareau:2018:EFU,
  author =       "Nicolas Tabareau and {\'E}ric Tanter and Matthieu
                 Sozeau",
  title =        "Equivalences for free: univalent parametricity for
                 effective transport",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "92:1--92:29",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236787",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236787",
  abstract =     "Homotopy Type Theory promises a unification of the
                 concepts of equality and equivalence in Type Theory,
                 through the introduction of the univalence principle.
                 However, existing proof assistants based on type theory
                 treat this principle as an axiom, and \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "92",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Stampoulis:2018:PFL,
  author =       "Antonis Stampoulis and Adam Chlipala",
  title =        "Prototyping a functional language using higher-order
                 logic programming: a functional pearl on learning the
                 ways of $ \lambda $ {Prolog Makam}",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "93:1--93:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236788",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236788",
  abstract =     "We demonstrate how the framework of higher-order logic
                 programming, as exemplified in the $ \lambda $ Prolog
                 language design, is a prime vehicle for rapid
                 prototyping of implementations for programming
                 languages with sophisticated type systems. We present
                 the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "93",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Accattoli:2018:TTS,
  author =       "Beniamino Accattoli and St{\'e}phane Graham-Lengrand
                 and Delia Kesner",
  title =        "Tight typings and split bounds",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "94:1--94:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236789",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236789",
  abstract =     "Multi types-aka non-idempotent intersection types-have
                 been used to obtain quantitative bounds on higher-order
                 programs, as pioneered by de Carvalho. Notably, they
                 bound at the same time the number of evaluation steps
                 and the size of the result. Recent \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "94",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Muller:2018:CPG,
  author =       "Stefan K. Muller and Umut A. Acar and Robert Harper",
  title =        "Competitive parallelism: getting your priorities
                 right",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "95:1--95:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236790",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/multithreading.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236790",
  abstract =     "Multi-threaded programs have traditionally fallen into
                 one of two domains: cooperative and competitive. These
                 two domains have traditionally remained mostly
                 disjoint, with cooperative threading used for
                 increasing throughput in compute-intensive \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "95",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Perez:2018:FTF,
  author =       "Ivan Perez",
  title =        "Fault tolerant functional reactive programming
                 (functional pearl)",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "96:1--96:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236791",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236791",
  abstract =     "Highly critical application domains, like medicine and
                 aerospace, require the use of strict design,
                 implementation and validation techniques. Functional
                 languages have been used in these domains to develop
                 synchronous dataflow programming languages for
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "96",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Elsman:2018:SIH,
  author =       "Martin Elsman and Troels Henriksen and Danil Annenkov
                 and Cosmin E. Oancea",
  title =        "Static interpretation of higher-order modules in
                 {Futhark}: functional {GPU} programming in the large",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "97:1--97:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236792",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236792",
  abstract =     "We present a higher-order module system for the purely
                 functional data-parallel array language Futhark. The
                 module language has the property that it is completely
                 eliminated at compile time, yet it serves as a powerful
                 tool for organizing libraries and \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "97",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Campora:2018:CCH,
  author =       "John Peter Campora and Sheng Chen and Eric
                 Walkingshaw",
  title =        "Casts and costs: harmonizing safety and performance in
                 gradual typing",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "98:1--98:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236793",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236793",
  abstract =     "Gradual typing allows programmers to use both static
                 and dynamic typing in a single program. However, a
                 well-known problem with sound gradual typing is that
                 the interactions between static and dynamic code can
                 cause significant performance degradation. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "98",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Nandi:2018:FPC,
  author =       "Chandrakana Nandi and James R. Wilcox and Pavel
                 Panchekha and Taylor Blau and Dan Grossman and Zachary
                 Tatlock",
  title =        "Functional programming for compiling and decompiling
                 computer-aided design",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "99:1--99:31",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236794",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236794",
  abstract =     "Desktop-manufacturing techniques like 3D printing are
                 increasingly popular because they reduce the cost and
                 complexity of producing customized objects on demand.
                 Unfortunately, the vibrant communities of early
                 adopters, often referred to as ``makers,'' \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "99",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Yallop:2018:PSD,
  author =       "Jeremy Yallop and Tamara von Glehn and Ohad Kammar",
  title =        "Partially-static data as free extension of algebras",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "100:1--100:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236795",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236795",
  abstract =     "Partially-static data structures are a well-known
                 technique for improving binding times. However, they
                 are often defined in an ad-hoc manner, without a
                 unifying framework to ensure full use of the equations
                 associated with each operation. We present a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "100",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Yorgey:2018:WDF,
  author =       "Brent A. Yorgey and Kenneth Foner",
  title =        "What's the difference? {A} functional pearl on
                 subtracting bijections",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "101:1--101:21",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236796",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236796",
  abstract =     "It is a straightforward exercise to write a program to
                 ``add'' two bijections---resulting in a bijection
                 between two sum types, which runs the first bijection
                 on elements from the left summand and the second
                 bijection on the right. It is much less obvious
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "101",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Foner:2018:KYL,
  author =       "Kenneth Foner and Hengchu Zhang and Leonidas
                 Lampropoulos",
  title =        "Keep your laziness in check",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "102:1--102:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236797",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236797",
  abstract =     "We introduce StrictCheck: a property-based random
                 testing framework for observing, specifying, and
                 testing the strictness of Haskell functions. Strictness
                 is traditionally considered a non-functional property;
                 StrictCheck allows it to be tested as if it \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "102",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bour:2018:MLS,
  author =       "Fr{\'e}d{\'e}ric Bour and Thomas Refis and Gabriel
                 Scherer",
  title =        "{Merlin}: a language server for {OCaml} (experience
                 report)",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "103:1--103:15",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236798",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236798",
  abstract =     "We report on the experience of developing Merlin, a
                 language server for the OCaml programming language in
                 development since 2013. Merlin is a daemon that
                 connects to your favourite text editor and provides
                 services that require a fine-grained \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "103",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Diehl:2018:GZC,
  author =       "Larry Diehl and Denis Firsov and Aaron Stump",
  title =        "Generic zero-cost reuse for dependent types",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "104:1--104:30",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236799",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236799",
  abstract =     "Dependently typed languages are well known for having
                 a problem with code reuse. Traditional non-indexed
                 algebraic datatypes (e.g. lists) appear alongside a
                 plethora of indexed variations (e.g. vectors).
                 Functions are often rewritten for both non-. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "104",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wei:2018:RAA,
  author =       "Guannan Wei and James Decker and Tiark Rompf",
  title =        "Refunctionalization of abstract abstract machines:
                 bridging the gap between abstract abstract machines and
                 abstract definitional interpreters (functional pearl)",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "105:1--105:28",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236800",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236800",
  abstract =     "Abstracting abstract machines is a systematic
                 methodology for constructing sound static analyses for
                 higher-order languages, by deriving small-step abstract
                 abstract machines (AAMs) that perform abstract
                 interpretation from abstract machines that \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "105",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Omar:2018:RPL,
  author =       "Cyrus Omar and Jonathan Aldrich",
  title =        "Reasonably programmable literal notation",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "ICFP",
  pages =        "106:1--106:32",
  month =        jul,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3236801",
  bibdate =      "Fri Aug 7 17:44:42 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3236801",
  abstract =     "General-purpose programming languages typically define
                 literal notation for only a small number of common data
                 structures, like lists. This is unsatisfying because
                 there are many other data structures for which literal
                 notation might be useful, e.g. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "106",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Drechsler:2018:TSR,
  author =       "Joscha Drechsler and Ragnar Mogk and Guido Salvaneschi
                 and Mira Mezini",
  title =        "Thread-safe reactive programming",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "107:1--107:30",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276477",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/multithreading.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276477",
  abstract =     "The execution of an application written in a reactive
                 language involves transfer of data and control flow
                 between imperative and reactive abstractions at
                 well-defined points. In a multi-threaded environment,
                 multiple such interactions may execute \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "107",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Daloze:2018:PDL,
  author =       "Benoit Daloze and Arie Tal and Stefan Marr and
                 Hanspeter M{\"o}ssenb{\"o}ck and Erez Petrank",
  title =        "Parallelization of dynamic languages: synchronizing
                 built-in collections",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "108:1--108:30",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276478",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/hash.bib;
                 http://www.math.utah.edu/pub/tex/bib/java2010;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/python.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276478",
  abstract =     "Dynamic programming languages such as Python and Ruby
                 are widely used, and much effort is spent on making
                 them efficient. One substantial research effort in this
                 direction is the enabling of parallel code execution.
                 While there has been significant progress, making
                 dynamic collections efficient, scalable, and
                 thread-safe is an open issue. Typical programs in
                 dynamic languages use few but versatile collection
                 types. Such collections are an important ingredient of
                 dynamic environments, but are difficult to make safe,
                 efficient, and scalable.\par

                 In this paper, we propose an approach for efficient and
                 concurrent collections by gradually increasing
                 synchronization levels according to the dynamic needs
                 of each collection instance. Collections reachable only
                 by a single thread have no synchronization, arrays
                 accessed in bounds have minimal synchronization, and
                 for the general case, we adopt the Layout Lock paradigm
                 and extend its design with a lightweight version that
                 fits the setting of dynamic languages. We apply our
                 approach to Ruby's Array and Hash collections. Our
                 experiments show that our approach has no overhead on
                 single-threaded benchmarks, scales linearly for Array
                 and Hash accesses, achieves the same scalability as
                 Fortran and Java for classic parallel algorithms, and
                 scales better than other Ruby implementations on Ruby
                 workloads",
  acknowledgement = ack-nhfb,
  articleno =    "108",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Meier:2018:VMD,
  author =       "Remigius Meier and Armin Rigo and Thomas R. Gross",
  title =        "Virtual machine design for parallel dynamic
                 programming languages",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "109:1--109:25",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276479",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/python.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276479",
  abstract =     "To leverage the benefits of modern hardware, dynamic
                 languages must support parallelism, and parallelism
                 requires a virtual machine (VM) capable of parallel
                 execution --- a parallel VM. However, unrestricted
                 concurrency and the dynamism of dynamic languages pose
                 great challenges to the implementation of parallel VMs.
                 In a dynamic language, a program changing itself is
                 part of the language model. To help the VM, languages
                 often choose memory models (MM) that weaken consistency
                 guarantees. With lesser guarantees, local program state
                 cannot be affected by every concurrent state change.
                 And less interference allows a VM to make local
                 assumptions about the program state which are not
                 immediately violated. These local assumptions are
                 essential for a VM's just-in-time compiler for
                 delivering state-of-the-art VM
                 performance.\par

                 Unfortunately, some dynamic languages employ MMs that
                 give exceedingly strong consistency guarantees and
                 thereby hinder the development of parallel VMs. Such is
                 the case in particular for languages that depend on a
                 global interpreter lock, which mandates a MM with
                 sequential consistency and instruction
                 atomicity.\par

                 In this paper, we reflect on a first implementation of
                 the Parallel RPython execution model, which facilitates
                 the development of parallel VMs by decoupling language
                 semantics from the synchronization mechanism used
                 within the VM. The implementation addresses the
                 challenges imposed by strong MMs through strict
                 isolation of concurrent computations. This isolation
                 builds on transactional parallel worlds, which are
                 implemented with a novel combination of software
                 techniques and the capabilities of modern
                 hardware.\par

                 We evaluate a set of parallel Python programs on a
                 parallel VM that relies on Parallel RPython's
                 implementation. Compared with a serial baseline VM that
                 relies on a global interpreter lock, the parallel VM
                 achieves speedups of up to $ 7.5 \times $ on 8 CPU
                 cores. The evaluation shows that our realization of
                 Parallel RPython meets the challenges of dynamic
                 languages, and that it can serve as a solid foundation
                 for the construction of parallel dynamic language
                 VMs.",
  acknowledgement = ack-nhfb,
  articleno =    "109",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mendis:2018:GGO,
  author =       "Charith Mendis and Saman Amarasinghe",
  title =        "{goSLP}: globally optimized superword level
                 parallelism framework",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "110:1--110:28",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276480",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276480",
  abstract =     "Modern microprocessors are equipped with single
                 instruction multiple data (SIMD) or vector instruction
                 sets which allow compilers to exploit superword level
                 parallelism (SLP), a type of fine-grained parallelism.
                 Current SLP auto-vectorization techniques \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "110",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Brachthauser:2018:EHM,
  author =       "Jonathan Immanuel Brachth{\"a}user and Philipp
                 Schuster and Klaus Ostermann",
  title =        "Effect handlers for the masses",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "111:1--111:27",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276481",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276481",
  abstract =     "Effect handlers are a program structuring paradigm
                 with rising popularity in the functional programming
                 language community and can express many advanced
                 control flow abstractions. We present the first
                 implementation of effect handlers for Java --- an
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "111",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Muehlboeck:2018:EUI,
  author =       "Fabian Muehlboeck and Ross Tate",
  title =        "Empowering union and intersection types with
                 integrated subtyping",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "112:1--112:29",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276482",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276482",
  abstract =     "Union and intersection types are both simple and
                 powerful but have seen limited adoption. The problem is
                 that, so far, subtyping algorithms for type systems
                 extended with union and intersections have typically
                 been either unreliable or insufficiently \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "112",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Nardelli:2018:JSR,
  author =       "Francesco Zappa Nardelli and Julia Belyakova and Artem
                 Pelenitsyn and Benjamin Chung and Jeff Bezanson and Jan
                 Vitek",
  title =        "{Julia} subtyping: a rational reconstruction",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "113:1--113:27",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276483",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/julia.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276483",
  abstract =     "Programming languages that support multiple dispatch
                 rely on an expressive notion of subtyping to specify
                 method applicability. In these languages, type
                 annotations on method declarations are used to select,
                 out of a potentially large set of methods, the one that
                 is most appropriate for a particular tuple of
                 arguments. Julia is a language for scientific computing
                 built around multiple dispatch and an expressive
                 subtyping relation. This paper provides the first
                 formal definition of Julia's subtype relation and
                 motivates its design. We validate our specification
                 empirically with an implementation of our definition
                 that we compare against the existing Julia
                 implementation on a collection of real-world programs.
                 Our subtype implementation differs on 122 subtype tests
                 out of 6,014,476. The first 120 differences are due to
                 a bug in Julia that was fixed once reported; the
                 remaining 2 are under discussion.",
  acknowledgement = ack-nhfb,
  articleno =    "113",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{vanAntwerpen:2018:ST,
  author =       "Hendrik van Antwerpen and Casper Bach Poulsen and
                 Arjen Rouvoet and Eelco Visser",
  title =        "Scopes as types",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "114:1--114:30",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276484",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276484",
  abstract =     "Scope graphs are a promising generic framework to
                 model the binding structures of programming languages,
                 bridging formalization and implementation, supporting
                 the definition of type checkers and the automation of
                 type safety proofs. However, previous \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "114",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Li:2018:DFD,
  author =       "Peixuan Li and Danfeng Zhang",
  title =        "A derivation framework for dependent security label
                 inference",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "115:1--115:26",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276485",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276485",
  abstract =     "Dependent security labels (security labels that depend
                 on program states) in various forms have been
                 introduced to express rich information flow policies.
                 They are shown to be essential in the verification of
                 real-world software and hardware systems \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "115",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Grech:2018:MSG,
  author =       "Neville Grech and Michael Kong and Anton Jurisevic and
                 Lexi Brent and Bernhard Scholz and Yannis Smaragdakis",
  title =        "{MadMax}: surviving out-of-gas conditions in
                 {Ethereum} smart contracts",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "116:1--116:27",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276486",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/bitcoin.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276486",
  abstract =     "Ethereum is a distributed blockchain platform, serving
                 as an ecosystem for smart contracts: full-fledged
                 inter-communicating programs that capture the
                 transaction logic of an account. Unlike programs in
                 mainstream languages, a gas limit restricts the
                 execution of an Ethereum smart contract: execution
                 proceeds as long as gas is available. Thus, gas is a
                 valuable resource that can be manipulated by an
                 attacker to provoke unwanted behavior in a victim's
                 smart contract (e.g., wasting or blocking funds of said
                 victim). Gas-focused vulnerabilities exploit undesired
                 behavior when a contract (directly or through other
                 interacting contracts) runs out of gas. Such
                 vulnerabilities are among the hardest for programmers
                 to protect against, as out-of-gas behavior may be
                 uncommon in non-attack scenarios and reasoning about it
                 is far from trivial.

                 In this paper, we classify and identify gas-focused
                 vulnerabilities, and present MadMax: a static program
                 analysis technique to automatically detect gas-focused
                 vulnerabilities with very high confidence. Our approach
                 combines a control-flow-analysis-based decompiler and
                 declarative program-structure queries. The combined
                 analysis captures high-level domain-specific concepts
                 (such as ``dynamic data structure storage'' and
                 ``safely resumable loops'') and achieves high precision
                 and scalability. MadMax analyzes the entirety of smart
                 contracts in the Ethereum blockchain in just 10 hours
                 (with decompilation timeouts in 8\% of the cases) and
                 flags contracts with a (highly volatile) monetary value
                 of over \$2.8B as vulnerable. Manual inspection of a
                 sample of flagged contracts shows that 81\% of the
                 sampled warnings do indeed lead to vulnerabilities,
                 which we report on in our experiment.",
  acknowledgement = ack-nhfb,
  articleno =    "116",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wong:2018:FVE,
  author =       "Chu-Pan Wong and Jens Meinicke and Lukas Lazarek and
                 Christian K{\"a}stner",
  title =        "Faster variational execution with transparent bytecode
                 transformation",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "117:1--117:30",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276487",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276487",
  abstract =     "Variational execution is a novel dynamic analysis
                 technique for exploring highly configurable systems and
                 accurately tracking information flow. It is able to
                 efficiently analyze many configurations by aggressively
                 sharing redundancies of program \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "117",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Alpernas:2018:SSC,
  author =       "Kalev Alpernas and Cormac Flanagan and Sadjad Fouladi
                 and Leonid Ryzhyk and Mooly Sagiv and Thomas Schmitz
                 and Keith Winstein",
  title =        "Secure serverless computing using dynamic information
                 flow control",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "118:1--118:26",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276488",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276488",
  abstract =     "The rise of serverless computing provides an
                 opportunity to rethink cloud security. We present an
                 approach for securing serverless systems using a novel
                 form of dynamic information flow control (IFC). We show
                 that in serverless applications, the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "118",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Leissa:2018:APE,
  author =       "Roland Lei{\ss}a and Klaas Boesche and Sebastian Hack
                 and Ars{\`e}ne P{\'e}rard-Gayot and Richard Membarth
                 and Philipp Slusallek and Andr{\'e} M{\"u}ller and
                 Bertil Schmidt",
  title =        "{AnyDSL}: a partial evaluation framework for
                 programming high-performance libraries",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "119:1--119:30",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276489",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276489",
  abstract =     "This paper advocates programming high-performance code
                 using partial evaluation. We present a clean-slate
                 programming system with a simple, annotation-based,
                 online partial evaluator that operates on a CPS-style
                 intermediate representation. Our system \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "119",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bezanson:2018:JDP,
  author =       "Jeff Bezanson and Jiahao Chen and Benjamin Chung and
                 Stefan Karpinski and Viral B. Shah and Jan Vitek and
                 Lionel Zoubritzky",
  title =        "{Julia}: dynamism and performance reconciled by
                 design",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "120:1--120:23",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276490",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/julia.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/python.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276490",
  abstract =     "Julia is a programming language for the scientific
                 community that combines features of productivity
                 languages, such as Python or MATLAB, with
                 characteristics of performance-oriented languages, such
                 as C++ or Fortran. Julia's productivity features
                 include: dynamic typing, automatic memory management,
                 rich type annotations, and multiple dispatch. At the
                 same time, Julia allows programmers to control memory
                 layout and leverages a specializing just-in-time
                 compiler to eliminate much of the overhead of those
                 features. This paper details the design choices made by
                 the creators of Julia and reflects on the implications
                 of those choices for performance and usability.",
  acknowledgement = ack-nhfb,
  articleno =    "120",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhang:2018:GHP,
  author =       "Yunming Zhang and Mengjiao Yang and Riyadh Baghdadi
                 and Shoaib Kamil and Julian Shun and Saman Amarasinghe",
  title =        "{GraphIt}: a high-performance graph {DSL}",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "121:1--121:30",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276491",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276491",
  abstract =     "The performance bottlenecks of graph applications
                 depend not only on the algorithm and the underlying
                 hardware, but also on the size and structure of the
                 input graph. As a result, programmers must try
                 different combinations of a large set of techniques,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "121",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Koppel:2018:OTM,
  author =       "James Koppel and Varot Premtoon and Armando
                 Solar-Lezama",
  title =        "One tool, many languages: language-parametric
                 transformation with incremental parametric syntax",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "122:1--122:28",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276492",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276492",
  abstract =     "We present a new approach for building
                 source-to-source transformations that can run on
                 multiple programming languages, based on a new way of
                 representing programs called incremental parametric
                 syntax. We implement this approach in Haskell in our
                 Cubix \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "122",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chou:2018:FAS,
  author =       "Stephen Chou and Fredrik Kjolstad and Saman
                 Amarasinghe",
  title =        "Format abstraction for sparse tensor algebra
                 compilers",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "123:1--123:30",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276493",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276493",
  abstract =     "This paper shows how to build a sparse tensor algebra
                 compiler that is agnostic to tensor formats (data
                 layouts). We develop an interface that describes
                 formats in terms of their capabilities and properties,
                 and show how to build a modular code \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "123",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Xu:2018:SJC,
  author =       "Xiaoran Xu and Keith Cooper and Jacob Brock and Yan
                 Zhang and Handong Ye",
  title =        "{ShareJIT}: {JIT} code cache sharing across processes
                 and its practical implementation",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "124:1--124:23",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276494",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276494",
  abstract =     "Just-in-time (JIT) compilation coupled with code
                 caching are widely used to improve performance in
                 dynamic programming language implementations. These
                 code caches, along with the associated profiling data
                 for the hot code, however, consume significant
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "124",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lee:2018:RHL,
  author =       "Juneyoung Lee and Chung-Kil Hur and Ralf Jung and
                 Zhengyang Liu and John Regehr and Nuno P. Lopes",
  title =        "Reconciling high-level optimizations and low-level
                 code in {LLVM}",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "125:1--125:28",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276495",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/rust.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276495",
  abstract =     "LLVM miscompiles certain programs in C, C++, and Rust
                 that use low-level language features such as raw
                 pointers in Rust or conversion between integers and
                 pointers in C or C++. The problem is that it is
                 difficult for the compiler to implement aggressive,
                 high-level memory optimizations while also respecting
                 the guarantees made by the programming languages to
                 low-level programs. A deeper problem is that the memory
                 model for LLVM's intermediate representation (IR) is
                 informal and the semantics of corner cases are not
                 always clear to all compiler developers. We developed a
                 novel memory model for LLVM IR and formalized it. The
                 new model requires a handful of problematic IR-level
                 optimizations to be removed, but it also supports the
                 addition of new optimizations that were not previously
                 legal. We have implemented the new model and shown that
                 it fixes known memory-model-related miscompilations
                 without impacting the quality of generated code.",
  acknowledgement = ack-nhfb,
  articleno =    "125",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gong:2018:ESE,
  author =       "Zhangxiaowen Gong and Zhi Chen and Justin Szaday and
                 David Wong and Zehra Sura and Neftali Watkinson and
                 Saeed Maleki and David Padua and Alexander Veidenbaum
                 and Alexandru Nicolau and Josep Torrellas",
  title =        "An empirical study of the effect of source-level loop
                 transformations on compiler stability",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "126:1--126:29",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276496",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276496",
  abstract =     "Modern compiler optimization is a complex process that
                 offers no guarantees to deliver the fastest, most
                 efficient target code. For this reason, compilers
                 struggle to produce a stable performance from versions
                 of code that carry out the same computation \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "126",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mayer:2018:BED,
  author =       "Mika{\"e}l Mayer and Viktor Kuncak and Ravi Chugh",
  title =        "Bidirectional evaluation with direct manipulation",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "127:1--127:28",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276497",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276497",
  abstract =     "We present an evaluation update (or simply, update)
                 algorithm for a full-featured functional programming
                 language, which synthesizes program changes based on
                 output changes. Intuitively, the update algorithm
                 retraces the steps of the original evaluation,.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "127",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ott:2018:BPS,
  author =       "Jason Ott and Tyson Loveless and Chris Curtis and
                 Mohsen Lesani and Philip Brisk",
  title =        "{BioScript}: programming safe chemistry on
                 laboratories-on-a-chip",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "128:1--128:31",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276498",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276498",
  abstract =     "This paper introduces BioScript, a domain-specific
                 language (DSL) for programmable biochemistry which
                 executes on emerging microfluidic platforms. The goal
                 of this research is to provide a simple, intuitive, and
                 type-safe DSL that is accessible to life \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "128",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Weisenburger:2018:DSD,
  author =       "Pascal Weisenburger and Mirko K{\"o}hler and Guido
                 Salvaneschi",
  title =        "Distributed system development with {ScalaLoci}",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "129:1--129:30",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276499",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276499",
  abstract =     "Distributed applications are traditionally developed
                 as separate modules, often in different languages,
                 which react to events, like user input, and in turn
                 produce new events for the other modules. Separation
                 into components requires time-consuming \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "129",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Faes:2018:CAO,
  author =       "Michael Faes and Thomas R. Gross",
  title =        "Concurrency-aware object-oriented programming with
                 roles",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "130:1--130:30",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276500",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276500",
  abstract =     "Object-oriented Programming has been effective in
                 reducing code complexity in sequential programs, but in
                 current practice, concurrent programs still present a
                 number of challenges. We present here a model of
                 object-oriented programming that identifies \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "130",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ezudheen:2018:HIL,
  author =       "P. Ezudheen and Daniel Neider and Deepak D'Souza and
                 Pranav Garg and P. Madhusudan",
  title =        "{Horn-ICE} learning for synthesizing invariants and
                 contracts",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "131:1--131:25",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276501",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276501",
  abstract =     "We design learning algorithms for synthesizing
                 invariants using Horn implication counterexamples
                 (Horn-ICE), extending the ICE-learning model. In
                 particular, we describe a decision-tree learning
                 algorithm that learns from nonlinear Horn-ICE samples,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "131",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Vazou:2018:GLT,
  author =       "Niki Vazou and {\'E}ric Tanter and David {Van Horn}",
  title =        "Gradual liquid type inference",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "132:1--132:25",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276502",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276502",
  abstract =     "Refinement types allow for lightweight program
                 verification by enriching types with logical
                 predicates. Liquid typing provides a decidable
                 refinement inference mechanism that is convenient but
                 subject to two major issues: (1) inference is global
                 and \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "132",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Feltey:2018:CCF,
  author =       "Daniel Feltey and Ben Greenman and Christophe
                 Scholliers and Robert Bruce Findler and Vincent
                 St-Amour",
  title =        "Collapsible contracts: fixing a pathology of gradual
                 typing",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "133:1--133:27",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276503",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276503",
  abstract =     "The promise of gradual typing is that programmers
                 should get the best of both worlds: the static
                 guarantees of static types, and the dynamic flexibility
                 of untyped programming. This is an enticing benefit,
                 but one that, in practice, may carry \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "133",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Williams:2018:RCB,
  author =       "Jack Williams and J. Garrett Morris and Philip
                 Wadler",
  title =        "The root cause of blame: contracts for intersection
                 and union types",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "134:1--134:29",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276504",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276504",
  abstract =     "Gradual typing has emerged as the tonic for
                 programmers with a thirst for a blend of static and
                 dynamic typing. Contracts provide a lightweight form of
                 gradual typing as they can be implemented as a library,
                 rather than requiring a gradual type system. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "134",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Abdulla:2018:OSM,
  author =       "Parosh Aziz Abdulla and Mohamed Faouzi Atig and Bengt
                 Jonsson and Tuan Phong Ngo",
  title =        "Optimal stateless model checking under the
                 release-acquire semantics",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "135:1--135:29",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276505",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276505",
  abstract =     "We present a framework for the efficient application
                 of stateless model checking (SMC) to concurrent
                 programs running under the Release-Acquire (RA)
                 fragment of the C/C++11 memory model. Our approach is
                 based on exploring the possible program orders,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "135",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ou:2018:TUC,
  author =       "Peizhao Ou and Brian Demsky",
  title =        "Towards understanding the costs of avoiding
                 out-of-thin-air results",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "136:1--136:29",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276506",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276506",
  abstract =     "Eliminating so-called ``out-of-thin-air'' (OOTA)
                 results is an open problem with many existing
                 programming language memory models including Java, C,
                 and C++. OOTA behaviors are problematic in that they
                 break both formal and informal modular reasoning
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "136",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Raad:2018:PSW,
  author =       "Azalea Raad and Viktor Vafeiadis",
  title =        "Persistence semantics for weak memory: integrating
                 epoch persistency with the {TSO} memory model",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "137:1--137:27",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276507",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276507",
  abstract =     "Emerging non-volatile memory (NVM) technologies
                 promise the durability of disks with the performance of
                 volatile memory (RAM). To describe the persistency
                 guarantees of NVM, several memory persistency models
                 have been proposed in the literature. However,.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "137",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Vedurada:2018:IRO,
  author =       "Jyothi Vedurada and V. Krishna Nandivada",
  title =        "Identifying refactoring opportunities for replacing
                 type code with subclass and state",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "138:1--138:28",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276508",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276508",
  abstract =     "Refactoring is a program transformation that
                 restructures existing code without altering its
                 behaviour and is a key practice in popular software
                 design movements, such as Agile. Identification of
                 potential refactoring opportunities is an important
                 step \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "138",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Szabo:2018:ILB,
  author =       "Tam{\'a}s Szab{\'o} and G{\'a}bor Bergmann and
                 Sebastian Erdweg and Markus Voelter",
  title =        "Incrementalizing lattice-based program analyses in
                 {Datalog}",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "139:1--139:29",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276509",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276509",
  abstract =     "Program analyses detect errors in code, but when code
                 changes frequently as in an IDE, repeated re-analysis
                 from-scratch is unnecessary: It leads to poor
                 performance unless we give up on precision and recall.
                 Incremental program analysis promises to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "139",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Jeon:2018:PSP,
  author =       "Minseok Jeon and Sehun Jeong and Hakjoo Oh",
  title =        "Precise and scalable points-to analysis via
                 data-driven context tunneling",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "140:1--140:29",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276510",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276510",
  abstract =     "We present context tunneling, a new approach for
                 making k -limited context-sensitive points-to analysis
                 precise and scalable. As context-sensitivity holds the
                 key to the development of precise and scalable
                 points-to analysis, a variety of techniques for
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "140",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Li:2018:PGC,
  author =       "Yue Li and Tian Tan and Anders M{\o}ller and Yannis
                 Smaragdakis",
  title =        "Precision-guided context sensitivity for pointer
                 analysis",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "141:1--141:29",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276511",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276511",
  abstract =     "Context sensitivity is an essential technique for
                 ensuring high precision in Java pointer analyses. It
                 has been observed that applying context sensitivity
                 partially, only on a select subset of the methods, can
                 improve the balance between analysis \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "141",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Rama:2018:ROS,
  author =       "Girish Maskeri Rama and Raghavan Komondoor and
                 Himanshu Sharma",
  title =        "Refinement in object-sensitivity points-to analysis
                 via slicing",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "142:1--142:27",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276512",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276512",
  abstract =     "Object sensitivity analysis is a well-known form of
                 context-sensitive points-to analysis. This analysis is
                 parameterized by a bound on the names of symbolic
                 objects associated with each allocation site. In this
                 paper, we propose a novel approach based \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "142",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cohen:2018:EDS,
  author =       "Nachshon Cohen",
  title =        "Every data structure deserves lock-free memory
                 reclamation",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "143:1--143:24",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276513",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276513",
  abstract =     "Memory-management support for lock-free data
                 structures is well known to be a tough problem. Recent
                 work has successfully reduced the overhead of such
                 schemes. However, applying memory-management support to
                 a data structure remains complex and, in many
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "143",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Blackshear:2018:RCS,
  author =       "Sam Blackshear and Nikos Gorogiannis and Peter W.
                 O'Hearn and Ilya Sergey",
  title =        "{RacerD}: compositional static race detection",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "144:1--144:28",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276514",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276514",
  abstract =     "Automatic static detection of data races is one of the
                 most basic problems in reasoning about concurrency. We
                 present RacerD-a static program analysis for detecting
                 data races in Java programs which is fast, can scale to
                 large code, and has proven \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "144",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mathur:2018:WHA,
  author =       "Umang Mathur and Dileep Kini and Mahesh Viswanathan",
  title =        "What happens --- after the first race? {Enhancing} the
                 predictive power of happens-before based dynamic race
                 detection",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "145:1--145:29",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276515",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276515",
  abstract =     "Dynamic race detection is the problem of determining
                 if an observed program execution reveals the presence
                 of a data race in a program. The classical approach to
                 solving this problem is to detect if there is a pair of
                 conflicting memory accesses that \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "145",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kalhauge:2018:SDP,
  author =       "Christian Gram Kalhauge and Jens Palsberg",
  title =        "Sound deadlock prediction",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "146:1--146:29",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276516",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276516",
  abstract =     "For a concurrent program, a prediction tool maps the
                 history of a single run to a prediction of bugs in an
                 exponential number of other runs. If all those bugs can
                 occur, then the tool is sound. This is the case for
                 some data race tools like RVPredict, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "146",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Pradel:2018:DLA,
  author =       "Michael Pradel and Koushik Sen",
  title =        "{DeepBugs}: a learning approach to name-based bug
                 detection",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "147:1--147:25",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276517",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276517",
  abstract =     "Natural language elements in source code, e.g., the
                 names of variables and functions, convey useful
                 information. However, most existing bug detection tools
                 ignore this information and therefore miss some classes
                 of bugs. The few existing name-based bug \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "147",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Barowy:2018:EAF,
  author =       "Daniel W. Barowy and Emery D. Berger and Benjamin
                 Zorn",
  title =        "{ExceLint}: automatically finding spreadsheet formula
                 errors",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "148:1--148:26",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276518",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276518",
  abstract =     "Spreadsheets are one of the most widely used
                 programming environments, and are widely deployed in
                 domains like finance where errors can have catastrophic
                 consequences. We present a static analysis specifically
                 designed to find spreadsheet formula \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "148",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bornholt:2018:FCE,
  author =       "James Bornholt and Emina Torlak",
  title =        "Finding code that explodes under symbolic evaluation",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "149:1--149:26",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276519",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276519",
  abstract =     "Solver-aided tools rely on symbolic evaluation to
                 reduce programming tasks, such as verification and
                 synthesis, to satisfiability queries. Many reusable
                 symbolic evaluation engines are now available as part
                 of solver-aided languages and frameworks, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "149",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Padhi:2018:FFS,
  author =       "Saswat Padhi and Prateek Jain and Daniel Perelman and
                 Oleksandr Polozov and Sumit Gulwani and Todd Millstein",
  title =        "{FlashProfile}: a framework for synthesizing data
                 profiles",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "150:1--150:28",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276520",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276520",
  abstract =     "We address the problem of learning a syntactic profile
                 for a collection of strings, i.e. a set of regex-like
                 patterns that succinctly describe the syntactic
                 variations in the strings. Real-world datasets,
                 typically curated from multiple sources, often
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "150",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Degenbaev:2018:CCG,
  author =       "Ulan Degenbaev and Jochen Eisinger and Kentaro Hara
                 and Marcel Hlopko and Michael Lippautz and Hannes Payer",
  title =        "Cross-component garbage collection",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "151:1--151:24",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276521",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276521",
  abstract =     "Embedding a modern language runtime as a component in
                 a larger software system is popular these days.
                 Communication between these systems often requires
                 keeping references to each others' objects. In this
                 paper we present and discuss the problem of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "151",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Burckhardt:2018:RCC,
  author =       "Sebastian Burckhardt and Tim Coppieters",
  title =        "Reactive caching for composed services: polling at the
                 speed of push",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "152:1--152:28",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276522",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276522",
  abstract =     "Sometimes, service clients repeat requests in a
                 polling loop in order to refresh their view. However,
                 such polling may be slow to pick up changes, or may
                 increase the load unacceptably, in particular for
                 composed services that disperse over many \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "152",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cohen:2018:OOR,
  author =       "Nachshon Cohen and David T. Aksun and James R.
                 Larus",
  title =        "Object-oriented recovery for non-volatile memory",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "153:1--153:22",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276523",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276523",
  abstract =     "New non-volatile memory (NVM) technologies enable
                 direct, durable storage of data in an application's
                 heap. Durable, randomly accessible memory facilitates
                 the construction of applications that do not lose data
                 at system shutdown or power failure. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "153",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Dietz:2018:SMS,
  author =       "Will Dietz and Vikram Adve",
  title =        "Software multiplexing: share your libraries and
                 statically link them too",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "154:1--154:26",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276524",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276524",
  abstract =     "We describe a compiler strategy we call `` Software
                 Multiplexing '' that achieves many benefits of both
                 statically linked and dynamically linked libraries, and
                 adds some additional advantages. Specifically, it
                 achieves the code size benefits of dynamically
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "154",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2018:RPS,
  author =       "Yuepeng Wang and Xinyu Wang and Isil Dillig",
  title =        "Relational program synthesis",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "155:1--155:27",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276525",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276525",
  abstract =     "This paper proposes relational program synthesis, a
                 new problem that concerns synthesizing one or more
                 programs that collectively satisfy a relational
                 specification. As a dual of relational program
                 verification, relational program synthesis is an
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "155",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bielik:2018:RRL,
  author =       "Pavol Bielik and Marc Fischer and Martin Vechev",
  title =        "Robust relational layout synthesis from examples for
                 {Android}",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "156:1--156:29",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276526",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276526",
  abstract =     "We present a novel approach for synthesizing robust
                 relational layouts from examples. Given an application
                 design consisting of a set of views and their location
                 on the screen, we synthesize a relational layout that
                 when rendered, places the components \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "156",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2018:SSR,
  author =       "Chenglong Wang and Alvin Cheung and Rastislav Bodik",
  title =        "Speeding up symbolic reasoning for relational
                 queries",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "157:1--157:25",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276527",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276527",
  abstract =     "The ability to reason about relational queries plays
                 an important role across many types of database
                 applications, such as test data generation, query
                 equivalence checking, and computer-assisted query
                 authoring. Unfortunately, symbolic reasoning about
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "157",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lee:2018:ADC,
  author =       "Junho Lee and Dowon Song and Sunbeom So and Hakjoo
                 Oh",
  title =        "Automatic diagnosis and correction of logical errors
                 for functional programming assignments",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "158:1--158:30",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276528",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276528",
  abstract =     "We present FixML, a system for automatically
                 generating feedback on logical errors in functional
                 programming assignments. As functional languages have
                 been gaining popularity, the number of students
                 enrolling functional programming courses has increased
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "158",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Desai:2018:CPT,
  author =       "Ankush Desai and Amar Phanishayee and Shaz Qadeer and
                 Sanjit A. Seshia",
  title =        "Compositional programming and testing of dynamic
                 distributed systems",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "159:1--159:30",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276529",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276529",
  abstract =     "A real-world distributed system is rarely implemented
                 as a standalone monolithic system. Instead, it is
                 composed of multiple independent interacting components
                 that together ensure the desired system-level
                 specification. One can scale systematic testing
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "159",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ozkan:2018:RTD,
  author =       "Burcu Kulahcioglu Ozkan and Rupak Majumdar and Filip
                 Niksic and Mitra Tabaei Befrouei and Georg
                 Weissenbacher",
  title =        "Randomized testing of distributed systems with
                 probabilistic guarantees",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "160:1--160:28",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276530",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276530",
  abstract =     "Several recently proposed randomized testing tools for
                 concurrent and distributed systems come with
                 theoretical guarantees on their success. The key to
                 these guarantees is a notion of bug depth-the minimum
                 length of a sequence of events sufficient to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "160",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Selakovic:2018:TGH,
  author =       "Marija Selakovic and Michael Pradel and Rezwana Karim
                 and Frank Tip",
  title =        "Test generation for higher-order functions in dynamic
                 languages",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "161:1--161:27",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276531",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276531",
  abstract =     "Test generation has proven to provide an effective way
                 of identifying programming errors. Unfortunately,
                 current test generation techniques are challenged by
                 higher-order functions in dynamic languages, such as
                 JavaScript functions that receive \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "161",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Alimadadi:2018:FBP,
  author =       "Saba Alimadadi and Di Zhong and Magnus Madsen and
                 Frank Tip",
  title =        "Finding broken promises in asynchronous {JavaScript}
                 programs",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "162:1--162:26",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276532",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276532",
  abstract =     "Recently, promises were added to ECMAScript 6, the
                 JavaScript standard, in order to provide better support
                 for the asynchrony that arises in user interfaces,
                 network communication, and non-blocking I/O. Using
                 promises, programmers can avoid common pitfalls of
                 event-driven programming such as event races and the
                 deeply nested counterintuitive control ow referred to
                 as ``callback hell''. Unfortunately, promises have
                 complex semantics and the intricate control- and
                 data-flow present in promise-based code hinders program
                 comprehension and can easily lead to bugs. The promise
                 graph was proposed as a graphical aid for understanding
                 and debugging promise-based code. However, it did not
                 cover all promise-related features in ECMAScript 6, and
                 did not present or evaluate any technique for
                 constructing the promise graphs. In this paper, we
                 extend the notion of promise graphs to include all
                 promise-related features in ECMAScript 6, including
                 default reactions, exceptions, and the synchronization
                 operations race and all. Furthermore, we report on the
                 construction and evaluation of PromiseKeeper, which
                 performs a dynamic analysis to create promise graphs
                 and infer common promise anti-patterns. We evaluate
                 PromiseKeeper by applying it to 12 open source
                 promise-based Node.js applications. Our results suggest
                 that the promise graphs constructed by PromiseKeeper
                 can provide developers with valuable information about
                 occurrences of common anti-patterns in their
                 promise-based code, and that promise graphs can be
                 constructed with acceptable run-time overhead.",
  acknowledgement = ack-nhfb,
  articleno =    "162",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Boston:2018:LVA,
  author =       "Brett Boston and Zoe Gong and Michael Carbin",
  title =        "{Leto}: verifying application-specific hardware fault
                 tolerance with programmable execution models",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "163:1--163:30",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276533",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276533",
  abstract =     "Researchers have recently designed a number of
                 application-specific fault tolerance mechanisms that
                 enable applications to either be naturally resilient to
                 errors or include additional detection and correction
                 steps that can bring the overall execution \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "163",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kaki:2018:SRT,
  author =       "Gowtham Kaki and Kapil Earanky and KC Sivaramakrishnan
                 and Suresh Jagannathan",
  title =        "Safe replication through bounded concurrency
                 verification",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "164:1--164:27",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276534",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276534",
  abstract =     "High-level data types are often associated with
                 semantic invariants that must be preserved by any
                 correct implementation. While having implementations
                 enforce strong guarantees such as linearizability or
                 serializability can often be used to prevent \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "164",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sousa:2018:VTW,
  author =       "Marcelo Sousa and Isil Dillig and Shuvendu K.
                 Lahiri",
  title =        "Verified three-way program merge",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "165:1--165:29",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276535",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276535",
  abstract =     "Even though many programmers rely on 3-way merge tools
                 to integrate changes from different branches, such
                 tools can introduce subtle bugs in the integration
                 process. This paper aims to mitigate this problem by
                 defining a semantic notion of conflict-. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "165",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhu:2018:CRS,
  author =       "Fengmin Zhu and Fei He",
  title =        "Conflict resolution for structured merge via version
                 space algebra",
  journal =      j-PACMPL,
  volume =       "2",
  number =       "OOPSLA",
  pages =        "166:1--166:25",
  month =        oct,
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3276536",
  bibdate =      "Sat Aug 8 07:56:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3276536",
  abstract =     "Resolving conflicts is the main challenge for software
                 merging. The existing merge tools usually rely on the
                 developer to manually resolve conflicts. This is of
                 course inefficient. We propose an interactive approach
                 for resolving merge conflicts. To the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "166",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cavallo:2019:HIT,
  author =       "Evan Cavallo and Robert Harper",
  title =        "Higher inductive types in cubical computational type
                 theory",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "1:1--1:27",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290314",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290314",
  abstract =     "Homotopy type theory proposes higher inductive types
                 (HITs) as a means of defining and reasoning about
                 inductively-generated objects with higher-dimensional
                 structure. As with the univalence axiom, however,
                 homotopy type theory does not specify the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kaposi:2019:CQI,
  author =       "Ambrus Kaposi and Andr{\'a}s Kov{\'a}cs and Thorsten
                 Altenkirch",
  title =        "Constructing quotient inductive-inductive types",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "2:1--2:24",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290315",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290315",
  abstract =     "Quotient inductive-inductive types (QIITs) generalise
                 inductive types in two ways: a QIIT can have more than
                 one sort and the later sorts can be indexed over the
                 previous ones. In addition, equality constructors are
                 also allowed. We work in a setting \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gilbert:2019:DPI,
  author =       "Ga{\"e}tan Gilbert and Jesper Cockx and Matthieu
                 Sozeau and Nicolas Tabareau",
  title =        "Definitional proof-irrelevance without {K}",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "3:1--3:28",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290316",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290316",
  abstract =     "Definitional equality-or conversion-for a type theory
                 with a decidable type checking is the simplest tool to
                 prove that two objects are the same, letting the system
                 decide just using computation. Therefore, the more
                 things are equal by conversion, the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mogelberg:2019:BPT,
  author =       "Rasmus Ejlers M{\o}gelberg and Niccol{\`o} Veltri",
  title =        "Bisimulation as path type for guarded recursive
                 types",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "4:1--4:29",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290317",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290317",
  abstract =     "In type theory, coinductive types are used to
                 represent processes, and are thus crucial for the
                 formal verification of non-terminating reactive
                 programs in proof assistants based on type theory, such
                 as Coq and Agda. Currently, programming and reasoning
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhang:2019:ASE,
  author =       "Yizhou Zhang and Andrew C. Myers",
  title =        "Abstraction-safe effect handlers via tunneling",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "5:1--5:29",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290318",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290318",
  abstract =     "Algebraic effect handlers offer a unified approach to
                 expressing control-flow transfer idioms such as
                 exceptions, iteration, and async/await. Unfortunately,
                 previous attempts to make these handlers type-safe have
                 failed to support the fundamental \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Biernacki:2019:AAE,
  author =       "Dariusz Biernacki and Maciej Pir{\'o}g and Piotr
                 Polesiuk and Filip Sieczkowski",
  title =        "Abstracting algebraic effects",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "6:1--6:28",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290319",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290319",
  abstract =     "Proposed originally by Plotkin and Pretnar, algebraic
                 effects and their handlers are a leading-edge approach
                 to computational effects: exceptions, mutable state,
                 nondeterminism, and such. Appreciated for their
                 elegance and expressiveness, they are now \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{DalLago:2019:ITR,
  author =       "Ugo {Dal Lago} and Marc de Visme and Damiano Mazza and
                 Akira Yoshimizu",
  title =        "Intersection types and runtime errors in the
                 pi-calculus",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "7:1--7:29",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290320",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290320",
  abstract =     "We introduce a type system for the $ \pi $ -calculus
                 which is designed to guarantee that typable processes
                 are well-behaved, namely they never produce a run-time
                 error and, even if they may diverge, there is always a
                 chance for them to ``finish their work'', \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Dudenhefner:2019:PAU,
  author =       "Andrej Dudenhefner and Jakob Rehof",
  title =        "Principality and approximation under dimensional
                 bound",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "8:1--8:29",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290321",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290321",
  abstract =     "We develop an algebraic and algorithmic theory of
                 principality for the recently introduced framework of
                 intersection type calculi with dimensional bound. The
                 theory enables inference of principal type information
                 under dimensional bound, it provides an \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Dunfield:2019:SCB,
  author =       "Joshua Dunfield and Neelakantan R. Krishnaswami",
  title =        "Sound and complete bidirectional typechecking for
                 higher-rank polymorphism with existentials and indexed
                 types",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "9:1--9:28",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290322",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290322",
  abstract =     "Bidirectional typechecking, in which terms either
                 synthesize a type or are checked against a known type,
                 has become popular for its applicability to a variety
                 of type systems, its error reporting, and its ease of
                 implementation. Following principles \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "9",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Crary:2019:FAM,
  author =       "Karl Crary",
  title =        "Fully abstract module compilation",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "10:1--10:29",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290323",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290323",
  abstract =     "We give a translation suitable for compilation of
                 modern module calculi supporting sealing, generativity,
                 translucent signatures, applicative functors,
                 higher-order functors and/or first-class modules. Ours
                 is the first module-compilation translation \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "10",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Park:2019:PSM,
  author =       "Gyunghee Park and Jaemin Hong and Guy L. {Steele Jr.}
                 and Sukyoung Ryu",
  title =        "Polymorphic symmetric multiple dispatch with
                 variance",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "11:1--11:28",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290324",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290324",
  abstract =     "Many object-oriented languages provide method
                 overloading, which allows multiple method declarations
                 with the same name. For a given method invocation, in
                 order to choose what method declaration to invoke,
                 multiple dispatch considers the run-time types
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "11",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Morris:2019:AED,
  author =       "J. Garrett Morris and James McKinna",
  title =        "Abstracting extensible data types: or, rows by any
                 other name",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "12:1--12:28",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290325",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290325",
  abstract =     "We present a novel typed language for extensible data
                 types, generalizing and abstracting existing systems of
                 row types and row polymorphism. Extensible data types
                 are a powerful addition to traditional functional
                 programming languages, capturing ideas \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "12",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2019:TGW,
  author =       "Di Wang and Jan Hoffmann",
  title =        "Type-guided worst-case input generation",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "13:1--13:30",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290326",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290326",
  abstract =     "This paper presents a novel technique for type-guided
                 worst-case input generation for functional programs.
                 The technique builds on automatic amortized resource
                 analysis (AARA), a type-based technique for deriving
                 symbolic bounds on the resource usage of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "13",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Omar:2019:LFP,
  author =       "Cyrus Omar and Ian Voysey and Ravi Chugh and Matthew
                 A. Hammer",
  title =        "Live functional programming with typed holes",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "14:1--14:32",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290327",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290327",
  abstract =     "Live programming environments aim to provide
                 programmers (and sometimes audiences) with continuous
                 feedback about a program's dynamic behavior as it is
                 being edited. The problem is that programming languages
                 typically assign dynamic meaning only to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "14",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{New:2019:GTT,
  author =       "Max S. New and Daniel R. Licata and Amal Ahmed",
  title =        "Gradual type theory",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "15:1--15:31",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290328",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290328",
  abstract =     "Gradually typed languages are designed to support both
                 dynamically typed and statically typed programming
                 styles while preserving the benefits of each. While
                 existing gradual type soundness theorems for these
                 languages aim to show that type-based \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "15",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Castagna:2019:GTN,
  author =       "Giuseppe Castagna and Victor Lanvin and Tommaso
                 Petrucciani and Jeremy G. Siek",
  title =        "Gradual typing: a new perspective",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "16:1--16:32",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290329",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290329",
  abstract =     "We define a new, more semantic interpretation of
                 gradual types and use it to ``gradualize'' two forms of
                 polymorphism: subtyping polymorphism and implicit
                 parametric polymorphism. In particular, we use the new
                 interpretation to define three gradual type \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "16",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Toro:2019:GPR,
  author =       "Mat{\'\i}as Toro and Elizabeth Labrada and {\'E}ric
                 Tanter",
  title =        "Gradual parametricity, revisited",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "17:1--17:30",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290330",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290330",
  abstract =     "Bringing the benefits of gradual typing to a language
                 with parametric polymorphism like System F, while
                 preserving relational parametricity, has proven
                 extremely challenging: first attempts were formulated a
                 decade ago, and several designs were recently
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "17",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Miyazaki:2019:DTI,
  author =       "Yusuke Miyazaki and Taro Sekiyama and Atsushi
                 Igarashi",
  title =        "Dynamic type inference for gradual {Hindley--Milner}
                 typing",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "18:1--18:29",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290331",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290331",
  abstract =     "Garcia and Cimini study a type inference problem for
                 the ITGL, an implicitly and gradually typed language
                 with let-polymorphism, and develop a sound and complete
                 inference algorithm for it. Soundness and completeness
                 mean that, if the algorithm succeeds, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "18",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Skorstengaard:2019:SEW,
  author =       "Lau Skorstengaard and Dominique Devriese and Lars
                 Birkedal",
  title =        "{StkTokens}: enforcing well-bracketed control flow and
                 stack encapsulation using linear capabilities",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "19:1--19:28",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290332",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290332",
  abstract =     "We propose and study StkTokens: a new calling
                 convention that provably enforces well-bracketed
                 control flow and local state encapsulation on a
                 capability machine. The calling convention is based on
                 linear capabilities: a type of capabilities that are
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "19",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kavvos:2019:MCI,
  author =       "G. A. Kavvos",
  title =        "Modalities, cohesion, and information flow",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "20:1--20:29",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290333",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290333",
  abstract =     "It is informally understood that the purpose of modal
                 type constructors in programming calculi is to control
                 the flow of information between types. In order to lend
                 rigorous support to this idea, we study the category of
                 classified sets, a variant of a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "20",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hirschowitz:2019:FMS,
  author =       "Tom Hirschowitz",
  title =        "Familial monads and structural operational semantics",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "21:1--21:28",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290334",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290334",
  abstract =     "We propose a categorical framework for structural
                 operational semantics, in which we prove that under
                 suitable hypotheses bisimilarity is a congruence. We
                 then refine the framework to prove soundness of
                 bisimulation up to context, an efficient method
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "21",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Blanchette:2019:BBN,
  author =       "Jasmin Christian Blanchette and Lorenzo Gheri and
                 Andrei Popescu and Dmitriy Traytel",
  title =        "Bindings as bounded natural functors",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "22:1--22:34",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290335",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290335",
  abstract =     "We present a general framework for specifying and
                 reasoning about syntax with bindings. Abstract binder
                 types are modeled using a universe of functors on sets,
                 subject to a number of operations that can be used to
                 construct complex binding patterns and \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "22",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mellies:2019:CCS,
  author =       "Paul-Andr{\'e} Mellies",
  title =        "Categorical combinatorics of scheduling and
                 synchronization in game semantics",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "23:1--23:30",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290336",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290336",
  abstract =     "Game semantics is the art of interpreting types as
                 games and programs as strategies interacting in space
                 and time with their environment. In order to reflect
                 the interactive behavior of programs, strategies are
                 required to follow specific scheduling \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "23",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kokke:2019:BLT,
  author =       "Wen Kokke and Fabrizio Montesi and Marco Peressotti",
  title =        "Better late than never: a fully-abstract semantics for
                 classical processes",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "24:1--24:29",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290337",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290337",
  abstract =     "We present Hypersequent Classical Processes (HCP), a
                 revised interpretation of the ``Proofs as Processes''
                 correspondence between linear logic and the $ \pi
                 $-calculus initially proposed by Abramsky [1994], and
                 later developed by Bellin and Scott [1994], Caires
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "24",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bonchi:2019:DAL,
  author =       "Filippo Bonchi and Joshua Holland and Robin Piedeleu
                 and Pawe{\l} Soboci{\'n}ski and Fabio Zanasi",
  title =        "Diagrammatic algebra: from linear to concurrent
                 systems",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "25:1--25:28",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290338",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290338",
  abstract =     "We introduce the resource calculus, a string
                 diagrammatic language for concurrent systems.
                 Significantly, it uses the same syntax and operational
                 semantics as the signal flow calculus --- an algebraic
                 formalism for signal flow graphs, which is a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "25",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Baldan:2019:FGC,
  author =       "Paolo Baldan and Barbara K{\"o}nig and Christina
                 Mika-Michalski and Tommaso Padoan",
  title =        "Fixpoint games on continuous lattices",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "26:1--26:29",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290339",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290339",
  abstract =     "Many analysis and verifications tasks, such as static
                 program analyses and model-checking for temporal
                 logics, reduce to the solution of systems of equations
                 over suitable lattices. Inspired by recent work on
                 lattice-theoretic progress measures, we \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "26",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Castellan:2019:TSS,
  author =       "Simon Castellan and Nobuko Yoshida",
  title =        "Two sides of the same coin: session types and game
                 semantics: a synchronous side and an asynchronous
                 side",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "27:1--27:29",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290340",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290340",
  abstract =     "Game semantics and session types are two
                 formalisations of the same concept: message-passing
                 open programs following certain protocols. Game
                 semantics represents protocols as games, and programs
                 as strategies; while session types specify protocols,
                 and \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "27",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Fowler:2019:EAS,
  author =       "Simon Fowler and Sam Lindley and J. Garrett Morris and
                 S{\'a}ra Decova",
  title =        "Exceptional asynchronous session types: session types
                 without tiers",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "28:1--28:29",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290341",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290341",
  abstract =     "Session types statically guarantee that communication
                 complies with a protocol. However, most accounts of
                 session typing do not account for failure, which means
                 they are of limited use in real
                 applications---especially distributed
                 applications---where \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "28",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Castro:2019:DPU,
  author =       "David Castro and Raymond Hu and Sung-Shik Jongmans and
                 Nicholas Ng and Nobuko Yoshida",
  title =        "Distributed programming using role-parametric session
                 types in {Go}: statically-typed endpoint {APIs} for
                 dynamically-instantiated communication structures",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "29:1--29:30",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290342",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290342",
  abstract =     "This paper presents a framework for the static
                 specification and safe programming of message passing
                 protocols where the number and kinds of participants
                 are dynamically instantiated. We develop the first
                 theory of distributed multiparty session types (MPST)
                 to support parameterised protocols with indexed roles
                 our framework statically infers the different kinds of
                 participants induced by a protocol definition as role
                 variants, and produces decoupled endpoint projections
                 of the protocol onto each variant. This enables safe
                 MPST-based programming of the parameterised endpoints
                 in distributed settings: each endpoint can be
                 implemented separately by different programmers, using
                 different techniques (or languages). We prove the
                 decidability of role variant inference and
                 well-formedness checking, and the correctness of
                 projection.\par

                 We implement our theory as a toolchain for programming
                 such role-parametric MPST protocols in Go. Our approach
                 is to generate API families of lightweight, protocol-
                 and variant-specific type wrappers for I/O. The APIs
                 ensure a well-typed Go endpoint program (by native Go
                 type checking) will perform only compliant I/O actions
                 w.r.t. the source protocol. We leverage the
                 abstractions of MPST to support the specification and
                 implementation of Go applications involving multiple
                 channels, possibly over mixed transports (e.g., Go
                 channels, TCP), and channel passing via a unified
                 programming interface. We evaluate the applicability
                 and run-time performance of our generated APIs using
                 microbenchmarks and real-world applications.",
  acknowledgement = ack-nhfb,
  articleno =    "29",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Scalas:2019:LMM,
  author =       "Alceste Scalas and Nobuko Yoshida",
  title =        "Less is more: multiparty session types revisited",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "POPL",
  pages =        "30:1--30:29",
  month =        jan,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3290343",
  bibdate =      "Fri Aug 7 17:39:12 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3290343",
  abstract =     "Multiparty Session Types (MPST) are a typing
                 discipline ensuring that a message-passing process
                 implements a multiparty session protocol, without
                 errors. In this paper, we propose a new, generalised
                 MPST theory. Our contribution is fourfold. (1) We
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "30",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Flatt:2019:RRC,
  author =       "Matthew Flatt and Caner Derici and R. Kent Dybvig and
                 Andrew W. Keep and Gustavo E. Massaccesi and Sarah
                 Spall and Sam Tobin-Hochstadt and Jon Zeppieri",
  title =        "Rebuilding {Racket} on {Chez Scheme} (experience
                 report)",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "78:1--78:15",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341642",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341642",
  abstract =     "We rebuilt Racket on Chez Scheme, and it works well
                 --- as long as we're allowed a few patches to Chez
                 Scheme. DrRacket runs, the Racket distribution can
                 build itself, and nearly all of the core Racket test
                 suite passes. Maintainability and performance of the
                 resulting implementation are good, although some work
                 remains to improve end-to-end performance. The least
                 predictable part of our effort was how big the
                 differences between Racket and Chez Scheme would turn
                 out to be and how we would manage those differences. We
                 expect Racket on Chez Scheme to become the main Racket
                 implementation, and we encourage other language
                 implementers to consider Chez Scheme as a target
                 virtual machine.",
  acknowledgement = ack-nhfb,
  articleno =    "78",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cong:2019:CCW,
  author =       "Youyou Cong and Leo Osvald and Gr{\'e}gory M. Essertel
                 and Tiark Rompf",
  title =        "Compiling with continuations, or without? {Whatever}",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "79:1--79:28",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341643",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341643",
  abstract =     "What makes a good compiler IR? In the context of
                 functional languages, there has been an extensive
                 debate on the advantages and disadvantages of
                 continuation-passing-style (CPS). The consensus seems
                 to be that some form of explicit continuations is
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "79",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Morihata:2019:LCA,
  author =       "Akimasa Morihata",
  title =        "{Lambda} calculus with algebraic simplification for
                 reduction parallelization by equational reasoning",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "80:1--80:25",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341644",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341644",
  abstract =     "Parallel reduction is a major component of parallel
                 programming and widely used for summarization and
                 aggregation. It is not well understood, however, what
                 sorts of nontrivial summarizations can be implemented
                 as parallel reductions. This paper develops \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "80",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Muller:2019:FRP,
  author =       "Stefan K. Muller and Sam Westrick and Umut A. Acar",
  title =        "Fairness in responsive parallelism",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "81:1--81:30",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341685",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341685",
  abstract =     "Research on parallel computing has historically
                 revolved around compute-intensive applications drawn
                 from traditional areas such as high-performance
                 computing. With the growing availability and usage of
                 multicore chips, applications of parallel \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "81",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Delaware:2019:NCC,
  author =       "Benjamin Delaware and Sorawit Suriyakarn and
                 Cl{\'e}ment Pit-Claudel and Qianchuan Ye and Adam
                 Chlipala",
  title =        "{Narcissus}: correct-by-construction derivation of
                 decoders and encoders from binary formats",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "82:1--82:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341686",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341686",
  abstract =     "It is a neat result from functional programming that
                 libraries of parser combinators can support rapid
                 construction of decoders for quite a range of formats.
                 With a little more work, the same combinator program
                 can denote both a decoder and an encoder. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "82",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Paraskevopoulou:2019:CCS,
  author =       "Zoe Paraskevopoulou and Andrew W. Appel",
  title =        "Closure conversion is safe for space",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "83:1--83:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341687",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341687",
  abstract =     "We formally prove that closure conversion with flat
                 environments for CPS lambda calculus is correct
                 (preserves semantics) and safe for time and space,
                 meaning that produced code preserves the time and space
                 required for the execution of the source \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "83",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{VanStrydonck:2019:LCF,
  author =       "Thomas {Van Strydonck} and Frank Piessens and
                 Dominique Devriese",
  title =        "Linear capabilities for fully abstract compilation of
                 separation-logic-verified code",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "84:1--84:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341688",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341688",
  abstract =     "Separation logic is a powerful program logic for the
                 static modular verification of imperative programs.
                 However, dynamic checking of separation logic contracts
                 on the boundaries between verified and untrusted
                 modules is hard, because it requires one to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "84",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Patterson:2019:NCC,
  author =       "Daniel Patterson and Amal Ahmed",
  title =        "The next 700 compiler correctness theorems (functional
                 pearl)",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "85:1--85:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341689",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341689",
  abstract =     "Compiler correctness is an old problem, with results
                 stretching back beyond the last half-century. Founding
                 the field, John McCarthy and James Painter set out to
                 build a ``completely trustworthy compiler''. And yet,
                 until quite recently, even despite \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "85",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sozeau:2019:ERH,
  author =       "Matthieu Sozeau and Cyprien Mangin",
  title =        "Equations reloaded: high-level dependently-typed
                 functional programming and proving in {Coq}",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "86:1--86:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341690",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341690",
  abstract =     "Equations is a plugin for the Coq proof assistant
                 which provides a notation for defining programs by
                 dependent pattern-matching and structural or
                 well-founded recursion. It additionally derives useful
                 high-level proof principles for demonstrating
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "86",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Vezzosi:2019:CAD,
  author =       "Andrea Vezzosi and Anders M{\"o}rtberg and Andreas
                 Abel",
  title =        "Cubical {Agda}: a dependently typed programming
                 language with univalence and higher inductive types",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "87:1--87:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341691",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341691",
  abstract =     "Proof assistants based on dependent type theory
                 provide expressive languages for both programming and
                 proving within the same system. However, all of the
                 major implementations lack powerful extensionality
                 principles for reasoning about equality, such as
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "87",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Eremondi:2019:ANG,
  author =       "Joseph Eremondi and {\'E}ric Tanter and Ronald
                 Garcia",
  title =        "Approximate normalization for gradual dependent
                 types",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "88:1--88:30",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341692",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341692",
  abstract =     "Dependent types help programmers write highly reliable
                 code. However, this reliability comes at a cost: it can
                 be challenging to write new prototypes in (or migrate
                 old code to) dependently-typed programming languages.
                 Gradual typing makes static type \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "88",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Algehed:2019:SNP,
  author =       "Maximilian Algehed and Jean-Philippe Bernardy",
  title =        "Simple noninterference from parametricity",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "89:1--89:22",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341693",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341693",
  abstract =     "In this paper we revisit the connection between
                 parametricity and noninterference. Our primary
                 contribution is a proof of noninterference for a
                 polyvariant variation of the Dependency Core Calculus
                 of in the Calculus of Constructions. The proof is
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "89",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mokhov:2019:SAF,
  author =       "Andrey Mokhov and Georgy Lukyanov and Simon Marlow and
                 Jeremie Dimino",
  title =        "Selective applicative functors",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "90:1--90:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341694",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341694",
  abstract =     "Applicative functors and monads have conquered the
                 world of functional programming by providing general
                 and powerful ways of describing effectful computations
                 using pure functions. Applicative functors provide a
                 way to compose independent effects that \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "90",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bottu:2019:CTC,
  author =       "Gert-Jan Bottu and Ningning Xie and Koar Marntirosian
                 and Tom Schrijvers",
  title =        "Coherence of type class resolution",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "91:1--91:28",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341695",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341695",
  abstract =     "Elaboration-based type class resolution, as found in
                 languages like Haskell, Mercury and PureScript, is
                 generally nondeterministic: there can be multiple ways
                 to satisfy a wanted constraint in terms of global
                 instances and locally given constraints. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "91",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Qu:2019:RCA,
  author =       "Weihao Qu and Marco Gaboardi and Deepak Garg",
  title =        "Relational cost analysis for functional-imperative
                 programs",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "92:1--92:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341696",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341696",
  abstract =     "Relational cost analysis aims at formally establishing
                 bounds on the difference in the evaluation costs of two
                 programs. As a particular case, one can also use
                 relational cost analysis to establish bounds on the
                 difference in the evaluation cost of the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "92",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhang:2019:FTL,
  author =       "Hengchu Zhang and Edo Roth and Andreas Haeberlen and
                 Benjamin C. Pierce and Aaron Roth",
  title =        "{Fuzzi}: a three-level logic for differential
                 privacy",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "93:1--93:28",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341697",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341697",
  abstract =     "Curators of sensitive datasets sometimes need to know
                 whether queries against the data are differentially
                 private. Two sorts of logics have been proposed for
                 checking this property: (1) type systems and other
                 static analyses, which fully automate \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "93",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Smith:2019:SDP,
  author =       "Calvin Smith and Aws Albarghouthi",
  title =        "Synthesizing differentially private programs",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "94:1--94:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341698",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341698",
  abstract =     "Inspired by the proliferation of data-analysis tasks,
                 recent research in program synthesis has had a strong
                 focus on enabling users to specify data-analysis
                 programs through intuitive specifications, like
                 examples and natural language. However, with the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "94",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Miltner:2019:SSL,
  author =       "Anders Miltner and Solomon Maina and Kathleen Fisher
                 and Benjamin C. Pierce and David Walker and Steve
                 Zdancewic",
  title =        "Synthesizing symmetric lenses",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "95:1--95:28",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341699",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341699",
  abstract =     "Lenses are programs that can be run both ``front to
                 back'' and ``back to front,'' allowing updates to
                 either their source or their target data to be
                 transferred in both directions. Since their
                 introduction by Foster et al., lenses have been
                 extensively \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "95",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2019:DDP,
  author =       "Fei Wang and Daniel Zheng and James Decker and Xilun
                 Wu and Gr{\'e}gory M. Essertel and Tiark Rompf",
  title =        "Demystifying differentiable programming: shift\slash
                 reset the penultimate backpropagator",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "96:1--96:31",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341700",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341700",
  abstract =     "Deep learning has seen tremendous success over the
                 past decade in computer vision, machine translation,
                 and gameplay. This success rests crucially on
                 gradient-descent optimization and the ability to
                 ``learn'' parameters of a neural network by \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "96",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Shaikhha:2019:EDP,
  author =       "Amir Shaikhha and Andrew Fitzgibbon and Dimitrios
                 Vytiniotis and Simon Peyton Jones",
  title =        "Efficient differentiable programming in a functional
                 array-processing language",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "97:1--97:30",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341701",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341701",
  abstract =     "We present a system for the automatic differentiation
                 (AD) of a higher-order functional array-processing
                 language. The core functional language underlying this
                 system simultaneously supports both source-to-source
                 forward-mode AD and global optimisations \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "97",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Walia:2019:HLI,
  author =       "Rajan Walia and Praveen Narayanan and Jacques Carette
                 and Sam Tobin-Hochstadt and Chung-chieh Shan",
  title =        "From high-level inference algorithms to efficient
                 code",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "98:1--98:30",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341702",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341702",
  abstract =     "Probabilistic programming languages are valuable
                 because they allow domain experts to express
                 probabilistic models and inference algorithms without
                 worrying about irrelevant details. However, for decades
                 there remained an important and popular class of
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "98",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sherman:2019:SRS,
  author =       "Benjamin Sherman and Jesse Michel and Michael
                 Carbin",
  title =        "Sound and robust solid modeling via exact real
                 arithmetic and continuity",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "99:1--99:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341703",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fparith.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341703",
  abstract =     "Algorithms for solid modeling, i.e., Computer-Aided
                 Design (CAD) and computer graphics, are often specified
                 on real numbers and then implemented with
                 finite-precision arithmetic, such as floating-point.
                 The result is that these implementations do not soundly
                 compute the results that are expected from their
                 specifications.\par

                 We present a new library, StoneWorks, that provides
                 sound and robust solid modeling primitives. We
                 implement StoneWorks in MarshallB, a pure functional
                 programming language for exact real arithmetic in which
                 types denote topological spaces and functions denote
                 continuous maps, ensuring that all programs are sound
                 and robust. We developed MarshallB as an extension of
                 the Marshall language.\par

                 We also define a new shape representation, compact
                 representation (K-rep), that enables constructions such
                 as Minkowski sum and analyses such as Hausdorff
                 distance that are not possible with traditional
                 representations. K-rep is a nondeterminism monad for
                 describing all the points in a shape.\par

                 With our library, language, and representation
                 together, we show that short StoneWorks programs can
                 specify and execute sound and robust solid modeling
                 algorithms and tasks.",
  acknowledgement = ack-nhfb,
  articleno =    "99",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Christiansen:2019:DTH,
  author =       "David Thrane Christiansen and Iavor S. Diatchki and
                 Robert Dockins and Joe Hendrix and Tristan Ravitch",
  title =        "Dependently typed {Haskell} in industry (experience
                 report)",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "100:1--100:16",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341704",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341704",
  abstract =     "Recent versions of the Haskell compiler GHC have a
                 number of advanced features that allow many idioms from
                 dependently typed programming to be encoded. We
                 describe our experiences using this ``dependently typed
                 Haskell'' to construct a performance-. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "100",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Weirich:2019:RDT,
  author =       "Stephanie Weirich and Pritam Choudhury and Antoine
                 Voizard and Richard A. Eisenberg",
  title =        "A role for dependent types in {Haskell}",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "101:1--101:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341705",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341705",
  abstract =     "Modern Haskell supports zero-cost coercions, a
                 mechanism where types that share the same run-time
                 representation may be freely converted between. To make
                 sure such conversions are safe and desirable, this
                 feature relies on a mechanism of roles to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "101",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kiss:2019:HOT,
  author =       "Csongor Kiss and Tony Field and Susan Eisenbach and
                 Simon Peyton Jones",
  title =        "Higher-order type-level programming in {Haskell}",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "102:1--102:26",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341706",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341706",
  abstract =     "Type family applications in Haskell must be fully
                 saturated. This means that all type-level functions
                 have to be first-order, leading to code that is both
                 messy and longwinded. In this paper we detail an
                 extension to GHC that removes this restriction.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "102",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Swierstra:2019:PTS,
  author =       "Wouter Swierstra and Tim Baanen",
  title =        "A predicate transformer semantics for effects
                 (functional pearl)",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "103:1--103:26",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341707",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341707",
  abstract =     "Reasoning about programs that use effects can be much
                 harder than reasoning about their pure counterparts.
                 This paper presents a predicate transformer semantics
                 for a variety of effects, including exceptions, state,
                 non-determinism, and general \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "103",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Maillard:2019:DMA,
  author =       "Kenji Maillard and Danel Ahman and Robert Atkey and
                 Guido Mart{\'\i}nez and C{\u{a}}t{\u{a}}lin
                 Hri{\c{t}}cu and Exequiel Rivas and {\'E}ric Tanter",
  title =        "{Dijkstra} monads for all",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "104:1--104:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341708",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341708",
  abstract =     "This paper proposes a general semantic framework for
                 verifying programs with arbitrary monadic side-effects
                 using Dijkstra monads, which we define as monad-like
                 structures indexed by a specification monad. We prove
                 that any monad morphism between a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "104",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Timany:2019:MRV,
  author =       "Amin Timany and Lars Birkedal",
  title =        "Mechanized relational verification of concurrent
                 programs with continuations",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "105:1--105:28",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341709",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341709",
  abstract =     "Concurrent higher-order imperative programming
                 languages with continuations are very flexible and
                 allow for the implementation of sophisticated
                 programming patterns. For instance, it is well known
                 that continuations can be used to implement cooperative
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "105",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lewchenko:2019:SPR,
  author =       "Nicholas V. Lewchenko and Arjun Radhakrishna and Akash
                 Gaonkar and Pavol Cern{\'y}",
  title =        "Sequential programming for replicated data stores",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "106:1--106:28",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341710",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341710",
  abstract =     "We introduce Carol, a refinement-typed programming
                 language for replicated data stores. The salient
                 feature of Carol is that it allows programming and
                 verifying replicated store operations modularly,
                 without consideration of other operations that might
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "106",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gratzer:2019:IMD,
  author =       "Daniel Gratzer and Jonathan Sterling and Lars
                 Birkedal",
  title =        "Implementing a modal dependent type theory",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "107:1--107:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341711",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341711",
  abstract =     "Modalities are everywhere in programming and
                 mathematics! Despite this, however, there are still
                 significant technical challenges in formulating a core
                 dependent type theory with modalities. We present a
                 dependent type theory MLTT$_{\rm [lock]}$ supporting
                 the \ldots{}.",
  acknowledgement = ack-nhfb,
  articleno =    "107",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Pedrot:2019:RET,
  author =       "Pierre-Marie P{\'e}drot and Nicolas Tabareau and Hans
                 Jacob Fehrmann and {\'E}ric Tanter",
  title =        "A reasonably exceptional type theory",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "108:1--108:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341712",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341712",
  abstract =     "Traditional approaches to compensate for the lack of
                 exceptions in type theories for proof assistants have
                 severe drawbacks from both a programming and a
                 reasoning perspective. P{\'e}drot and Tabareau recently
                 extended the Calculus of Inductive \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "108",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bahr:2019:SRF,
  author =       "Patrick Bahr and Christian Uldal Graulund and Rasmus
                 Ejlers M{\o}gelberg",
  title =        "Simply {RaTT}: a fitch-style modal calculus for
                 reactive programming without space leaks",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "109:1--109:27",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341713",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341713",
  abstract =     "Functional reactive programming (FRP) is a paradigm
                 for programming with signals and events, allowing the
                 user to describe reactive programs on a high level of
                 abstraction. For this to make sense, an FRP language
                 must ensure that all programs are causal,. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "109",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Orchard:2019:QPR,
  author =       "Dominic Orchard and Vilem-Benjamin Liepelt and Harley
                 {Eades III}",
  title =        "Quantitative program reasoning with graded modal
                 types",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "110:1--110:30",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341714",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341714",
  abstract =     "In programming, some data acts as a resource (e.g.,
                 file handles, channels) subject to usage constraints.
                 This poses a challenge to software correctness as most
                 languages are agnostic to constraints on data. The
                 approach of linear types provides a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "110",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lindenhovius:2019:MLN,
  author =       "Bert Lindenhovius and Michael Mislove and Vladimir
                 Zamdzhiev",
  title =        "Mixed linear and non-linear recursive types",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "111:1--111:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341715",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341715",
  abstract =     "We describe a type system with mixed linear and
                 non-linear recursive types called LNL-FPC (the
                 linear/non-linear fixpoint calculus). The type system
                 supports linear typing which enhances the safety
                 properties of programs, but also supports non-linear
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "111",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhao:2019:MFH,
  author =       "Jinxu Zhao and Bruno C. d. S. Oliveira and Tom
                 Schrijvers",
  title =        "A mechanical formalization of higher-ranked
                 polymorphic type inference",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "112:1--112:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341716",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341716",
  abstract =     "Modern functional programming languages, such as
                 Haskell or OCaml, use sophisticated forms of type
                 inference. While an important topic in the Programming
                 Languages research, there is little work on the
                 mechanization of the metatheory of type inference
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "112",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Miraldo:2019:EAT,
  author =       "Victor Cacciari Miraldo and Wouter Swierstra",
  title =        "An efficient algorithm for type-safe structural
                 diffing",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "113:1--113:29",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341717",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341717",
  abstract =     "Effectively computing the difference between two
                 version of a source file has become an indispensable
                 part of software development. The de facto standard
                 tool used by most version control systems is the UNIX
                 diff utility, that compares two files on a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "113",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hackett:2019:CNC,
  author =       "Jennifer Hackett and Graham Hutton",
  title =        "Call-by-need is clairvoyant call-by-value",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "114:1--114:23",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341718",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341718",
  abstract =     "Call-by-need evaluation, also known as lazy
                 evaluation, provides two key benefits: compositional
                 programming and infinite data. The standard semantics
                 for laziness is Launchbury's natural semantics
                 DBLP:conf/popl/Launchbury93, which uses a heap to
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "114",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hameer:2019:TAF,
  author =       "Aliya Hameer and Brigitte Pientka",
  title =        "Teaching the art of functional programming using
                 automated grading (experience report)",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "115:1--115:15",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3341719",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3341719",
  abstract =     "Online programming platforms have immense potential to
                 improve students' educational experience. They make
                 programming more accessible, as no installation is
                 required; and automatic grading facilities provide
                 students with immediate feedback on their \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "115",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Yallop:2019:LUS,
  author =       "Jeremy Yallop and Leo White",
  title =        "{Lambda}: the ultimate sublanguage (experience
                 report)",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "ICFP",
  pages =        "116:1--116:17",
  month =        jul,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3342713",
  bibdate =      "Fri Aug 7 19:22:28 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3342713",
  abstract =     "We describe our experience teaching an advanced typed
                 functional programming course based around the use of
                 System F$ \omega $ as a programming language.",
  acknowledgement = ack-nhfb,
  articleno =    "116",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Rahmani:2019:CDT,
  author =       "Kia Rahmani and Kartik Nagar and Benjamin Delaware and
                 Suresh Jagannathan",
  title =        "{CLOTHO}: directed test generation for weakly
                 consistent database systems",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "117:1--117:28",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360543",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360543",
  abstract =     "Relational database applications are notoriously
                 difficult to test and debug. Concurrent execution of
                 database transactions may violate complex structural
                 invariants that constraint how changes to the contents
                 of one (shared) table affect the contents \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "117",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bastani:2019:PVF,
  author =       "Osbert Bastani and Xin Zhang and Armando
                 Solar-Lezama",
  title =        "Probabilistic verification of fairness properties via
                 concentration",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "118:1--118:27",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360544",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360544",
  abstract =     "As machine learning systems are increasingly used to
                 make real world legal and financial decisions, it is of
                 paramount importance that we develop algorithms to
                 verify that these systems do not discriminate against
                 minorities. We design a scalable \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "118",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Fernando:2019:VSA,
  author =       "Vimuth Fernando and Keyur Joshi and Sasa Misailovic",
  title =        "Verifying safety and accuracy of approximate parallel
                 programs via canonical sequentialization",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "119:1--119:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360545",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360545",
  abstract =     "We present Parallely, a programming language and a
                 system for verification of approximations in parallel
                 message-passing programs. Parallely's language can
                 express various software and hardware level
                 approximations that reduce the computation and
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "119",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Siraichi:2019:QAC,
  author =       "Marcos Yukio Siraichi and Vin{\'\i}cius Fernandes dos
                 Santos and Caroline Collange and Fernando Magno
                 {Quint{\~a}o Pereira}",
  title =        "Qubit allocation as a combination of subgraph
                 isomorphism and token swapping",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "120:1--120:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360546",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360546",
  abstract =     "In 2016, the first quantum processors have been made
                 available to the general public. The possibility of
                 programming an actual quantum device has elicited much
                 enthusiasm. Yet, such possibility also brought
                 challenges. One challenge is the so called Qubit
                 Allocation problem: the mapping of a virtual quantum
                 circuit into an actual quantum architecture. There
                 exist solutions to this problem; however, in our
                 opinion, they fail to capitalize on decades of
                 improvements on graph theory. In contrast, this paper
                 shows how to model qubit allocation as the combination
                 of Subgraph Isomorphism and Token Swapping. This idea
                 has been made possible by the publication of an
                 approximative solution to the latter problem in 2016.
                 We have compared our algorithm against five other qubit
                 allocators, all independently designed in the last two
                 years, including the winner of the IBM Challenge. When
                 evaluated in ``Tokyo'', a quantum architecture with 20
                 qubits, our technique outperforms these
                 state-of-the-art approaches in terms of the quality of
                 the solutions that it finds and the amount of memory
                 that it uses, while showing practical runtime.",
  acknowledgement = ack-nhfb,
  articleno =    "120",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ter-Gabrielyan:2019:MVH,
  author =       "Arshavir Ter-Gabrielyan and Alexander J. Summers and
                 Peter M{\"u}ller",
  title =        "Modular verification of heap reachability properties
                 in separation logic",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "121:1--121:28",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360547",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360547",
  abstract =     "The correctness of many algorithms and data structures
                 depends on reachability properties, that is, on the
                 existence of chains of references between objects in
                 the heap. Reasoning about reachability is difficult for
                 two main reasons. First, any heap \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "121",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Greenman:2019:CMG,
  author =       "Ben Greenman and Matthias Felleisen and Christos
                 Dimoulas",
  title =        "Complete monitors for gradual types",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "122:1--122:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360548",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360548",
  abstract =     "In the context of gradual typing, type soundness
                 guarantees the safety of typed code. When untyped code
                 fails to respect types, a runtime check finds the
                 discrepancy. As for untyped code, type soundness makes
                 no promises; it does not protect untyped \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "122",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Konnov:2019:TMC,
  author =       "Igor Konnov and Jure Kukovec and Thanh-Hai Tran",
  title =        "{TLA+} model checking made symbolic",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "123:1--123:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360549",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360549",
  abstract =     "TLA+ is a language for formal specification of all
                 kinds of computer systems. System designers use this
                 language to specify concurrent, distributed, and
                 fault-tolerant protocols, which are traditionally
                 presented in pseudo-code. TLA+ is extremely \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "123",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chatterjee:2019:VCD,
  author =       "Krishnendu Chatterjee and Andreas Pavlogiannis and
                 Viktor Toman",
  title =        "Value-centric dynamic partial order reduction",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "124:1--124:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360550",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360550",
  abstract =     "The verification of concurrent programs remains an
                 open challenge, as thread interaction has to be
                 accounted for, which leads to state-space explosion.
                 Stateless model checking battles this problem by
                 exploring traces rather than states of the program.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "124",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Shajii:2019:SHP,
  author =       "Ariya Shajii and Ibrahim Numanagi{\'c} and Riyadh
                 Baghdadi and Bonnie Berger and Saman Amarasinghe",
  title =        "{Seq}: a high-performance language for
                 bioinformatics",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "125:1--125:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360551",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/python.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360551",
  abstract =     "The scope and scale of biological data are increasing
                 at an exponential rate, as technologies like
                 next-generation sequencing are becoming radically
                 cheaper and more prevalent. Over the last two decades,
                 the cost of sequencing a genome has dropped from \$100
                 million to nearly \$100 --- a factor of over $ 10^6 $
                 --- and the amount of data to be analyzed has increased
                 proportionally. Yet, as Moore's Law continues to slow,
                 computational biologists can no longer rely on
                 computing hardware to compensate for the
                 ever-increasing size of biological datasets. In a field
                 where many researchers are primarily focused on
                 biological analysis over computational optimization,
                 the unfortunate solution to this problem is often to
                 simply buy larger and faster machines.\par

                 Here, we introduce Seq, the first language tailored
                 specifically to bioinformatics, which marries the ease
                 and productivity of Python with C-like performance. Seq
                 starts with a subset of Python --- and is in many cases
                 a drop-in replacement --- yet also incorporates novel
                 bioinformatics- and computational genomics-oriented
                 data types, language constructs and optimizations. Seq
                 enables users to write high-level, Pythonic code
                 without having to worry about low-level or
                 domain-specific optimizations, and allows for the
                 seamless expression of the algorithms, idioms and
                 patterns found in many genomics or bioinformatics
                 applications. We evaluated Seq on several standard
                 computational genomics tasks like reverse
                 complementation, k-mer manipulation, sequence pattern
                 matching and large genomic index queries. On equivalent
                 CPython code, Seq attains a performance improvement of
                 up to two orders of magnitude, and a $ 160 \times $
                 improvement once domain-specific language features and
                 optimizations are used. With parallelism, we
                 demonstrate up to a $ 650 \times $ improvement.
                 Compared to optimized C++ code, which is already
                 difficult for most biologists to produce, Seq
                 frequently attains up to a $ 2 \times $ improvement,
                 and with shorter, cleaner code. Thus, Seq opens the
                 door to an age of democratization of highly-optimized
                 bioinformatics software.",
  acknowledgement = ack-nhfb,
  articleno =    "125",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wei:2019:SAI,
  author =       "Guannan Wei and Yuxuan Chen and Tiark Rompf",
  title =        "Staged abstract interpreters: fast and modular
                 whole-program analysis via meta-programming",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "126:1--126:32",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360552",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360552",
  abstract =     "It is well known that a staged interpreter is a
                 compiler: specializing an interpreter to a given
                 program produces an equivalent executable that runs
                 faster. This connection is known as the first Futamura
                 projection. It is even more widely known that an
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "126",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Henriksen:2019:DGS,
  author =       "Ian Henriksen and Gianfranco Bilardi and Keshav
                 Pingali",
  title =        "Derivative grammars: a symbolic approach to parsing
                 with derivatives",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "127:1--127:28",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360553",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360553",
  abstract =     "We present a novel approach to context-free grammar
                 parsing that is based on generating a sequence of
                 grammars called derivative grammars from a given
                 context-free grammar and input string. The generation
                 of the derivative grammars is described by a few
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "127",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zuriel:2019:ELF,
  author =       "Yoav Zuriel and Michal Friedman and Gali Sheffi and
                 Nachshon Cohen and Erez Petrank",
  title =        "Efficient lock-free durable sets",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "128:1--128:26",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360554",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360554",
  abstract =     "Non-volatile memory is expected to co-exist or replace
                 DRAM in upcoming architectures. Durable concurrent data
                 structures for non-volatile memories are essential
                 building blocks for constructing adequate software for
                 use with these architectures. In \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "128",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Huang:2019:MVA,
  author =       "Mingzhang Huang and Hongfei Fu and Krishnendu
                 Chatterjee and Amir Kafshdar Goharshady",
  title =        "Modular verification for almost-sure termination of
                 probabilistic programs",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "129:1--129:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360555",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360555",
  abstract =     "In this work, we consider the almost-sure termination
                 problem for probabilistic programs that asks whether a
                 given probabilistic program terminates with probability
                 1. Scalable approaches for program analysis often rely
                 on modularity as their \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "129",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2019:IEM,
  author =       "Yu-Ping Wang and Xu-Qiang Hu and Zi-Xin Zou and Wende
                 Tan and Gang Tan",
  title =        "{IVT}: an efficient method for sharing subtype
                 polymorphic objects",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "130:1--130:22",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360556",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360556",
  abstract =     "Shared memory provides the fastest form of
                 inter-process communication. Sharing polymorphic
                 objects between different address spaces requires
                 solving the issue of sharing pointers. In this paper,
                 we propose a method, named Indexed Virtual Tables (IVT)
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "130",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Caires:2019:RKT,
  author =       "Lu{\'\i}s Caires and Bernardo Toninho",
  title =        "Refinement kinds: type-safe programming with practical
                 type-level computation",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "131:1--131:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360557",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360557",
  abstract =     "This work introduces the novel concept of kind
                 refinement, which we develop in the context of an
                 explicitly polymorphic ML-like language with type-level
                 computation. Just as type refinements embed rich
                 specifications by means of comprehension principles
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "131",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mariano:2019:PSA,
  author =       "Benjamin Mariano and Josh Reese and Siyuan Xu and
                 ThanhVu Nguyen and Xiaokang Qiu and Jeffrey S. Foster
                 and Armando Solar-Lezama",
  title =        "Program synthesis with algebraic library
                 specifications",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "132:1--132:25",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360558",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360558",
  abstract =     "A key challenge in program synthesis is synthesizing
                 programs that use libraries, which most real-world
                 software does. The current state of the art is to model
                 libraries with mock library implementations that
                 perform the same function in a simpler way. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "132",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Watt:2019:WW,
  author =       "Conrad Watt and Andreas Rossberg and Jean
                 Pichon-Pharabod",
  title =        "Weakening {WebAssembly}",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "133:1--133:28",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360559",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/multithreading.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360559",
  abstract =     "WebAssembly (Wasm) is a safe, portable virtual
                 instruction set that can be hosted in a wide range of
                 environments, such as a Web browser. It is a low-level
                 language whose instructions are intended to compile
                 directly to bare hardware. While the initial version of
                 Wasm focussed on single-threaded computation, a recent
                 proposal extends it with low-level support for multiple
                 threads and atomic instructions for synchronised access
                 to shared memory. To support the correct compilation of
                 concurrent programs, it is necessary to give a suitable
                 specification of its memory model.\par

                 Wasm's language definition is based on a fully
                 formalised specification that carefully avoids
                 undefined behaviour. We present a substantial extension
                 to this semantics, incorporating a relaxed memory
                 model, along with a few proposed extensions. Wasm's
                 memory model is unique in that its linear address space
                 can be dynamically grown during execution, while all
                 accesses are bounds-checked. This leads to the novel
                 problem of specifying how observations about the size
                 of the memory can propagate between threads. We argue
                 that, considering desirable compilation schemes, we
                 cannot give a sequentially consistent semantics to
                 memory growth.\par

                 We show that our model provides sequential consistency
                 for data-race-free executions (SC-DRF). However,
                 because Wasm is to run on the Web, we must also
                 consider interoperability of its model with that of
                 JavaScript. We show, by counter-example, that
                 JavaScript's memory model is not SC-DRF, in contrast to
                 what is claimed in its specification. We propose two
                 axiomatic conditions that should be added to the
                 JavaScript model to correct this difference.\par

                 We also describe a prototype SMT-based litmus tool
                 which acts as an oracle for our axiomatic model,
                 visualising its behaviours, including memory
                 resizing.",
  acknowledgement = ack-nhfb,
  articleno =    "133",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Yamazaki:2019:GFA,
  author =       "Tetsuro Yamazaki and Tomoki Nakamaru and Kazuhiro
                 Ichikawa and Shigeru Chiba",
  title =        "Generating a fluent {API} with syntax checking from an
                 {LR} grammar",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "134:1--134:24",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360560",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360560",
  abstract =     "This paper proposes a fluent API generator for Scala,
                 Haskell, and C++. It receives a grammar definition and
                 generates a code skeleton of the library in the host
                 programming language. The generated library is accessed
                 through a chain of method calls; \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "134",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Raad:2019:WPS,
  author =       "Azalea Raad and John Wickerson and Viktor Vafeiadis",
  title =        "Weak persistency semantics from the ground up:
                 formalising the persistency semantics of {ARMv8} and
                 transactional models",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "135:1--135:27",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360561",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360561",
  abstract =     "Emerging non-volatile memory (NVM) technologies
                 promise the durability of disks with the performance of
                 volatile memory (RAM). To describe the persistency
                 guarantees of NVM, several memory persistency models
                 have been proposed in the literature. However,.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "135",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sjoberg:2019:DLC,
  author =       "Vilhelm Sj{\"o}berg and Yuyang Sang and Shu-chun Weng
                 and Zhong Shao",
  title =        "{DeepSEA}: a language for certified system software",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "136:1--136:27",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360562",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360562",
  abstract =     "Writing certifiably correct system software is still
                 very labor-intensive, and current programming languages
                 are not well suited for the task. Proof assistants work
                 best on programs written in a high-level functional
                 style, while operating systems need \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "136",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhang:2019:BPD,
  author =       "Zhuo Zhang and Wei You and Guanhong Tao and Guannan
                 Wei and Yonghwi Kwon and Xiangyu Zhang",
  title =        "{BDA}: practical dependence analysis for binary
                 executables by unbiased whole-program path sampling and
                 per-path abstract interpretation",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "137:1--137:31",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360563",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360563",
  abstract =     "Binary program dependence analysis determines
                 dependence between instructions and hence is important
                 for many applications that have to deal with
                 executables without any symbol information. A key
                 challenge is to identify if multiple memory read/write
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "137",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Vukotic:2019:ATS,
  author =       "Ivana Vukotic and Vincent Rahli and Paulo
                 Esteves-Ver{\'\i}ssimo",
  title =        "{Asphalion}: trustworthy shielding against {Byzantine}
                 faults",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "138:1--138:32",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360564",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360564",
  abstract =     "Byzantine fault-tolerant state-machine replication
                 (BFT-SMR) is a technique for hardening systems to
                 tolerate arbitrary faults. Although robust, BFT-SMR
                 protocols are very costly in terms of the number of
                 required replicas (3f+1 to tolerate f faults)
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "138",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Pan:2019:ARR,
  author =       "Rong Pan and Qinheping Hu and Gaowei Xu and Loris
                 D'Antoni",
  title =        "Automatic repair of regular expressions",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "139:1--139:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360565",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360565",
  abstract =     "We introduce RFixer, a tool for repairing complex
                 regular expressions using examples and only consider
                 regular expressions without non-regular operators
                 (e.g., negative lookahead). Given an incorrect regular
                 expression and sets of positive and negative \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "139",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Stein:2019:SAD,
  author =       "Benno Stein and Benjamin Barslev Nielsen and Bor-Yuh
                 Evan Chang and Anders M{\o}ller",
  title =        "Static analysis with demand-driven value refinement",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "140:1--140:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360566",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360566",
  abstract =     "Static analysis tools for JavaScript must strike a
                 delicate balance, achieving the level of precision
                 required by the most complex features of target
                 programs without incurring prohibitively high analysis
                 time. For example, reasoning about dynamic \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "140",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chen:2019:RVU,
  author =       "Jia Chen and Jiayi Wei and Yu Feng and Osbert Bastani
                 and Isil Dillig",
  title =        "Relational verification using reinforcement learning",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "141:1--141:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360567",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360567",
  abstract =     "Relational verification aims to prove properties that
                 relate a pair of programs or two different runs of the
                 same program. While relational properties (e.g.,
                 equivalence, non-interference) can be verified by
                 reducing them to standard safety, there are \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "141",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bender:2019:FJC,
  author =       "John Bender and Jens Palsberg",
  title =        "A formalization of {Java}'s concurrent access modes",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "142:1--142:28",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360568",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360568",
  abstract =     "Java's memory model was recently updated and expanded
                 with new access modes. The accompanying documentation
                 for these access modes is intended to make strong
                 guarantees about program behavior that the Java
                 compiler must enforce, yet the documentation is
                 frequently unclear. This makes the intended program
                 behavior ambiguous, impedes discussion of key design
                 decisions, and makes it impossible to prove general
                 properties about the semantics of the access
                 modes.\par

                 In this paper we present the first formalization of
                 Java's access modes. We have constructed an axiomatic
                 model for all of the modes using the Herd modeling
                 tool. This allows us to give precise answers to
                 questions about the behavior of example programs,
                 called litmus tests. We have validated our model using
                 a large suite of litmus tests from existing research
                 which helps to shed light on the relationship with
                 other memory models. We have also modeled the semantics
                 in Coq and proven several general theorems including a
                 DRF guarantee, which says that if a program is properly
                 synchronized then it will exhibit sequentially
                 consistent behavior. Finally, we use our model to prove
                 that the unusual design choice of a partial order among
                 writes to the same location is unobservable in any
                 program.",
  acknowledgement = ack-nhfb,
  articleno =    "142",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Miltner:2019:FSE,
  author =       "Anders Miltner and Sumit Gulwani and Vu Le and Alan
                 Leung and Arjun Radhakrishna and Gustavo Soares and
                 Ashish Tiwari and Abhishek Udupa",
  title =        "On the fly synthesis of edit suggestions",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "143:1--143:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360569",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360569",
  abstract =     "When working with a document, users often perform
                 context-specific repetitive edits --- changes to the
                 document that are similar but specific to the contexts
                 at their locations. Programming by
                 demonstration/examples (PBD/PBE) systems automate these
                 tasks \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "143",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mogk:2019:FTP,
  author =       "Ragnar Mogk and Joscha Drechsler and Guido Salvaneschi
                 and Mira Mezini",
  title =        "A fault-tolerant programming model for distributed
                 interactive applications",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "144:1--144:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360570",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360570",
  abstract =     "Ubiquitous connectivity of web, mobile, and IoT
                 computing platforms has fostered a variety of
                 distributed applications with decentralized state.
                 These applications execute across multiple devices with
                 varying reliability and connectivity. Unfortunately,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "144",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Rapoport:2019:PDF,
  author =       "Marianna Rapoport and Ondrej Lhot{\'a}k",
  title =        "A path to {DOT}: formalizing fully path-dependent
                 types",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "145:1--145:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360571",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360571",
  abstract =     "The Dependent Object Types (DOT) calculus aims to
                 formalize the Scala programming language with a focus
                 on path-dependent types --- types such as $ x.a_1
                 \ldots a_n T. $ that depend on the runtime value of a
                 path $ x.a_1 \ldots a_n $ to an object. Unfortunately,
                 existing \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "145",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bastian:2019:RFD,
  author =       "Th{\'e}ophile Bastian and Stephen Kell and Francesco
                 Zappa Nardelli",
  title =        "Reliable and fast {DWARF}-based stack unwinding",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "146:1--146:24",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360572",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360572",
  abstract =     "Debug information, usually encoded in the DWARF
                 format, is a hidden and obscure component of our
                 computing infrastructure. Debug information is
                 obviously used by debuggers, but it also plays a key
                 role in program analysis tools, and, most surprisingly,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "146",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Astrauskas:2019:LRT,
  author =       "Vytautas Astrauskas and Peter M{\"u}ller and Federico
                 Poli and Alexander J. Summers",
  title =        "Leveraging {Rust} types for modular specification and
                 verification",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "147:1--147:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360573",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/rust.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360573",
  abstract =     "Rust's type system ensures memory safety: well-typed
                 Rust programs are guaranteed to not exhibit problems
                 such as dangling pointers, data races, and unexpected
                 side effects through aliased references. Ensuring
                 correctness properties beyond memory safety, for
                 instance, the guaranteed absence of assertion failures
                 or more-general functional correctness, requires static
                 program verification. For traditional system
                 programming languages, formal verification is
                 notoriously difficult and requires complex
                 specifications and logics to reason about pointers,
                 aliasing, and side effects on mutable state. This
                 complexity is a major obstacle to the more-widespread
                 verification of system software.\par

                 In this paper, we present a novel verification
                 technique that leverages Rust's type system to greatly
                 simplify the specification and verification of system
                 software written in Rust. We analyse information from
                 the Rust compiler and synthesise a corresponding core
                 proof for the program in a flavour of separation logic
                 tailored to automation. To verify correctness
                 properties beyond memory safety, users can annotate
                 Rust programs with specifications at the abstraction
                 level of Rust expressions; our technique weaves them
                 into the core proof to verify modularly whether these
                 specifications hold. Crucially, our proofs are
                 constructed and checked automatically without exposing
                 the underlying formal logic, allowing users to work
                 exclusively at the level of abstraction of the
                 programming language. As such, our work enables a new
                 kind of verification tool, with the potential to impact
                 a wide audience and allow the Rust community to benefit
                 from state-of-the-art verification techniques. We have
                 implemented our techniques for a subset of Rust; our
                 evaluation on several thousand functions from
                 widely-used Rust crates demonstrates its
                 effectiveness.",
  acknowledgement = ack-nhfb,
  articleno =    "147",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lu:2019:PPY,
  author =       "Jingbo Lu and Jingling Xue",
  title =        "Precision-preserving yet fast object-sensitive pointer
                 analysis with partial context sensitivity",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "148:1--148:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360574",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360574",
  abstract =     "Object-sensitivity is widely used as a context
                 abstraction for computing the points-to information
                 context-sensitively for object-oriented languages like
                 Java. Due to the combinatorial explosion of contexts in
                 large programs, k -object-sensitive pointer \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "148",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Jangda:2019:FFS,
  author =       "Abhinav Jangda and Donald Pinckney and Yuriy Brun and
                 Arjun Guha",
  title =        "Formal foundations of serverless computing",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "149:1--149:26",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360575",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360575",
  abstract =     "Serverless computing (also known as functions as a
                 service) is a new cloud computing abstraction that
                 makes it easier to write robust, large-scale web
                 services. In serverless computing, programmers write
                 what are called serverless functions, which are
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "149",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Abdulla:2019:OSM,
  author =       "Parosh Aziz Abdulla and Mohamed Faouzi Atig and Bengt
                 Jonsson and Magnus L{\aa}ng and Tuan Phong Ngo and
                 Konstantinos Sagonas",
  title =        "Optimal stateless model checking for reads-from
                 equivalence under sequential consistency",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "150:1--150:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360576",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/multithreading.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360576",
  abstract =     "We present a new approach for stateless model checking
                 (SMC) of multithreaded programs under Sequential
                 Consistency (SC) semantics. To combat state-space
                 explosion, SMC is often equipped with a partial-order
                 reduction technique, which defines an \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "150",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Panchekha:2019:MVW,
  author =       "Pavel Panchekha and Michael D. Ernst and Zachary
                 Tatlock and Shoaib Kamil",
  title =        "Modular verification of web page layout",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "151:1--151:26",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360577",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360577",
  abstract =     "Automated verification can ensure that a web page
                 satisfies accessibility, usability, and design
                 properties regardless of the end user's device,
                 preferences, and assistive technologies. However,
                 state-of-the-art verification tools for layout
                 properties \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "151",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Luan:2019:ACR,
  author =       "Sifei Luan and Di Yang and Celeste Barnaby and Koushik
                 Sen and Satish Chandra",
  title =        "{Aroma}: code recommendation via structural code
                 search",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "152:1--152:28",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360578",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360578",
  abstract =     "Programmers often write code that has similarity to
                 existing code written somewhere. A tool that could help
                 programmers to search such similar code would be
                 immensely useful. Such a tool could help programmers to
                 extend partially written code snippets \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "152",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Goel:2019:DIU,
  author =       "Aviral Goel and Jan Vitek",
  title =        "On the design, implementation, and use of laziness in
                 {R}",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "153:1--153:27",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360579",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360579",
  abstract =     "The R programming language has been lazy for over
                 twenty-five years. This paper presents a review of the
                 design and implementation of call-by-need in R, and a
                 data-driven study of how generations of programmers
                 have put laziness to use in their code. We analyze
                 16,707 packages and observe the creation of 270.9 B
                 promises. Our data suggests that there is little
                 supporting evidence to assert that programmers use
                 laziness to avoid unnecessary computation or to operate
                 over infinite data structures. For the most part R code
                 appears to have been written without reliance on, and
                 in many cases even knowledge of, delayed argument
                 evaluation. The only significant exception is a small
                 number of packages which leverage call-by-need for
                 meta-programming.",
  acknowledgement = ack-nhfb,
  articleno =    "153",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kaki:2019:MRD,
  author =       "Gowtham Kaki and Swarn Priya and KC Sivaramakrishnan
                 and Suresh Jagannathan",
  title =        "Mergeable replicated data types",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "154:1--154:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360580",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360580",
  abstract =     "Programming geo-replicated distributed systems is
                 challenging given the complexity of reasoning about
                 different evolving states on different replicas.
                 Existing approaches to this problem impose significant
                 burden on application developers to consider \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "154",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Marcozzi:2019:CFH,
  author =       "Micha{\"e}l Marcozzi and Qiyi Tang and Alastair F.
                 Donaldson and Cristian Cadar",
  title =        "Compiler fuzzing: how much does it matter?",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "155:1--155:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360581",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360581",
  abstract =     "Despite much recent interest in randomised testing
                 (fuzzing) of compilers, the practical impact of
                 fuzzer-found compiler bugs on real-world applications
                 has barely been assessed. We present the first
                 quantitative and qualitative study of the tangible
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "155",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Benavides:2019:DDP,
  author =       "Zachary Benavides and Keval Vora and Rajiv Gupta",
  title =        "{DProf}: distributed profiler with strong guarantees",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "156:1--156:24",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360582",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360582",
  abstract =     "Performance analysis of a distributed system is
                 typically achieved by collecting profiles whose
                 underlying events are timestamped with unsynchronized
                 clocks of multiple machines in the system. To allow
                 comparison of timestamps taken at different \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "156",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Essertel:2019:PRS,
  author =       "Gr{\'e}gory M. Essertel and Guannan Wei and Tiark
                 Rompf",
  title =        "Precise reasoning with structured time, structured
                 heaps, and collective operations",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "157:1--157:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360583",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360583",
  abstract =     "Despite decades of progress, static analysis tools
                 still have great difficulty dealing with programs that
                 combine arithmetic, loops, dynamic memory allocation,
                 and linked data structures. In this paper we draw
                 attention to two fundamental reasons for \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "157",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mastrangelo:2019:CAD,
  author =       "Luis Mastrangelo and Matthias Hauswirth and Nathaniel
                 Nystrom",
  title =        "Casting about in the dark: an empirical study of cast
                 operations in {Java} programs",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "158:1--158:31",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360584",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360584",
  abstract =     "The main goal of a static type system is to prevent
                 certain kinds of errors from happening at run time. A
                 type system is formulated as a set of constraints that
                 gives any expression or term in a program a
                 well-defined type. Yet mainstream programming languages
                 are endowed with type systems that provide the means to
                 circumvent their constraints through casting.\par

                 We want to understand how and when developers escape
                 the static type system to use dynamic typing. We
                 empirically study how casting is used by developers in
                 more than seven thousand Java projects. We find that
                 casts are widely used (8.7\% of methods contain at
                 least one cast) and that 50\% of casts we inspected are
                 not guarded locally to ensure against potential
                 run-time errors.\par

                 To help us better categorize use cases and thus
                 understand how casts are used in practice, we identify
                 25 cast-usage patterns---recurrent programming idioms
                 using casts to solve a specific issue. This knowledge
                 can be: (a) a recommendation for current and future
                 language designers to make informed decisions (b) a
                 reference for tool builders, e.g., by providing more
                 precise or new refactoring analyses, (c) a guide for
                 researchers to test new language features, or to carry
                 out controlled programming experiments, and (d) a guide
                 for developers for better practices.",
  acknowledgement = ack-nhfb,
  articleno =    "158",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bader:2019:GLF,
  author =       "Johannes Bader and Andrew Scott and Michael Pradel and
                 Satish Chandra",
  title =        "{Getafix}: learning to fix bugs automatically",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "159:1--159:27",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360585",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360585",
  abstract =     "Static analyzers help find bugs early by warning about
                 recurring bug categories. While fixing these bugs still
                 remains a mostly manual task in practice, we observe
                 that fixes for a specific bug category often are
                 repetitive. This paper addresses the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "159",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wu:2019:GPE,
  author =       "Baijun Wu and John Peter {Campora III} and Yi He and
                 Alexander Schlecht and Sheng Chen",
  title =        "Generating precise error specifications for {C}: a
                 zero shot learning approach",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "160:1--160:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360586",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360586",
  abstract =     "In C programs, error specifications, which specify the
                 value range that each function returns to indicate
                 failures, are widely used to check and propagate errors
                 for the sake of reliability and security. Various kinds
                 of C analyzers employ error specifications for
                 different purposes, e.g., to detect error handling
                 bugs, yet a general approach for generating precise
                 specifications is still missing. This limits the
                 applicability of those tools.\par

                 In this paper, we solve this problem by developing a
                 machine learning-based approach named MLPEx. It
                 generates error specifications by analyzing only the
                 source code, and is thus general. We propose a novel
                 machine learning paradigm based on transfer learning,
                 enabling MLPEx to require only one-time minimal data
                 labeling from us (as the tool developers) and zero
                 manual labeling efforts from users. To improve the
                 accuracy of generated error specifications, MLPEx
                 extracts and exploits project-specific information. We
                 evaluate MLPEx on 10 projects, including 6 libraries
                 and 4 applications. An investigation of 3,443 functions
                 and 17,750 paths reveals that MLPEx generates error
                 specifications with a precision of 91\% and a recall of
                 94\%, significantly higher than those of
                 state-of-the-art approaches. To further demonstrate the
                 usefulness of the generated error specifications, we
                 use them to detect 57 bugs in 5 tested projects.",
  acknowledgement = ack-nhfb,
  articleno =    "160",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Nanevski:2019:SCP,
  author =       "Aleksandar Nanevski and Anindya Banerjee and
                 Germ{\'a}n Andr{\'e}s Delbianco and Ignacio
                 F{\'a}bregas",
  title =        "Specifying concurrent programs in separation logic:
                 morphisms and simulations",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "161:1--161:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360587",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360587",
  abstract =     "In addition to pre- and postconditions, program
                 specifications in recent separation logics for
                 concurrency have employed an algebraic structure of
                 resources -a form of state transition systems-to
                 describe the state-based program invariants that must
                 be \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "161",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Li:2019:IBD,
  author =       "Yi Li and Shaohua Wang and Tien N. Nguyen and Son Van
                 Nguyen",
  title =        "Improving bug detection via context-based code
                 representation learning and attention-based neural
                 networks",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "162:1--162:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360588",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360588",
  abstract =     "Bug detection has been shown to be an effective way to
                 help developers in detecting bugs early, thus, saving
                 much effort and time in software development process.
                 Recently, deep learning-based bug detection approaches
                 have gained successes over the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "162",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Krikava:2019:SIE,
  author =       "Filip Krikava and Heather Miller and Jan Vitek",
  title =        "{Scala} implicits are everywhere: a large-scale study
                 of the use of {Scala} implicits in the wild",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "163:1--163:28",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360589",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360589",
  abstract =     "The Scala programming language offers two distinctive
                 language features implicit parameters and implicit
                 conversions, often referred together as implicits.
                 Announced without fanfare in 2004, implicits have
                 quickly grown to become a widely and \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "163",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Barik:2019:OSP,
  author =       "Rajkishore Barik and Manu Sridharan and Murali Krishna
                 Ramanathan and Milind Chabbi",
  title =        "Optimization of swift protocols",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "164:1--164:27",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360590",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360590",
  abstract =     "Swift, an increasingly-popular programming language,
                 advocates the use of protocols, which define a set of
                 required methods and properties for conforming types.
                 Protocols are commonly used in Swift programs for
                 abstracting away implementation details; \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "164",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Biswas:2019:CCT,
  author =       "Ranadeep Biswas and Constantin Enea",
  title =        "On the complexity of checking transactional
                 consistency",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "165:1--165:28",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360591",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360591",
  abstract =     "Transactions simplify concurrent programming by
                 enabling computations on shared data that are isolated
                 from other concurrent computations and are resilient to
                 failures. Modern databases provide different
                 consistency models for transactions corresponding
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "165",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hamza:2019:SFF,
  author =       "Jad Hamza and Nicolas Voirol and Viktor Kuncak",
  title =        "{System FR}: formalized foundations for the
                 {Stainless} verifier",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "166:1--166:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360592",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360592",
  abstract =     "We present the design, implementation, and foundation
                 of a verifier for higher-order functional programs with
                 generics and recursive data types. Our system supports
                 proving safety and termination using preconditions,
                 postconditions and assertions. It supports writing
                 proof hints using assertions and recursive calls. To
                 formalize the soundness of the system we introduce
                 System FR, a calculus supporting System F polymorphism,
                 dependent refinement types, and recursive types
                 (including recursion through contravariant positions of
                 function types). Through the use of sized types, System
                 FR supports reasoning about termination of lazy data
                 structures such as streams. We formalize a reducibility
                 argument using the Coq proof assistant and prove the
                 soundness of a type-checker with respect to
                 call-by-value semantics, ensuring type safety and
                 normalization for typeable programs. Our program
                 verifier is implemented as an alternative
                 verification-condition generator for the Stainless
                 tool, which relies on the Inox SMT-based solver backend
                 for automation. We demonstrate the efficiency of our
                 approach by verifying a collection of higher-order
                 functional programs comprising around 14000 lines of
                 polymorphic higher-order Scala code, including graph
                 search algorithms, basic number theory, monad laws,
                 functional data structures, and assignments from
                 popular Functional Programming MOOCs.",
  acknowledgement = ack-nhfb,
  articleno =    "166",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Salvaneschi:2019:LIP,
  author =       "Guido Salvaneschi and Mirko K{\"o}hler and Daniel
                 Sokolowski and Philipp Haller and Sebastian Erdweg and
                 Mira Mezini",
  title =        "Language-integrated privacy-aware distributed
                 queries",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "167:1--167:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360593",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360593",
  abstract =     "Distributed query processing is an effective means for
                 processing large amounts of data. To abstract from the
                 technicalities of distributed systems, algorithms for
                 operator placement automatically distribute sequential
                 data queries over the available \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "167",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bavishi:2019:ANB,
  author =       "Rohan Bavishi and Caroline Lemieux and Roy Fox and
                 Koushik Sen and Ion Stoica",
  title =        "{AutoPandas}: neural-backed generators for program
                 synthesis",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "168:1--168:27",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360594",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360594",
  abstract =     "Developers nowadays have to contend with a growing
                 number of APIs. While in the long-term they are very
                 useful to developers, many modern APIs have an
                 incredibly steep learning curve, due to their hundreds
                 of functions handling many arguments, obscure
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "168",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Adams:2019:RRP,
  author =       "Ulf Adams",
  title =        "{Ry{\=u}} revisited: {\tt printf} floating point
                 conversion",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "169:1--169:23",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360595",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fparith.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360595",
  abstract =     "Ry{\=u} Printf is a new algorithm to convert
                 floating-point numbers to decimal strings according to
                 the {\tt printf} {\tt \%f}, {\tt \%e}, and {\tt \%g}
                 formats: {\tt \%f} generates `full' output (integer
                 part of the input, dot, configurable number of digits),
                 {\tt \%e} generates scientific output (one leading
                 digit, dot, configurable number of digits, exponent),
                 and {\tt \%g} generates the shorter of the two.
                 Ry{\=u}'s Printf is based on the Ry{\=u} algorithm,
                 which converts binary floating-point numbers to the
                 shortest equivalent decimal floating-point
                 representation. We provide quantitative evidence that
                 Ry{\=u} Printf is between 3.8 and 55 times faster than
                 existing {\tt printf} implementations.\par

                 Furthermore, we show that both Ry{\=u} and Ry{\=u}
                 Printf generalize to arbitrary number bases. This
                 finding implies the existence of a fast algorithm to
                 convert from base-10 to base-2, as long as the maximum
                 precision of the input is known a priori.",
  acknowledgement = ack-nhfb,
  articleno =    "169",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
  keywords =     "base conversion",
}

@Article{Shen:2019:IRA,
  author =       "Bo Shen and Wei Zhang and Haiyan Zhao and Guangtai
                 Liang and Zhi Jin and Qianxiang Wang",
  title =        "{IntelliMerge}: a refactoring-aware software merging
                 technique",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "170:1--170:28",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360596",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360596",
  abstract =     "In modern software development, developers rely on
                 version control systems like Git to collaborate in the
                 branch-based development workflow. One downside of this
                 workflow is the conflicts occurred when merging
                 contributions from different developers: these
                 conflicts are tedious and error-prone to be correctly
                 resolved, reducing the efficiency of collaboration and
                 introducing potential bugs. The situation becomes even
                 worse, with the popularity of refactorings in software
                 development and evolution, because current merging
                 tools (usually based on the text or tree structures of
                 source code) are unaware of refactorings. In this
                 paper, we present IntelliMerge, a graph-based
                 refactoring-aware merging algorithm for Java programs.
                 We explicitly enhance this algorithm's ability in
                 detecting and resolving refactoring-related conflicts.
                 Through the evaluation on 1,070 merge scenarios from 10
                 popular open-source Java projects, we show that
                 IntelliMerge reduces the number of merge conflicts by
                 58.90\% comparing with GitMerge (the prevalent
                 unstructured merging tool) and 11.84\% comparing with
                 jFSTMerge (the state-of-the-art semi-structured merging
                 tool) without sacrificing the auto-merging precision
                 (88.48\%) and recall (90.22\%). Besides, the evaluation
                 of performance shows that IntelliMerge takes 539
                 milliseconds to process one merge scenario on the
                 median, which indicates its feasibility in real-world
                 applications.",
  acknowledgement = ack-nhfb,
  articleno =    "170",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2019:CGM,
  author =       "Shengyi Wang and Qinxiang Cao and Anshuman Mohan and
                 Aquinas Hobor",
  title =        "Certifying graph-manipulating {C} programs via
                 localizations within data structures",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "171:1--171:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360597",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360597",
  abstract =     "We develop powerful and general techniques to
                 mechanically verify realistic programs that manipulate
                 heap-represented graphs. These graphs can exhibit
                 well-known organization principles, such as being a
                 directed acyclic graph or a disjoint-forest; \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "171",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Near:2019:DEH,
  author =       "Joseph P. Near and David Darais and Chike Abuah and
                 Tim Stevens and Pranav Gaddamadugu and Lun Wang and
                 Neel Somani and Mu Zhang and Nikhil Sharma and Alex
                 Shan and Dawn Song",
  title =        "{Duet}: an expressive higher-order language and linear
                 type system for statically enforcing differential
                 privacy",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "172:1--172:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360598",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360598",
  abstract =     "During the past decade, differential privacy has
                 become the gold standard for protecting the privacy of
                 individuals. However, verifying that a particular
                 program provides differential privacy often remains a
                 manual task to be completed by an expert in \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "172",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kokologiannakis:2019:ELH,
  author =       "Michalis Kokologiannakis and Azalea Raad and Viktor
                 Vafeiadis",
  title =        "Effective lock handling in stateless model checking",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "173:1--173:26",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360599",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360599",
  abstract =     "Stateless Model Checking (SMC) is a verification
                 technique for concurrent programs that checks for
                 safety violations by exploring all possible thread
                 interleavings. SMC is usually coupled with Partial
                 Order Reduction (POR), which exploits the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "173",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Padhye:2019:FDS,
  author =       "Rohan Padhye and Caroline Lemieux and Koushik Sen and
                 Laurent Simon and Hayawardh Vijayakumar",
  title =        "{FuzzFactory}: domain-specific fuzzing with
                 waypoints",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "174:1--174:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360600",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360600",
  abstract =     "Coverage-guided fuzz testing has gained prominence as
                 a highly effective method of finding security
                 vulnerabilities such as buffer overflows in programs
                 that parse binary data. Recently, researchers have
                 introduced various specializations to the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "174",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cambronero:2019:AAS,
  author =       "Jos{\'e} P. Cambronero and Martin C. Rinard",
  title =        "{AL}: autogenerating supervised learning programs",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "175:1--175:28",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360601",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360601",
  abstract =     "We present AL, a novel automated machine learning
                 system that learns to generate new supervised learning
                 pipelines from an existing corpus of supervised
                 learning programs. In contrast to existing automated
                 machine learning tools, which typically \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "175",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Keidel:2019:SRC,
  author =       "Sven Keidel and Sebastian Erdweg",
  title =        "Sound and reusable components for abstract
                 interpretation",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "176:1--176:28",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360602",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360602",
  abstract =     "Abstract interpretation is a methodology for defining
                 sound static analysis. Yet, building sound static
                 analyses for modern programming languages is difficult,
                 because these static analyses need to combine
                 sophisticated abstractions for values, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "176",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Celik:2019:DIA,
  author =       "Ahmet Celik and Pengyu Nie and Christopher J. Rossbach
                 and Milos Gligoric",
  title =        "Design, implementation, and application of {GPU}-based
                 {Java} bytecode interpreters",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "177:1--177:28",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360603",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360603",
  abstract =     "We present the design and implementation of GVM, the
                 first system for executing Java bytecode entirely on
                 GPUs. GVM is ideal for applications that execute a
                 large number of short-living tasks, which share a
                 significant fraction of their codebase and have similar
                 execution time. GVM uses novel algorithms, scheduling,
                 and data layout techniques to adapt to the massively
                 parallel programming and execution model of GPUs. We
                 apply GVM to generate and execute tests for Java
                 projects. First, we implement a sequence-based test
                 generation on top of GVM and design novel algorithms to
                 avoid redundant test sequences. Second, we use GVM to
                 execute randomly generated test cases. We evaluate GVM
                 by comparing it with two existing Java bytecode
                 interpreters (Oracle JVM and Java Pathfinder), as well
                 as with the Oracle JVM with just-in-time (JIT)
                 compiler, which has been engineered and optimized for
                 over twenty years. Our evaluation shows that
                 sequence-based test generation on GVM outperforms both
                 Java Pathfinder and Oracle JVM interpreter.
                 Additionally, our results show that GVM performs as
                 well as running our parallel sequence-based test
                 generation algorithm using JVM with JIT with many CPU
                 threads. Furthermore, our evaluation on several classes
                 from open-source projects shows that executing randomly
                 generated tests on GVM outperforms sequential execution
                 on JVM interpreter and JVM with JIT.",
  acknowledgement = ack-nhfb,
  articleno =    "177",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Antonopoulos:2019:SIT,
  author =       "Timos Antonopoulos and Eric Koskinen and Ton Chanh
                 Le",
  title =        "Specification and inference of trace refinement
                 relations",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "178:1--178:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360604",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360604",
  abstract =     "The modern software engineering process is
                 evolutionary, with commits/patches begetting new
                 versions of code, progressing steadily toward improved
                 systems. In recent years, program analysis and
                 verification tools have exploited version-based
                 reasoning, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "178",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Genc:2019:DAU,
  author =       "Kaan Gen{\c{c}} and Jake Roemer and Yufan Xu and
                 Michael D. Bond",
  title =        "Dependence-aware, unbounded sound predictive race
                 detection",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "179:1--179:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360605",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360605",
  abstract =     "Data races are a real problem for parallel software,
                 yet hard to detect. Sound predictive analysis observes
                 a program execution and detects data races that exist
                 in some other, unobserved execution. However, existing
                 predictive analyses miss races \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "179",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ozkan:2019:TAR,
  author =       "Burcu Kulahcioglu Ozkan and Rupak Majumdar and Simin
                 Oraee",
  title =        "Trace aware random testing for distributed systems",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "180:1--180:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360606",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360606",
  abstract =     "Distributed and concurrent applications often have
                 subtle bugs that only get exposed under specific
                 schedules. While these schedules may be found by
                 systematic model checking techniques, in practice,
                 model checkers do not scale to large systems. On the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "180",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lampropoulos:2019:CGP,
  author =       "Leonidas Lampropoulos and Michael Hicks and Benjamin
                 C. Pierce",
  title =        "Coverage guided, property based testing",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "181:1--181:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360607",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360607",
  abstract =     "Property-based random testing, exemplified by
                 frameworks such as Haskell's QuickCheck, works by
                 testing an executable predicate (a property) on a
                 stream of randomly generated inputs. Property testing
                 works very well in many cases, but not always. Some
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "181",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Tosch:2019:PAT,
  author =       "Emma Tosch and Eytan Bakshy and Emery D. Berger and
                 David D. Jensen and J. Eliot B. Moss",
  title =        "{PlanAlyzer}: assessing threats to the validity of
                 online experiments",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "182:1--182:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360608",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360608",
  abstract =     "Online experiments have become a ubiquitous aspect of
                 design and engineering processes within Internet firms.
                 As the scale of experiments has grown, so has the
                 complexity of their design and implementation. In
                 response, firms have developed software \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "182",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Surbatovich:2019:DIB,
  author =       "Milijana Surbatovich and Limin Jia and Brandon
                 Lucia",
  title =        "{I/O} dependent idempotence bugs in intermittent
                 systems",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "183:1--183:31",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360609",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360609",
  abstract =     "Intermittently-powered, energy-harvesting devices
                 operate on energy collected from their environment and
                 must operate intermittently as energy is available.
                 Runtime systems for such devices often rely on
                 checkpoints or redo-logs to save execution state
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "183",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wimmer:2019:IOS,
  author =       "Christian Wimmer and Codrut Stancu and Peter Hofer and
                 Vojin Jovanovic and Paul W{\"o}gerer and Peter
                 B. Kessler and Oleg Pliss and Thomas W{\"u}rthinger",
  title =        "Initialize once, start fast: application
                 initialization at build time",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "184:1--184:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360610",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360610",
  abstract =     "Arbitrary program extension at run time in
                 language-based VMs, e.g., Java's dynamic class loading,
                 comes at a startup cost: high memory footprint and slow
                 warmup. Cloud computing amplifies the startup overhead.
                 Microservices and serverless cloud \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "184",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sergey:2019:SSC,
  author =       "Ilya Sergey and Vaivaswatha Nagaraj and Jacob
                 Johannsen and Amrit Kumar and Anton Trunov and Ken Chan
                 Guan Hao",
  title =        "Safer smart contract programming with {Scilla}",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "185:1--185:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360611",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360611",
  abstract =     "The rise of programmable open distributed consensus
                 platforms based on the blockchain technology has
                 aroused a lot of interest in replicated stateful
                 computations, aka smart contracts. As blockchains are
                 used predominantly in financial applications,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "185",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sharif:2019:APC,
  author =       "Hashim Sharif and Prakalp Srivastava and Muhammad
                 Huzaifa and Maria Kotsifakou and Keyur Joshi and Yasmin
                 Sarita and Nathan Zhao and Vikram S. Adve and Sasa
                 Misailovic and Sarita Adve",
  title =        "{ApproxHPVM}: a portable compiler {IR} for
                 accuracy-aware optimizations",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "186:1--186:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360612",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/pvm.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360612",
  abstract =     "We propose ApproxHPVM, a compiler IR and system
                 designed to enable accuracy-aware performance and
                 energy tuning on heterogeneous systems with multiple
                 compute units and approximation methods. ApproxHPVM
                 automatically translates end-to-end
                 application-portability across heterogeneous hardware
                 platforms and enables future capabilities like
                 accuracy-aware dynamic scheduling and design space
                 exploration.\par

                 ApproxHPVM incorporates three main components: (a) a
                 compiler IR with hardware-agnostic approximation
                 metrics, (b) a hardware-agnostic accuracy-tuning phase
                 to identify error-tolerant computations, and (c) an
                 accuracy-aware hardware scheduler that maps
                 error-tolerant computations to approximate hardware
                 components. As ApproxHPVM does not incorporate any
                 hardware-specific knowledge as part of the IR, it can
                 serve as a portable virtual ISA that can be shipped to
                 all kinds of hardware platforms.\par

                 We evaluate our framework on nine benchmarks from the
                 deep learning domain and five image processing
                 benchmarks. Our results show that our framework can
                 offload chunks of approximable computations to
                 special-purpose accelerators that provide significant
                 gains in performance and energy, while staying within
                 user-specified application-level quality metrics with
                 high probability. Across the 14 benchmarks, we observe
                 from $1$--$ 9 \times $ performance speedups and $
                 1.1$--$ 11.3 \times $ energy reduction for very small
                 reductions in accuracy.",
  acknowledgement = ack-nhfb,
  articleno =    "186",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Shi:2019:RAS,
  author =       "August Shi and Milica Hadzi-Tanovic and Lingming Zhang
                 and Darko Marinov and Owolabi Legunsen",
  title =        "Reflection-aware static regression test selection",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "187:1--187:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360613",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360613",
  abstract =     "Regression test selection (RTS) aims to speed up
                 regression testing by rerunning only tests that are
                 affected by code changes. RTS can be performed using
                 static or dynamic analysis techniques. Our prior study
                 showed that static and dynamic RTS perform \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "187",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Song:2019:ASD,
  author =       "Dowon Song and Myungho Lee and Hakjoo Oh",
  title =        "Automatic and scalable detection of logical errors in
                 functional programming assignments",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "188:1--188:30",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360614",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360614",
  abstract =     "We present a new technique for automatically detecting
                 logical errors in functional programming assignments.
                 Compared to syntax or type errors, detecting logical
                 errors remains largely a manual process that requires
                 hand-made test cases. However, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "188",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2019:DNP,
  author =       "Shuai Wang and Chengyu Zhang and Zhendong Su",
  title =        "Detecting nondeterministic payment bugs in {Ethereum}
                 smart contracts",
  journal =      j-PACMPL,
  volume =       "3",
  number =       "OOPSLA",
  pages =        "189:1--189:29",
  month =        oct,
  year =         "2019",
  DOI =          "https://doi.org/10.1145/3360615",
  bibdate =      "Fri Aug 7 19:22:30 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/bitcoin.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3360615",
  abstract =     "The term ``smart contracts'' has become ubiquitous to
                 describe an enormous number of programs uploaded to the
                 popular Ethereum blockchain system. Despite rapid
                 growth of the smart contract ecosystem, errors and
                 exploitations have been constantly reported rom online
                 contract systems, which has put financial stability at
                 risk with losses totaling millions of US dollars. Most
                 existing research focuses on pinpointing specific types
                 of vulnerabilities using known patterns. However, due
                 to the lack of awareness of the inherent nondeterminism
                 in the Ethereum blockchain system and how it affects
                 the funds transfer of smart contracts, there can be
                 unknown vulnerabilities that may be exploited by
                 attackers to access numerous online smart
                 contracts.\par

                 In this paper, we introduce a methodical approach to
                 understanding the inherent nondeterminism in the
                 Ethereum blockchain system and its (unwanted) influence
                 on contract payments. We show that our new focus on
                 nondeterminism-related smart contract payment bugs
                 captures the root causes of many common vulnerabilities
                 without relying on any known patterns and also
                 encompasses recently disclosed issues that are not
                 handled by existing research. To do so, we introduce
                 techniques to systematically model components in the
                 contract execution context and to expose various
                 nondeterministic factors that are not yet fully
                 understood. We further study how these nondeterministic
                 factors impact contract funds transfer using
                 information flow tracking. The technical challenge of
                 detecting nondeterministic payments lies in discovering
                 the contract global variables subtly affected by
                 read-write hazards because of unpredictable transaction
                 scheduling and external callee behavior. We show how to
                 augment and instrument a contract program into a
                 representation that simulates the execution of a large
                 subset of the contract behavior. The instrumented code
                 is then analyzed to flag nondeterministic global
                 variables using off-the-shelf model checkers.\par

                 We implement the proposed techniques as a practical
                 tool named NPChecker (Nondeterministic Payment Checker)
                 and evaluate it on 30K online contracts (3,075
                 distinct) collected from the Ethereum mainnet.
                 NPChecker has successfully detected nondeterministic
                 payments in 1,111 online contracts with reasonable
                 cost. Further investigation reports high precision of
                 NPChecker (only four false positives in a manual study
                 of 50 contracts). We also show that NPChecker unveils
                 contracts vulnerable to recently-disclosed attack
                 vectors. NPChecker can identify all six new
                 vulnerabilities or variants of common smart contract
                 vulnerabilities that are missed by existing research
                 relying on a ``contract vulnerability checklist.''",
  acknowledgement = ack-nhfb,
  articleno =    "189",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Barbarossa:2020:TSS,
  author =       "Davide Barbarossa and Giulio Manzonetto",
  title =        "{Taylor} subsumes {Scott}, {Berry}, {Kahn} and
                 {Plotkin}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "1:1--1:23",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371069",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371069",
  abstract =     "The speculative ambition of replacing the old theory
                 of program approximation based on syntactic continuity
                 with the theory of resource consumption based on Taylor
                 expansion and originating from the differential $
                 \lambda $-calculus is nowadays at hand. Using
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Clochard:2020:DVG,
  author =       "Martin Clochard and Claude March{\'e} and Andrei
                 Paskevich",
  title =        "Deductive verification with ghost monitors",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "2:1--2:26",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371070",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371070",
  abstract =     "We present a new approach to deductive program
                 verification based on auxiliary programs called ghost
                 monitors. This technique is useful when the syntactic
                 structure of the target program is not well suited for
                 verification, for example, when an \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chang:2020:DTS,
  author =       "Stephen Chang and Michael Ballantyne and Milo Turner
                 and William J. Bowman",
  title =        "Dependent type systems as macros",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "3:1--3:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371071",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371071",
  abstract =     "We present Turnstile+, a high-level, macros-based
                 metaDSL for building dependently typed languages. With
                 it, programmers may rapidly prototype and iterate on
                 the design of new dependently typed features and
                 extensions. Or they may create entirely \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Maillard:2020:NRP,
  author =       "Kenji Maillard and Catalin Hritcu and Exequiel Rivas
                 and Antoine {Van Muylder}",
  title =        "The next 700 relational program logics",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "4:1--4:33",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371072",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371072",
  abstract =     "We propose the first framework for defining relational
                 program logics for arbitrary monadic effects. The
                 framework is embedded within a relational dependent
                 type theory and is highly expressive. At the semantic
                 level, we provide an algebraic \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Feldman:2020:CII,
  author =       "Yotam M. Y. Feldman and Neil Immerman and Mooly Sagiv
                 and Sharon Shoham",
  title =        "Complexity and information in invariant inference",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "5:1--5:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371073",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371073",
  abstract =     "This paper addresses the complexity of SAT-based
                 invariant inference, a prominent approach to safety
                 verification. We consider the problem of inferring an
                 inductive invariant of polynomial length given a
                 transition system and a safety property. We \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hinrichsen:2020:AST,
  author =       "Jonas Kastberg Hinrichsen and Jesper Bengtson and
                 Robbert Krebbers",
  title =        "{Actris}: session-type based reasoning in separation
                 logic",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "6:1--6:30",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371074",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371074",
  abstract =     "Message passing is a useful abstraction to implement
                 concurrent programs. For real-world systems, however,
                 it is often combined with other programming and
                 concurrency paradigms, such as higher-order functions,
                 mutable state, shared-memory concurrency, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Barthe:2020:FVC,
  author =       "Gilles Barthe and Sandrine Blazy and Benjamin
                 Gr{\'e}goire and R{\'e}mi Hutin and Vincent Laporte and
                 David Pichardie and Alix Trieu",
  title =        "Formal verification of a constant-time preserving {C}
                 compiler",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "7:1--7:30",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371075",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/cryptography2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371075",
  abstract =     "Timing side-channels are arguably one of the main
                 sources of vulnerabilities in cryptographic
                 implementations. One effective mitigation against
                 timing side-channels is to write programs that do not
                 perform secret-dependent branches and memory accesses.
                 This mitigation, known as ``cryptographic
                 constant-time'', is adopted by several popular
                 cryptographic libraries.\par

                 This paper focuses on compilation of cryptographic
                 constant-time programs, and more specifically on the
                 following question: is the code generated by a
                 realistic compiler for a constant-time source program
                 itself provably constant-time? Surprisingly, we answer
                 the question positively for a mildly modified version
                 of the CompCert compiler, a formally verified and
                 moderately optimizing compiler for C. Concretely, we
                 modify the CompCert compiler to eliminate sources of
                 potential leakage. Then, we instrument the operational
                 semantics of CompCert intermediate languages so as to
                 be able to capture cryptographic constant-time.
                 Finally, we prove that the modified CompCert compiler
                 preserves constant-time. Our mechanization maximizes
                 reuse of the CompCert correctness proof, through the
                 use of new proof techniques for proving preservation of
                 constant-time. These techniques achieve complementary
                 trade-offs between generality and tractability of proof
                 effort, and are of independent interest.",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sozeau:2020:CCC,
  author =       "Matthieu Sozeau and Simon Boulier and Yannick Forster
                 and Nicolas Tabareau and Th{\'e}o Winterhalter",
  title =        "{Coq} {Coq} correct! {Verification} of type checking
                 and erasure for {Coq}, in {Coq}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "8:1--8:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371076",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371076",
  abstract =     "Coq is built around a well-delimited kernel that
                 performs typechecking for definitions in a variant of
                 the Calculus of Inductive Constructions (CIC). Although
                 the metatheory of CIC is very stable and reliable, the
                 correctness of its implementation in Coq \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hu:2020:UDF,
  author =       "Jason Z. S. Hu and Ondrej Lhot{\'a}k",
  title =        "Undecidability of $ d_\lt $: and its decidable
                 fragments",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "9:1--9:30",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371077",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371077",
  abstract =     "Dependent Object Types (DOT) is a calculus with path
                 dependent types, intersection types, and object
                 self-references, which serves as the core calculus of
                 Scala 3. Although the calculus has been proven sound,
                 it remains open whether type checking in DOT \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "9",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{OHearn:2020:IL,
  author =       "Peter W. O'Hearn",
  title =        "Incorrectness logic",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "10:1--10:32",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371078",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371078",
  abstract =     "Program correctness and incorrectness are two sides of
                 the same coin. As a programmer, even if you would like
                 to have correctness, you might find yourself spending
                 most of your time reasoning about incorrectness. This
                 includes informal reasoning that \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "10",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Raad:2020:PSI,
  author =       "Azalea Raad and John Wickerson and Gil Neiger and
                 Viktor Vafeiadis",
  title =        "Persistency semantics of the {Intel-x86}
                 architecture",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "11:1--11:31",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371079",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371079",
  abstract =     "Emerging non-volatile memory (NVM) technologies
                 promise the durability of disks with the performance of
                 RAM. To describe the persistency guarantees of NVM,
                 several memory persistency models have been proposed in
                 the literature. However, the persistency semantics of
                 the ubiquitous x86 architecture remains unexplored to
                 date. To close this gap, we develop the Px86
                 (`persistent x86') model, formalising the persistency
                 semantics of Intel-x86 for the first time. We formulate
                 Px86 both operationally and declaratively, and prove
                 that the two characterisations are equivalent. To
                 demonstrate the application of Px86, we develop two
                 persistent libraries over Px86: a persistent
                 transactional library, and a persistent variant of the
                 Michael--Scott queue. Finally, we encode our
                 declarative Px86 model in Alloy and use it to generate
                 persistency litmus tests automatically.",
  acknowledgement = ack-nhfb,
  articleno =    "11",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Guo:2020:PST,
  author =       "Zheng Guo and Michael James and David Justo and
                 Jiaxiao Zhou and Ziteng Wang and Ranjit Jhala and Nadia
                 Polikarpova",
  title =        "Program synthesis by type-guided abstraction
                 refinement",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "12:1--12:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371080",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371080",
  abstract =     "We consider the problem of type-directed
                 component-based synthesis where, given a set of (typed)
                 components and a query type, the goal is to synthesize
                 a term that inhabits the query. Classical approaches
                 based on proof search in intuitionistic logics
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "12",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Farzan:2020:RSP,
  author =       "Azadeh Farzan and Anthony Vandikas",
  title =        "Reductions for safety proofs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "13:1--13:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371081",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371081",
  abstract =     "Program reductions are used widely to simplify
                 reasoning about the correctness of concurrent and
                 distributed programs. In this paper, we propose a
                 general approach to proof simplification of concurrent
                 programs based on exploring generic classes of
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "13",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kim:2020:DPF,
  author =       "Sung Kook Kim and Arnaud J. Venet and Aditya V.
                 Thakur",
  title =        "Deterministic parallel fixpoint computation",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "14:1--14:33",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371082",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371082",
  abstract =     "Abstract interpretation is a general framework for
                 expressing static program analyses. It reduces the
                 problem of extracting properties of a program to
                 computing an approximation of the least fixpoint of a
                 system of equations. The de facto approach for
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "14",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kavvos:2020:REF,
  author =       "G. A. Kavvos and Edward Morehouse and Daniel R. Licata
                 and Norman Danner",
  title =        "Recurrence extraction for functional programs through
                 call-by-push-value",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "15:1--15:31",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371083",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371083",
  abstract =     "The main way of analysing the complexity of a program
                 is that of extracting and solving a recurrence that
                 expresses its running time in terms of the size of its
                 input. We develop a method that automatically extracts
                 such recurrences from the syntax of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "15",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lee:2020:TVS,
  author =       "Wonyeol Lee and Hangyeol Yu and Xavier Rival and
                 Hongseok Yang",
  title =        "Towards verified stochastic variational inference for
                 probabilistic programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "16:1--16:33",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371084",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371084",
  abstract =     "Probabilistic programming is the idea of writing
                 models from statistics and machine learning using
                 program notations and reasoning about these models
                 using generic inference engines. Recently its
                 combination with deep learning has been explored
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "16",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Pavlogiannis:2020:FSE,
  author =       "Andreas Pavlogiannis",
  title =        "Fast, sound, and effectively complete dynamic race
                 prediction",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "17:1--17:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371085",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371085",
  abstract =     "Writing concurrent programs is highly error-prone due
                 to the nondeterminism in interprocess communication.
                 The most reliable indicators of errors in concurrency
                 are data races, which are accesses to a shared resource
                 that can be executed concurrently. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "17",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Aschieri:2020:PMP,
  author =       "Federico Aschieri and Francesco A. Genco",
  title =        "{Par} means parallel: multiplicative linear logic
                 proofs as concurrent functional programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "18:1--18:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371086",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371086",
  abstract =     "Along the lines of Abramsky's ``Proofs-as-Processes''
                 program, we present an interpretation of multiplicative
                 linear logic as typing system for concurrent functional
                 programming. In particular, we study a linear
                 multiple-conclusion natural deduction \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "18",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lew:2020:TTD,
  author =       "Alexander K. Lew and Marco F. Cusumano-Towner and
                 Benjamin Sherman and Michael Carbin and Vikash
                 K. Mansinghka",
  title =        "Trace types and denotational semantics for sound
                 programmable inference in probabilistic languages",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "19:1--19:32",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371087",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371087",
  abstract =     "Modern probabilistic programming languages aim to
                 formalize and automate key aspects of probabilistic
                 modeling and inference. Many languages provide
                 constructs for programmable inference that enable
                 developers to improve inference speed and accuracy by
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "19",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Liu:2020:VTF,
  author =       "Mengqi Liu and Lionel Rieg and Zhong Shao and Ronghui
                 Gu and David Costanzo and Jung-Eun Kim and Man-Ki Yoon",
  title =        "Virtual timeline: a formal abstraction for verifying
                 preemptive schedulers with temporal isolation",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "20:1--20:31",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371088",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371088",
  abstract =     "The reliability and security of safety-critical
                 real-time systems are of utmost importance because the
                 failure of these systems could incur severe
                 consequences (e.g., loss of lives or failure of a
                 mission). Such properties require strong isolation
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "20",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Barthe:2020:RPQ,
  author =       "Gilles Barthe and Justin Hsu and Mingsheng Ying and
                 Nengkun Yu and Li Zhou",
  title =        "Relational proofs for quantum programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "21:1--21:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371089",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371089",
  abstract =     "Relational verification of quantum programs has many
                 potential applications in quantum and post-quantum
                 security and other domains. We propose a relational
                 program logic for quantum programs. The interpretation
                 of our logic is based on a quantum \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "21",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Arntzenius:2020:SVE,
  author =       "Michael Arntzenius and Neel Krishnaswami",
  title =        "Semina{\"\i}ve evaluation for a higher-order
                 functional language",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "22:1--22:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371090",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371090",
  abstract =     "One of the workhorse techniques for implementing
                 bottom-up Datalog engines is semina{\"\i}ve evaluation.
                 This optimization improves the performance of Datalog's
                 most distinctive feature: recursively defined
                 predicates. These are computed iteratively, and
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "22",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Song:2020:CCC,
  author =       "Youngju Song and Minki Cho and Dongjoo Kim and
                 Yonghyun Kim and Jeehoon Kang and Chung-Kil Hur",
  title =        "{CompCertM}: {CompCert} with {C}-assembly linking and
                 lightweight modular verification",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "23:1--23:31",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371091",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371091",
  abstract =     "Supporting multi-language linking such as linking C
                 and handwritten assembly modules in the verified
                 compiler CompCert requires a more compositional
                 verification technique than that used in CompCert just
                 supporting separate compilation. The two \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "23",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Handley:2020:LYA,
  author =       "Martin A. T. Handley and Niki Vazou and Graham
                 Hutton",
  title =        "Liquidate your assets: reasoning about resource usage
                 in liquid {Haskell}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "24:1--24:27",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371092",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371092",
  abstract =     "Liquid Haskell is an extension to the type system of
                 Haskell that supports formal reasoning about program
                 correctness by encoding logical properties as
                 refinement types. In this article, we show how Liquid
                 Haskell can also be used to reason about \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "24",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2020:PES,
  author =       "Peixin Wang and Hongfei Fu and Krishnendu Chatterjee
                 and Yuxin Deng and Ming Xu",
  title =        "Proving expected sensitivity of probabilistic programs
                 with randomized variable-dependent termination time",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "25:1--25:30",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371093",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371093",
  abstract =     "The notion of program sensitivity (aka Lipschitz
                 continuity) specifies that changes in the program input
                 result in proportional changes to the program output.
                 For probabilistic programs the notion is naturally
                 extended to expected sensitivity. A \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "25",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Abdulla:2020:PVU,
  author =       "Parosh Aziz Abdulla and Mohamed Faouzi Atig and Rojin
                 Rezvan",
  title =        "Parameterized verification under {TSO} is
                 {PSPACE}-complete",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "26:1--26:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371094",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371094",
  abstract =     "We consider parameterized verification of concurrent
                 programs under the Total Store Order (TSO) semantics. A
                 program consists of a set of processes that share a set
                 of variables on which they can perform read and write
                 operations. We show that the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "26",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Forster:2020:WCV,
  author =       "Yannick Forster and Fabian Kunze and Marc Roth",
  title =        "The weak call-by-value $ \lambda $-calculus is
                 reasonable for both time and space",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "27:1--27:23",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371095",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371095",
  abstract =     "We study the weak call-by-value $ \lambda $-calculus
                 as a model for computational complexity theory and
                 establish the natural measures for time and space ---
                 the number of beta-reduction steps and the size of the
                 largest term in a computation --- as reasonable
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "27",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bruni:2020:AEP,
  author =       "Roberto Bruni and Roberto Giacobazzi and Roberta Gori
                 and Isabel Garcia-Contreras and Dusko Pavlovic",
  title =        "Abstract extensionality: on the properties of
                 incomplete abstract interpretations",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "28:1--28:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371096",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371096",
  abstract =     "In this paper we generalise the notion of extensional
                 (functional) equivalence of programs to abstract
                 equivalences induced by abstract interpretations. The
                 standard notion of extensional equivalence is recovered
                 as the special case, induced by the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "28",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Migeed:2020:WDA,
  author =       "Zeina Migeed and Jens Palsberg",
  title =        "What is decidable about gradual types?",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "29:1--29:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371097",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371097",
  abstract =     "Programmers can use gradual types to migrate programs
                 to have more precise type annotations and thereby
                 improve their readability, efficiency, and safety. Such
                 migration requires an exploration of the migration
                 space and can benefit from tool support, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "29",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Binder:2020:DDS,
  author =       "David Binder and Julian Jabs and Ingo Skupin and Klaus
                 Ostermann",
  title =        "Decomposition diversity with symmetric data and
                 codata",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "30:1--30:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371098",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371098",
  abstract =     "The expression problem describes a fundamental
                 trade-off in program design: Should a program's primary
                 decomposition be determined by the way its domain
                 objects are constructed (``functional'' decomposition),
                 or by the way they are destructed \ldots{}.",
  acknowledgement = ack-nhfb,
  articleno =    "30",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ahrens:2020:RMT,
  author =       "Benedikt Ahrens and Andr{\'e} Hirschowitz and Ambroise
                 Lafont and Marco Maggesi",
  title =        "Reduction monads and their signatures",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "31:1--31:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371099",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371099",
  abstract =     "In this work, we study reduction monads, which are
                 essentially the same as monads relative to the free
                 functor from sets into multigraphs. Reduction monads
                 account for two aspects of the lambda calculus: on the
                 one hand, in the monadic viewpoint, the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "31",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sammler:2020:HLB,
  author =       "Michael Sammler and Deepak Garg and Derek Dreyer and
                 Tadeusz Litak",
  title =        "The high-level benefits of low-level sandboxing",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "32:1--32:32",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371100",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371100",
  abstract =     "Sandboxing is a common technique that allows
                 low-level, untrusted components to safely interact with
                 trusted code. However, previous work has only
                 investigated the low-level memory isolation guarantees
                 of sandboxing, leaving open the question of the end-.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "32",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{deVilhena:2020:SGV,
  author =       "Paulo Em{\'\i}lio de Vilhena and Fran{\c{c}}ois
                 Pottier and Jacques-Henri Jourdan",
  title =        "Spy game: verifying a local generic solver in {Iris}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "33:1--33:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371101",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371101",
  abstract =     "We verify the partial correctness of a ``local generic
                 solver'', that is, an on-demand, incremental, memoizing
                 least fixed point computation algorithm. The
                 verification is carried out in Iris, a modern breed of
                 concurrent separation logic. The \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "33",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Dang:2020:RMR,
  author =       "Hoang-Hai Dang and Jacques-Henri Jourdan and
                 Jan-Oliver Kaiser and Derek Dreyer",
  title =        "{RustBelt} meets relaxed memory",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "34:1--34:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371102",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/rust.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371102",
  abstract =     "The Rust programming language supports safe systems
                 programming by means of a strong ownership-tracking
                 type system. In their prior work on RustBelt, Jung et
                 al. began the task of setting Rust's safety claims on a
                 more rigorous formal foundation. Specifically, they
                 used Iris, a Coq-based separation logic framework, to
                 build a machine-checked proof of semantic soundness for
                 a $ \lambda $-calculus model of Rust, as well as for a
                 number of widely-used Rust libraries that internally
                 employ unsafe language features. However, they also
                 made the significant simplifying assumption that the
                 language is sequentially consistent. In this paper, we
                 adapt RustBelt to account for the relaxed-memory
                 operations that concurrent Rust libraries actually use,
                 in the process uncovering a data race in the Arc
                 library. We focus on the most interesting technical
                 problem: how to reason about resource reclamation under
                 relaxed memory, using a logical construction we call
                 synchronized ghost state.",
  acknowledgement = ack-nhfb,
  articleno =    "34",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mathur:2020:DMS,
  author =       "Umang Mathur and Adithya Murali and Paul Krogmeier and
                 P. Madhusudan and Mahesh Viswanathan",
  title =        "Deciding memory safety for single-pass
                 heap-manipulating programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "35:1--35:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371103",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371103",
  abstract =     "We investigate the decidability of automatic program
                 verification for programs that manipulate heaps, and in
                 particular, decision procedures for proving memory
                 safety for them. We extend recent work that identified
                 a decidable subclass of uninterpreted \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "35",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Saad:2020:OAS,
  author =       "Feras A. Saad and Cameron E. Freer and Martin C.
                 Rinard and Vikash K. Mansinghka",
  title =        "Optimal approximate sampling from discrete probability
                 distributions",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "36:1--36:31",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371104",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371104",
  abstract =     "This paper addresses a fundamental problem in random
                 variate generation: given access to a random source
                 that emits a stream of independent fair bits, what is
                 the most accurate and entropy-efficient algorithm for
                 sampling from a discrete probability \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "36",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hark:2020:ALH,
  author =       "Marcel Hark and Benjamin Lucien Kaminski and
                 J{\"u}rgen Giesl and Joost-Pieter Katoen",
  title =        "Aiming low is harder: induction for lower bounds in
                 probabilistic program verification",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "37:1--37:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371105",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371105",
  abstract =     "We present a new inductive rule for verifying lower
                 bounds on expected values of random variables after
                 execution of probabilistic loops as well as on their
                 expected runtimes. Our rule is simple in the sense that
                 loop body semantics need to be applied \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "37",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Abadi:2020:SDP,
  author =       "Mart{\'\i}n Abadi and Gordon D. Plotkin",
  title =        "A simple differentiable programming language",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "38:1--38:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371106",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371106",
  abstract =     "Automatic differentiation plays a prominent role in
                 scientific computing and in modern machine learning,
                 often in the context of powerful programming systems.
                 The relation of the various embodiments of automatic
                 differentiation to the mathematical notion of
                 derivative is not always entirely clear---discrepancies
                 can arise, sometimes inadvertently. In order to study
                 automatic differentiation in such programming contexts,
                 we define a small but expressive programming language
                 that includes a construct for reverse-mode
                 differentiation. We give operational and denotational
                 semantics for this language. The operational semantics
                 employs popular implementation techniques, while the
                 denotational semantics employs notions of
                 differentiation familiar from real analysis. We
                 establish that these semantics coincide.",
  acknowledgement = ack-nhfb,
  articleno =    "38",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Vandenbroucke:2020:PFP,
  author =       "Alexander Vandenbroucke and Tom Schrijvers",
  title =        "{P$ \lambda \omega $NK}: functional probabilistic
                 {NetKAT}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "39:1--39:27",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371107",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371107",
  abstract =     "This work presents P$ \lambda \omega $NK, a functional
                 probabilistic network programming language that extends
                 Probabilistic NetKAT (PNK). Like PNK, it enables
                 probabilistic modelling of network behaviour, by
                 providing probabilistic choice and infinite iteration
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "39",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Jones:2020:PTC,
  author =       "Mark P. Jones and J. Garrett Morris and Richard A.
                 Eisenberg",
  title =        "Partial type constructors: or, making ad hoc datatypes
                 less ad hoc",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "40:1--40:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371108",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371108",
  abstract =     "Functional programming languages assume that type
                 constructors are total. Yet functional programmers know
                 better: counterexamples range from container types that
                 make limiting assumptions about their contents (e.g.,
                 requiring computable equality or \ldots{}).",
  acknowledgement = ack-nhfb,
  articleno =    "40",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Jung:2020:SBA,
  author =       "Ralf Jung and Hoang-Hai Dang and Jeehoon Kang and
                 Derek Dreyer",
  title =        "Stacked borrows: an aliasing model for {Rust}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "41:1--41:32",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371109",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/rust.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371109",
  abstract =     "Type systems are useful not just for the safety
                 guarantees they provide, but also for helping compilers
                 generate more efficient code by simplifying important
                 program analyses. In Rust, the type system imposes a
                 strict discipline on pointer aliasing, and it is an
                 express goal of the Rust compiler developers to make
                 use of that alias information for the purpose of
                 program optimizations that reorder memory accesses. The
                 problem is that Rust also supports unsafe code, and
                 programmers can write unsafe code that bypasses the
                 usual compiler checks to violate the aliasing
                 discipline. To strike a balance between optimizations
                 and unsafe code, the language needs to provide a set of
                 rules such that unsafe code authors can be sure, if
                 they are following these rules, that the compiler will
                 preserve the semantics of their code despite all the
                 optimizations it is doing.

                 In this work, we propose Stacked Borrows, an
                 operational semantics for memory accesses in Rust.
                 Stacked Borrows defines an aliasing discipline and
                 declares programs violating it to have undefined
                 behavior, meaning the compiler does not have to
                 consider such programs when performing optimizations.
                 We give formal proofs (mechanized in Coq) showing that
                 this rules out enough programs to enable optimizations
                 that reorder memory accesses around unknown code and
                 function calls, based solely on intraprocedural
                 reasoning. We also implemented this operational model
                 in an interpreter for Rust and ran large parts of the
                 Rust standard library test suite in the interpreter to
                 validate that the model permits enough real-world
                 unsafe Rust code.",
  acknowledgement = ack-nhfb,
  articleno =    "41",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Beckett:2020:AID,
  author =       "Ryan Beckett and Aarti Gupta and Ratul Mahajan and
                 David Walker",
  title =        "Abstract interpretation of distributed network control
                 planes",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "42:1--42:27",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371110",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371110",
  abstract =     "The control plane of most computer networks runs
                 distributed routing protocols that determine if and how
                 traffic is forwarded. Errors in the configuration of
                 network control planes frequently knock down critical
                 online services, leading to economic \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "42",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Greenberg:2020:EFS,
  author =       "Michael Greenberg and Austin J. Blatt",
  title =        "Executable formal semantics for the {POSIX} shell",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "43:1--43:30",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371111",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/gnu.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371111",
  abstract =     "The POSIX shell is a widely deployed, powerful tool
                 for managing computer systems. The shell is the
                 expert's control panel, a necessary tool for
                 configuring, compiling, installing, maintaining, and
                 deploying systems. Even though it is powerful, critical
                 nfrastructure, the POSIX shell is maligned and
                 misunderstood. Its power and its subtlety are a
                 dangerous combination.\par

                 We define a formal, mechanized, executable small-step
                 semantics for the POSIX shell, which we call Smoosh. We
                 compared Smoosh against seven other shells that aim for
                 some measure of POSIX compliance (bash, dash, zsh, OSH,
                 mksh, ksh93, and yash). Using three test suites --- the
                 POSIX test suite, the Modernish test suite and shell
                 diagnostic, and a test suite of our own device --- we
                 found Smoosh's semantics to be the most conformant to
                 the POSIX standard. Modernish judges Smoosh to have the
                 fewest bugs (just one, from using dash's parser) and no
                 quirks. To show that our semantics is useful beyond
                 yielding a conformant, executable shell, we also
                 implemented a symbolic stepper to illuminate the subtle
                 behavior of the shell.\par

                 Smoosh will serve as a foundation for formal study of
                 the POSIX shell, supporting research on and development
                 of new shells, new tooling for shells, and new shell
                 designs.",
  acknowledgement = ack-nhfb,
  articleno =    "43",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bourke:2020:MSV,
  author =       "Timothy Bourke and L{\'e}lio Brun and Marc Pouzet",
  title =        "Mechanized semantics and verified compilation for a
                 dataflow synchronous language with reset",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "44:1--44:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371112",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371112",
  abstract =     "Specifications based on block diagrams and state
                 machines are used to design control software,
                 especially in the certified development of
                 safety-critical applications. Tools like SCADE Suite
                 and Simulink/Stateflow are equipped with compilers that
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "44",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Jung:2020:FOP,
  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 =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "45:1--45:32",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371113",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371113",
  abstract =     "Early in the development of Hoare logic, Owicki and
                 Gries introduced auxiliary variables as a way of
                 encoding information about the history of a program's
                 execution that is useful for verifying its correctness.
                 Over a decade later, Abadi and Lamport \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "45",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{New:2020:GPT,
  author =       "Max S. New and Dustin Jamner and Amal Ahmed",
  title =        "Graduality and parametricity: together again for the
                 first time",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "46:1--46:32",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371114",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371114",
  abstract =     "Parametric polymorphism and gradual typing have proven
                 to be a difficult combination, with no language yet
                 produced that satisfies the fundamental theorems of
                 each: parametricity and graduality. Notably, Toro,
                 Labrada, and Tanter (POPL 2019) conjecture \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "46",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Westrick:2020:DNP,
  author =       "Sam Westrick and Rohan Yadav and Matthew Fluet and
                 Umut A. Acar",
  title =        "Disentanglement in nested-parallel programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "47:1--47:32",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371115",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371115",
  abstract =     "Nested parallelism has proved to be a popular approach
                 for programming the rapidly expanding range of
                 multicore computers. It allows programmers to express
                 parallelism at a high level and relies on a run-time
                 system and a scheduler to deliver efficiency \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "47",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Biernacki:2020:BDL,
  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 =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "48:1--48:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371116",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371116",
  abstract =     "Handlers of algebraic effects aspire to be a practical
                 and robust programming construct that allows one to
                 define, use, and combine different computational
                 effects. Interestingly, a critical problem that still
                 bars the way to their popular adoption is \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "48",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2020:VE,
  author =       "Chenglong Wang and Yu Feng and Rastislav Bodik and
                 Alvin Cheung and Isil Dillig",
  title =        "Visualization by example",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "49:1--49:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371117",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371117",
  abstract =     "While visualizations play a crucial role in gaining
                 insights from data, generating useful visualizations
                 from a complex dataset is far from an easy task. In
                 particular, besides understanding the functionality
                 provided by existing visualization libraries,.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "49",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Darais:2020:LPO,
  author =       "David Darais and Ian Sweet and Chang Liu and Michael
                 Hicks",
  title =        "A language for probabilistically oblivious
                 computation",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "50:1--50:31",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371118",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371118",
  abstract =     "An oblivious computation is one that is free of direct
                 and indirect information leaks, e.g., due to observable
                 differences in timing and memory access patterns. This
                 paper presents Lambda Obliv, a core language whose type
                 system enforces obliviousness. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "50",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Xia:2020:ITR,
  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 =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "51:1--51:32",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371119",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371119",
  abstract =     "Interaction trees (ITrees) are a general-purpose data
                 structure for representing the behaviors of recursive
                 programs that interact with their environments. A
                 coinductive variant of ``free monads,'' ITrees are
                 built out of uninterpreted events and their \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "51",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Samak:2020:SRC,
  author =       "Malavika Samak and Deokhwan Kim and Martin C.
                 Rinard",
  title =        "Synthesizing replacement classes",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "52:1--52:33",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371120",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371120",
  abstract =     "We present a new technique for automatically
                 synthesizing replacement classes. The technique starts
                 with an original class O and a potential replacement
                 class R, then uses R to synthesize a new class that
                 implements the same interface and provides the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "52",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Xie:2020:KID,
  author =       "Ningning Xie and Richard A. Eisenberg and Bruno C. d.
                 S. Oliveira",
  title =        "Kind inference for datatypes",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "53:1--53:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371121",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371121",
  abstract =     "In recent years, languages like Haskell have seen a
                 dramatic surge of new features that significantly
                 extends the expressive power of their type systems.
                 With these features, the challenge of kind inference
                 for datatype declarations has presented itself
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "53",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bansal:2020:SCP,
  author =       "Suguman Bansal and Kedar S. Namjoshi and Yaniv
                 Sa'ar",
  title =        "Synthesis of coordination programs from linear
                 temporal specifications",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "54:1--54:27",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371122",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371122",
  abstract =     "This paper presents a method for synthesizing a
                 reactive program to coordinate the actions of a group
                 of other reactive programs so that the combined system
                 satisfies a temporal specification of its desired
                 long-term behavior. Traditionally, reactive \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "54",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Barthe:2020:PSL,
  author =       "Gilles Barthe and Justin Hsu and Kevin Liao",
  title =        "A probabilistic separation logic",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "55:1--55:30",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371123",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371123",
  abstract =     "Probabilistic independence is a useful concept for
                 describing the result of random sampling-a basic
                 operation in all probabilistic languages-and for
                 reasoning about groups of random variables.
                 Nevertheless, existing verification methods handle
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "55",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{An:2020:AEB,
  author =       "Shengwei An and Rishabh Singh and Sasa Misailovic and
                 Roopsha Samanta",
  title =        "Augmented example-based synthesis using relational
                 perturbation properties",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "56:1--56:24",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371124",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371124",
  abstract =     "Example-based specifications for program synthesis are
                 inherently ambiguous and may cause synthesizers to
                 generate programs that do not exhibit intended behavior
                 on unseen inputs. Existing synthesis techniques attempt
                 to address this problem by either \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "56",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Dahlqvist:2020:SHO,
  author =       "Fredrik Dahlqvist and Dexter Kozen",
  title =        "Semantics of higher-order probabilistic programs with
                 conditioning",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "57:1--57:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371125",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371125",
  abstract =     "We present a denotational semantics for higher-order
                 probabilistic programs in terms of linear operators
                 between Banach spaces. Our semantics is rooted in the
                 classical theory of Banach spaces and their tensor
                 products, but bears similarities with the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "57",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Pedrot:2020:FTH,
  author =       "Pierre-Marie P{\'e}drot and Nicolas Tabareau",
  title =        "The fire triangle: how to mix substitution, dependent
                 elimination, and effects",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "58:1--58:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371126",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371126",
  abstract =     "There is a critical tension between substitution,
                 dependent elimination and effects in type theory. In
                 this paper, we crystallize this tension in the form of
                 a no-go theorem that constitutes the fire triangle of
                 type theory. To release this tension, we \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "58",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Jaber:2020:SAC,
  author =       "Guilhem Jaber",
  title =        "{SyTeCi}: automating contextual equivalence for
                 higher-order programs with references",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "59:1--59:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371127",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371127",
  abstract =     "We propose a framework to study contextual equivalence
                 of programs written in a call-by-value functional
                 language with local integer references. It reduces the
                 problem of contextual equivalence to the problem of
                 non-reachability in a transition system \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "59",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zou:2020:DFP,
  author =       "Daming Zou and Muhan Zeng and Yingfei Xiong and
                 Zhoulai Fu and Lu Zhang and Zhendong Su",
  title =        "Detecting floating-point errors via atomic
                 conditions",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "60:1--60:27",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371128",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fparith.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371128",
  abstract =     "This paper tackles the important, difficult problem of
                 detecting program inputs that trigger large
                 floating-point errors in numerical code. It introduces
                 a novel, principled {\em dynamic analysis\/} that
                 leverages the mathematically rigorously analyzed {\em
                 condition numbers\/} for atomic numerical operations,
                 which we call {\em atomic conditions}, to effectively
                 guide the search for large floating-point errors.
                 Compared with existing approaches, our work based on
                 atomic conditions has several distinctive benefits: (1)
                 it does not rely on high-precision implementations to
                 act as approximate oracles, which are difficult to
                 obtain in general and computationally costly; and (2)
                 atomic conditions provide accurate, modular search
                 guidance. These benefits in combination lead to a
                 highly effective approach that detects more significant
                 errors in real-world code (e.g., widely-used numerical
                 library functions) and achieves several orders of
                 speedups over the state-of-the-art, thus making error
                 analysis significantly more practical. We expect the
                 methodology and principles behind our approach to
                 benefit other floating-point program analysis tasks
                 such as debugging, repair and synthesis. To facilitate
                 the reproduction of our work, we have made our
                 implementation, evaluation data and results publicly
                 available on GitHub at
                 \url{https://github.com/FP-Analysis/atomic-condition}",
  acknowledgement = ack-nhfb,
  articleno =    "60",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Smolka:2020:GKA,
  author =       "Steffen Smolka and Nate Foster and Justin Hsu and
                 Tobias Kapp{\'e} and Dexter Kozen and Alexandra Silva",
  title =        "Guarded {Kleene} algebra with tests: verification of
                 uninterpreted programs in nearly linear time",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "61:1--61:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371129",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371129",
  abstract =     "Guarded Kleene Algebra with Tests (GKAT) is a
                 variation on Kleene Algebra with Tests (KAT) that
                 arises by restricting the union (+) and iteration (*)
                 operations from KAT to predicate-guarded versions. We
                 develop the (co)algebraic theory of GKAT and show
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "61",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Raghothaman:2020:PGS,
  author =       "Mukund Raghothaman and Jonathan Mendelson and David
                 Zhao and Mayur Naik and Bernhard Scholz",
  title =        "Provenance-guided synthesis of {Datalog} programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "62:1--62:27",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371130",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371130",
  abstract =     "We propose a new approach to synthesize Datalog
                 programs from input-output specifications. Our approach
                 leverages query provenance to scale the
                 counterexample-guided inductive synthesis (CEGIS)
                 procedure for program synthesis. In each iteration of
                 the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "62",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Clairambault:2020:FAQ,
  author =       "Pierre Clairambault and Marc de Visme",
  title =        "Full abstraction for the quantum lambda-calculus",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "63:1--63:28",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371131",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371131",
  abstract =     "Quantum programming languages permit a hardware
                 independent, high-level description of quantum
                 algorithms. In particular, the quantum $ \lambda
                 $-calculus is a higher-order language with quantum
                 primitives, mixing quantum data and classical control.
                 Giving \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "63",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Brunel:2020:BST,
  author =       "Alo{\"\i}s Brunel and Damiano Mazza and Michele
                 Pagani",
  title =        "Backpropagation in the simply typed lambda-calculus
                 with linear negation",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "64:1--64:27",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371132",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371132",
  abstract =     "Backpropagation is a classic automatic differentiation
                 algorithm computing the gradient of functions specified
                 by a certain class of simple, first-order programs,
                 called computational graphs. It is a fundamental tool
                 in several fields, most notably \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "64",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lazarek:2020:DBS,
  author =       "Lukas Lazarek and Alexis King and Samanvitha Sundar
                 and Robert Bruce Findler and Christos Dimoulas",
  title =        "Does blame shifting work?",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "65:1--65:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371133",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371133",
  abstract =     "Contract systems, especially of the higher-order
                 flavor, go hand in hand with blame. The pragmatic
                 purpose of blame is to narrow down the code that a
                 programmer needs to examine to locate the bug when the
                 contract system discovers a contract violation.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "65",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mackay:2020:DSP,
  author =       "Julian Mackay and Alex Potanin and Jonathan Aldrich
                 and Lindsay Groves",
  title =        "Decidable subtyping for path dependent types",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "66:1--66:27",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371134",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371134",
  abstract =     "Path dependent types have long served as an expressive
                 component of the Scala programming language. They allow
                 for the modelling of both bounded polymorphism and a
                 degree of nominal subtyping. Nominality in turn
                 provides the ability to capture first \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "66",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Thiemann:2020:LDS,
  author =       "Peter Thiemann and Vasco T. Vasconcelos",
  title =        "Label-dependent session types",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "67:1--67:29",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371135",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371135",
  abstract =     "Session types have emerged as a typing discipline for
                 communication protocols. Existing calculi with session
                 types come equipped with many different primitives that
                 combine communication with the introduction or
                 elimination of the transmitted value. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "67",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Meyer:2020:PLC,
  author =       "Roland Meyer and Sebastian Wolff",
  title =        "Pointer life cycle types for lock-free data structures
                 with memory reclamation",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "POPL",
  pages =        "68:1--68:36",
  month =        jan,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3371136",
  bibdate =      "Fri Aug 7 18:46:52 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3371136",
  abstract =     "We consider the verification of lock-free data
                 structures that manually manage their memory with the
                 help of a safe memory reclamation (SMR) algorithm. Our
                 first contribution is a type system that checks whether
                 a program properly manages its memory. If \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "68",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hui:2020:AS,
  author =       "Roger K. W. Hui and Morten J. Kromberg",
  title =        "{APL} since 1978",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "69:1--69:108",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386319",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386319",
  abstract =     "The Evolution of APL, the HOPL I paper by Falkoff and
                 Iverson on APL, recounted the fundamental design
                 principles which shaped the implementation of the APL
                 language in 1966, and the early uses and other
                 influences which shaped its first decade of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "69",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Stroustrup:2020:TCC,
  author =       "Bjarne Stroustrup",
  title =        "Thriving in a crowded and changing world: {C++}
                 2006--2020",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "70:1--70:168",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386320",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386320",
  abstract =     "By 2006, C++ had been in widespread industrial use for
                 20 years. It contained parts that had survived
                 unchanged since introduced into C in the early 1970s as
                 well as features that were novel in the early 2000s.
                 From 2006 to 2020, the C++ developer \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "70",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hickey:2020:HC,
  author =       "Rich Hickey",
  title =        "A history of {Clojure}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "71:1--71:46",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386321",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386321",
  abstract =     "Clojure was designed to be a general-purpose,
                 practical functional language, suitable for use by
                 professionals wherever its host language, e.g., Java,
                 would be. Initially designed in 2005 and released in
                 2007, Clojure is a dialect of Lisp, but is not a direct
                 descendant of any prior Lisp. It complements
                 programming with pure functions of immutable data with
                 concurrency-safe state management constructs that
                 support writing correct multithreaded programs without
                 the complexity of mutex locks.\par

                 Clojure is intentionally hosted, in that it compiles to
                 and runs on the runtime of another language, such as
                 the JVM. This is more than an implementation strategy;
                 numerous features ensure that programs written in
                 Clojure can leverage and interoperate with the
                 libraries of the host language directly and
                 efficiently.\par

                 In spite of combining two (at the time) rather
                 unpopular ideas, functional programming and Lisp,
                 Clojure has since seen adoption in industries as
                 diverse as finance, climate science, retail, databases,
                 analytics, publishing, healthcare, advertising and
                 genomics, and by consultancies and startups worldwide,
                 much to the career-altering surprise of its
                 author.\par

                 Most of the ideas in Clojure were not novel, but their
                 combination puts Clojure in a unique spot in language
                 design (functional, hosted, Lisp). This paper recounts
                 the motivation behind the initial development of
                 Clojure and the rationale for various design decisions
                 and language constructs. It then covers its evolution
                 subsequent to release and adoption.",
  acknowledgement = ack-nhfb,
  articleno =    "71",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Reid:2020:HCS,
  author =       "John Reid and Bill Long and Jon Steidel",
  title =        "History of coarrays and {SPMD} parallelism in
                 {Fortran}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "72:1--72:30",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386322",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fortran3.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386322",
  abstract =     "The coarray programming model is an expression of the
                 Single-Program-Multiple-Data (SPMD) programming model
                 through the simple device of adding a codimension to
                 the Fortran language. A data object declared with a
                 codimension is a coarray object. Codimensions express
                 the idea that some objects are located in local memory
                 while others are located in remote memory. Coarray
                 syntax obeys most of the same rules for normal array
                 syntax. It is familiar to the Fortran programmer so the
                 use of coarray syntax is natural and intuitive.
                 Although the basic idea is quite simple, inserting it
                 into the language definition turned out to be
                 difficult.\par

                 In addition, the process was complicated by rapidly
                 changing hardware and heated arguments over whether
                 parallelism should be supported best as an interface to
                 language-independent libraries, as a set of directives
                 superimposed on languages, or as a set of specific
                 extensions to existing languages.\par

                 In this paper, we review both the early history of
                 coarrays and also their development into a part of
                 Fortran 2008 and eventually into a larger part of
                 Fortran 2018. Coarrays have been used, for example, in
                 weather forecasting and in neural networks and deep
                 learning.",
  acknowledgement = ack-nhfb,
  articleno =    "72",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bright:2020:ODP,
  author =       "Walter Bright and Andrei Alexandrescu and Michael
                 Parker",
  title =        "Origins of the {D} programming language",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "73:1--73:38",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386323",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/unicode.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386323",
  abstract =     "As its name suggests, the initial motivation for the D
                 programming language was to improve on C and C++ while
                 keeping their spirit. The D language was to preserve
                 those languages' efficiency, low-level access, and
                 Algol-style syntax. The areas D set out o improve
                 focused initially on rapid development, convenience,
                 and simplifying the syntax without hampering
                 expressiveness.\par

                 The genesis of D has its peculiarities, as is the case
                 with many other languages. Walter Bright, D's creator,
                 is a mechanical engineer by education who started out
                 working for Boeing designing gearboxes for the 757. He
                 was programming games on the side, and in trying to
                 make his game Empire run faster, became interested in
                 compilers. Despite having no experience, Bright set out
                 in 1982 to implement a compiler that produced better
                 code than those on the market at the time.\par

                 This interest materialized into a C compiler, followed
                 by compilers for C++, Java, and JavaScript. Best known
                 of these would be the Zortech C++ compiler, the first
                 (and to date only) C++-to-native compiler developed by
                 a single person. The D programming language began in
                 1999 as an effort to pull the best features of these
                 languages into a new one. Fittingly, D would use the by
                 that time mature C/C++ back end (optimizer and code
                 generator) that had been under continued development
                 and maintenance since 1982.\par

                 Between 1999 and 2006, Bright worked alone on the D
                 language definition and its implementation, although a
                 steadily increasing volume of patches from users was
                 incorporated. The new language would be based on the
                 past successes of the languages he'd used and
                 implemented, but would be clearly looking to the
                 future. D started with choices that are obvious today
                 but were less clear winners back in the 1990s: full
                 support for Unicode, IEEE floating point, 2s complement
                 arithmetic, and flat memory addressing (memory is
                 treated as a linear address space with no
                 segmentation). It would do away with certain
                 compromises from past languages imposed by shortages of
                 memory (for example, forward declarations would not be
                 required). It would primarily appeal to C and C++
                 users, as expertise with those languages would be
                 readily transferrable. The interface with C was
                 designed to be zero cost.\par

                 The language design was begun in late 1999. An alpha
                 version appeared in 2001 and the initial language was
                 completed, somewhat arbitrarily, at version 1.0 in
                 January 2007. During that time, the language evolved
                 considerably, both in capability and in the accretion
                 of a substantial worldwide community that became
                 increasingly involved with contributing. The front end
                 was open-sourced in April 2002, and the back end was
                 donated by Symantec to the open source community in
                 2017. Meanwhile, two additional open-source back ends
                 became mature in the 2010s: `gdc` (using the same back
                 end as the GNU C++ compiler) and `ldc` (using the LLVM
                 back end).\par

                 The increasing use of the D language in the 2010s
                 created an impetus for formalization and development
                 management. To that end, the D Language Foundation was
                 created in September 2015 as a nonprofit corporation
                 overseeing work on D's definition and implementation,
                 publications, conferences, and collaborations with
                 universities.",
  acknowledgement = ack-nhfb,
  articleno =    "73",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Monnier:2020:EEL,
  author =       "Stefan Monnier and Michael Sperber",
  title =        "Evolution of {Emacs Lisp}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "74:1--74:55",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386324",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/common-lisp.bib;
                 http://www.math.utah.edu/pub/tex/bib/gnu.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386324",
  abstract =     "While Emacs proponents largely agree that it is the
                 world's greatest text editor, it is almost as much a
                 Lisp machine disguised as an editor. Indeed, one of its
                 chief appeals is that it is programmable via its own
                 programming language. Emacs Lisp is a Lisp in the
                 classic tradition. In this article, we present the
                 history of this language over its more than 30 years of
                 evolution. Its core has remained remarkably stable
                 since its inception in 1985, in large part to preserve
                 compatibility with the many third-party packages
                 providing a multitude of extensions. Still, Emacs Lisp
                 has evolved and continues to do so.\par

                 Important aspects of Emacs Lisp have been shaped by
                 concrete requirements of the editor it supports as well
                 as implementation constraints. These requirements led
                 to the choice of a Lisp dialect as Emacs's language in
                 the first place, specifically its simplicity and
                 dynamic nature: Loading additional Emacs packages or
                 changing the ones in place occurs frequently, and
                 having to restart the editor in order to re-compile or
                 re-link the code would be unacceptable. Fulfilling this
                 requirement in a more static language would have been
                 difficult at best.\par

                 One of Lisp's chief characteristics is its malleability
                 through its uniform syntax and the use of macros. This
                 has allowed the language to evolve much more rapidly
                 and substantively than the evolution of its core would
                 suggest, by letting Emacs packages provide new surface
                 syntax alongside new functions. In particular, Emacs
                 Lisp can be customized to look much like Common Lisp,
                 and additional packages provide multiple-dispatch
                 object systems, legible regular expressions,
                 programmable pattern-matching constructs, generalized
                 variables, and more. Still, the core has also evolved,
                 albeit slowly. Most notably, it acquired support for
                 lexical scoping.\par

                 The timeline of Emacs Lisp development is closely tied
                 to the projects and people who have shaped it over the
                 years: We document Emacs Lisp history through its
                 predecessors, Mocklisp and MacLisp, its early
                 development up to the ``Emacs schism'' and the fork of
                 Lucid Emacs, the development of XEmacs, and the
                 subsequent rennaissance of Emacs development.",
  acknowledgement = ack-nhfb,
  articleno =    "74",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Syme:2020:EHF,
  author =       "Don Syme",
  title =        "The early history of {F\#}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "75:1--75:58",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386325",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386325",
  abstract =     "This paper describes the genesis and early history of
                 the F\# programming language. I start with the origins
                 of strongly-typed functional programming (FP) in the
                 1970s, 80s and 90s. During the same period, Microsoft
                 was founded and grew to dominate the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "75",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{King:2020:HGP,
  author =       "Paul King",
  title =        "A history of the {Groovy} programming language",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "76:1--76:53",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386326",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386326",
  abstract =     "This paper describes the history of the Groovy
                 programming language. At the time of Groovy's
                 inception, Java was a dominant programming language
                 with a wealth of useful libraries. Despite this, it was
                 perceived by some to be evolving slowing and to have
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "76",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wirfs-Brock:2020:JFY,
  author =       "Allen Wirfs-Brock and Brendan Eich",
  title =        "{JavaScript}: the first 20 years",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "77:1--77:189",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386327",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386327",
  abstract =     "How a sidekick scripting language for Java, created at
                 Netscape in a ten-day hack, ships first as a de facto
                 Web standard and eventually becomes the world's most
                 widely used programming language. This paper tells the
                 story of the creation, design, evolution, and
                 standardization of the JavaScript language over the
                 period of 1995--2015. But the story is not only about
                 the technical details of the language. It is also the
                 story of how people and organizations competed and
                 collaborated to shape the JavaScript language which
                 dominates the Web of 2020.",
  acknowledgement = ack-nhfb,
  articleno =    "77",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kodosky:2020:L,
  author =       "Jeffrey Kodosky",
  title =        "{LabVIEW}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "78:1--78:54",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386328",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386328",
  abstract =     "LabVIEWTM is unusual among programming languages in
                 that we did not intend to create a new language but
                 rather to develop a tool for non-programmer scientists
                 and engineers to assist them in automating their test
                 and measurement systems. Prior \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "78",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Solomon:2020:HL,
  author =       "Cynthia Solomon and Brian Harvey and Ken Kahn and
                 Henry Lieberman and Mark L. Miller and Artemis Papert
                 and Brian Silverman",
  title =        "History of {Logo}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "79:1--79:66",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386329",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386329",
  abstract =     "Logo is more than a programming language. It is a
                 learning environment where children explore
                 mathematical ideas and create projects of their own
                 design. Logo, the first computer language explicitly
                 designed for children, was invented by Seymour Papert,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "79",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Clinger:2020:HMT,
  author =       "William D. Clinger and Mitchell Wand",
  title =        "Hygienic macro technology",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "80:1--80:110",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386330",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386330",
  abstract =     "The fully parenthesized Cambridge Polish syntax of
                 Lisp, originally regarded as a temporary expedient to
                 be replaced by more conventional syntax, possesses a
                 peculiar virtue: A read procedure can parse it without
                 knowing the syntax of any expressions, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "80",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Moler:2020:HM,
  author =       "Cleve Moler and Jack Little",
  title =        "A history of {MATLAB}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "81:1--81:67",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386331",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 http://www.math.utah.edu/pub/tex/bib/matlab.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386331",
  abstract =     "The first MATLAB (the name is short for ``Matrix
                 Laboratory'') was not a programming language. Written
                 in Fortran in the late 1970s, it was a simple
                 interactive matrix calculator built on top of about a
                 dozen subroutines from the LINPACK and EISPACK matrix
                 software libraries. There were only 71 reserved words
                 and built-in functions. It could be extended only by
                 modifying the Fortran source code and recompiling
                 it.\par

                 The programming language appeared in 1984 when MATLAB
                 became a commercial product. The calculator was
                 reimplemented in C and significantly enhanced with the
                 addition of user functions, toolboxes, and graphics. It
                 was available initially on the IBM PC and clones;
                 versions for Unix workstations and the Apple Macintosh
                 soon followed.\par

                 In addition to the matrix functions from the
                 calculator, the 1984 MATLAB included fast Fourier
                 transforms (FFT). The Control System Toolbox appeared
                 in 1985 and the Signal Processing Toolbox in 1987.
                 Built-in support for the numerical solution of ordinary
                 differential equations also appeared in 1987.\par

                 The first significant new data structure, the sparse
                 matrix, was introduced in 1992. The Image Processing
                 Toolbox and the Symbolic Math Toolbox were both
                 introduced in 1993.\par

                 Several new data types and data structures, including
                 single precision floating point, various integer and
                 logical types, cell arrays, structures, and objects
                 were introduced in the late 1990s.\par

                 Enhancements to the MATLAB computing environment have
                 dominated development in recent years. Included are
                 extensions to the desktop, major enhancements to the
                 object and graphics systems, support for parallel
                 computing and GPUs, and the ``Live Editor'', which
                 combines programs, descriptive text, output and
                 graphics into a single interactive, formatted
                 document.\par

                 Today there are over 60 Toolboxes, many programmed in
                 the MATLAB language, providing extended capabilities in
                 specialized technical fields.",
  acknowledgement = ack-nhfb,
  articleno =    "81",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cox:2020:OOC,
  author =       "Brad J. Cox and Steve Naroff and Hansen Hsu",
  title =        "The origins of {Objective-C} at {PPI\slash Stepstone}
                 and its evolution at {NeXT}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "82:1--82:74",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386332",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386332",
  abstract =     "The roots of Objective-C began at ITT in the early
                 1980s in a research group led by Tom Love investigating
                 improving programmer productivity by an order of
                 magnitude, a concern motivated by the perceived
                 ``software crisis'' articulated in the late 1960s.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "82",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{VanRoy:2020:HOM,
  author =       "Peter {Van Roy} and Seif Haridi and Christian Schulte
                 and Gert Smolka",
  title =        "A history of the {Oz} multiparadigm language",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "83:1--83:56",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386333",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386333",
  abstract =     "Oz is a programming language designed to support
                 multiple programming paradigms in a clean factored way
                 that is easy to program despite its broad coverage. It
                 started in 1991 as a collaborative effort by the DFKI
                 (Germany) and SICS (Sweden) and led to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "83",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chambers:2020:RDS,
  author =       "John M. Chambers",
  title =        "{S}, {R}, and data science",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "84:1--84:17",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386334",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386334",
  abstract =     "Data science is increasingly important and
                 challenging. It requires computational tools and
                 programming environments that handle big data and
                 difficult computations, while supporting creative,
                 high-quality analysis. The R language and related
                 software play a major role in computing for data
                 science. R is featured in most programs for training in
                 the field. R packages provide tools for a wide range of
                 purposes and users. The description of a new technique,
                 particularly from research in statistics, is frequently
                 accompanied by an R package, greatly increasing the
                 usefulness of the description.\par

                 The history of R makes clear its connection to data
                 science. R was consciously designed to replicate in
                 open-source software the contents of the S software. S
                 in turn was written by data analysis researchers at
                 Bell Labs as part of the computing environment for
                 research in data analysis and collaborations to apply
                 that research, rather than as a separate project to
                 create a programming language. The features of S and
                 the design decisions made for it need to be understood
                 in this broader context of supporting effective data
                 analysis (which would now be called data science).
                 These characteristics were all transferred to R and
                 remain central to its effectiveness. Thus, R can be
                 viewed as based historically on a domain-specific
                 language for the domain of data science.",
  acknowledgement = ack-nhfb,
  articleno =    "84",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ingalls:2020:ESS,
  author =       "Daniel Ingalls",
  title =        "The evolution of {Smalltalk}: from {Smalltalk-72}
                 through {Squeak}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "85:1--85:101",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386335",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386335",
  abstract =     "This paper presents a personal view of the evolution
                 of six generations of Smalltalk in which the author
                 played a part, starting with Smalltalk-72 and
                 progressing through Smalltalk-80 to Squeak and Etoys.
                 It describes the forces that brought each \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "85",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{MacQueen:2020:HSM,
  author =       "David MacQueen and Robert Harper and John Reppy",
  title =        "The history of {Standard ML}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "86:1--86:100",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386336",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386336",
  abstract =     "The ML family of strict functional languages, which
                 includes F\#, OCaml, and Standard ML, evolved from the
                 Meta Language of the LCF theorem proving system
                 developed by Robin Milner and his research group at the
                 University of Edinburgh in the 1970s. This \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "86",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Flake:2020:VHA,
  author =       "Peter Flake and Phil Moorby and Steve Golson and
                 Arturo Salz and Simon Davidmann",
  title =        "{Verilog HDL} and its ancestors and descendants",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "HOPL",
  pages =        "87:1--87:90",
  month =        jun,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3386337",
  bibdate =      "Fri Aug 7 17:39:13 MDT 2020",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/abs/10.1145/3386337",
  abstract =     "This paper describes the history of the Verilog
                 hardware description language (HDL), including its
                 influential predecessors and successors. Since its
                 creation in 1984 and first sale in 1985, Verilog has
                 completely revolutionized the design of hardware.
                 Verilog enabled the development and wide acceptance of
                 logic synthesis. For large-scale digital logic design,
                 previous schematic-based techniques have transformed
                 into textual register-transfer level (RTL) descriptions
                 written in Verilog. As of 2018 about 80\% of integrated
                 circuit design teams worldwide use Verilog and its
                 compatible descendant SystemVerilog.",
  acknowledgement = ack-nhfb,
  articleno =    "87",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chen:2020:GAD,
  author =       "Xiaohong Chen and Grigore Rosu",
  title =        "A general approach to define binders using matching
                 logic",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "88:1--88:32",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408970",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408970",
  abstract =     "We propose a novel definition of binders using
                 matching logic, where the binding behavior of
                 object-level binders is directly inherited from the
                 built-in exists binder of matching logic. We show that
                 the behavior of binders in various logical systems
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "88",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Serrano:2020:QLI,
  author =       "Alejandro Serrano and Jurriaan Hage and Simon Peyton
                 Jones and Dimitrios Vytiniotis",
  title =        "A quick look at impredicativity",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "89:1--89:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408971",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408971",
  abstract =     "Type inference for parametric polymorphism is wildly
                 successful, but has always suffered from an
                 embarrassing flaw: polymorphic types are themselves not
                 first class. We present Quick Look, a practical,
                 implemented, and deployable design for \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "89",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Abel:2020:UVM,
  author =       "Andreas Abel and Jean-Philippe Bernardy",
  title =        "A unified view of modalities in type systems",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "90:1--90:28",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408972",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408972",
  abstract =     "We propose to unify the treatment of a broad range of
                 modalities in typed lambda calculi. We do so by
                 defining a generic structure of modalities, and show
                 that this structure arises naturally from the structure
                 of intuitionistic logic, and as such finds \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "90",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Tejiscak:2020:DTC,
  author =       "Mat{\'u}s Tejisc{\'a}k",
  title =        "A dependently typed calculus with pattern matching and
                 erasure inference",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "91:1--91:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408973",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408973",
  abstract =     "Some parts of dependently typed programs constitute
                 evidence of their type-correctness and, once checked,
                 are unnecessary for execution. These parts can easily
                 become asymptotically larger than the remaining
                 runtime-useful computation, which can cause \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "91",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hagedorn:2020:AHP,
  author =       "Bastian Hagedorn and Johannes Lenfers and Thomas
                 K{\oe}hler and Xueying Qin and Sergei Gorlatch and
                 Michel Steuwer",
  title =        "Achieving high-performance the functional way: a
                 functional pearl on expressing high-performance
                 optimizations as rewrite strategies",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "92:1--92:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408974",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408974",
  abstract =     "Optimizing programs to run efficiently on modern
                 parallel hardware is hard but crucial for many
                 applications. The predominantly used imperative
                 languages --- like C or OpenCL --- force the programmer
                 to intertwine the code describing functionality and
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "92",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Schuster:2020:CEH,
  author =       "Philipp Schuster and Jonathan Immanuel
                 Brachth{\"a}user and Klaus Ostermann",
  title =        "Compiling effect handlers in capability-passing
                 style",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "93:1--93:28",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408975",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408975",
  abstract =     "Effect handlers encourage programmers to abstract over
                 repeated patterns of complex control flow. As of today,
                 this abstraction comes at a significant price in
                 performance. In this paper, we aim to achieve
                 abstraction without regret for effect handlers.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "93",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Weidner:2020:CDO,
  author =       "Matthew Weidner and Heather Miller and Christopher
                 Meiklejohn",
  title =        "Composing and decomposing op-based {CRDTs} with
                 semidirect products",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "94:1--94:27",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408976",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408976",
  abstract =     "Operation-based Conflict-free Replicated Data Types
                 (CRDTs) are eventually consistent replicated data types
                 that automatically resolve conflicts between concurrent
                 operations. Op-based CRDTs must be designed differently
                 for each data type, and current \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "94",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Rioux:2020:CF,
  author =       "Nick Rioux and Steve Zdancewic",
  title =        "Computation focusing",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "95:1--95:27",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408977",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408977",
  abstract =     "Focusing is a technique from proof theory that
                 exploits type information to prune inessential
                 nondeterminism from proof search procedures. Viewed
                 through the lens of the Curry--Howard correspondence, a
                 focused typing derivation yields terms in normal
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "95",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mevel:2020:CCS,
  author =       "Glen M{\'e}vel and Jacques-Henri Jourdan and
                 Fran{\c{c}}ois Pottier",
  title =        "{Cosmo}: a concurrent separation logic for multicore
                 {OCaml}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "96:1--96:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408978",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408978",
  abstract =     "Multicore OCaml extends OCaml with support for
                 shared-memory concurrency. It is equipped with a weak
                 memory model, for which an operational semantics has
                 been published. This begs the question: what reasoning
                 rules can one rely upon while writing or \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "96",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cutler:2020:DRE,
  author =       "Joseph W. Cutler and Daniel R. Licata and Norman
                 Danner",
  title =        "Denotational recurrence extraction for amortized
                 analysis",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "97:1--97:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408979",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408979",
  abstract =     "A typical way of analyzing the time complexity of
                 functional programs is to extract a recurrence
                 expressing the running time of the program in terms of
                 the size of its input, and then to solve the recurrence
                 to obtain a big-O bound. For recurrence \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "97",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Licker:2020:DFO,
  author =       "Nandor Licker and Timothy M. Jones",
  title =        "{Duplo}: a framework for {OCaml} post-link
                 optimisation",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "98:1--98:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408980",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408980",
  abstract =     "We present a novel framework, Duplo, for the low-level
                 post-link optimisation of OCaml programs, achieving a
                 speedup of 7\% and a reduction of at least 15\% of the
                 code size of widely-used OCaml applications. Unlike
                 existing post-link optimisers, which \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "98",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Xie:2020:EHE,
  author =       "Ningning Xie and Jonathan Immanuel Brachth{\"a}user
                 and Daniel Hillerstr{\"o}m and Philipp Schuster and
                 Daan Leijen",
  title =        "Effect handlers, evidently",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "99:1--99:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408981",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408981",
  abstract =     "Algebraic effect handlers are a powerful way to
                 incorporate effects in a programming language.
                 Sometimes perhaps even {\em too\/} powerful. In this
                 article we define a restriction of general effect
                 handlers with {\em scoped resumptions}. We argue one
                 can still \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "99",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hillerstrom:2020:EEA,
  author =       "Daniel Hillerstr{\"o}m and Sam Lindley and John
                 Longley",
  title =        "Effects for efficiency: asymptotic speedup with
                 first-class control",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "100:1--100:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408982",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408982",
  abstract =     "We study the fundamental efficiency of delimited
                 control. Specifically, we show that effect handlers
                 enable an asymptotic improvement in runtime complexity
                 for a certain class of functions. We consider the
                 generic count problem using a pure PCF-like \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "100",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kovacs:2020:EFC,
  author =       "Andr{\'a}s Kov{\'a}cs",
  title =        "Elaboration with first-class implicit function types",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "101:1--101:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408983",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408983",
  abstract =     "Implicit functions are dependently typed functions,
                 such that arguments are provided (by default) by
                 inference machinery instead of programmers of the
                 surface language. Implicit functions in Agda are an
                 archetypal example. In the Haskell language as
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "101",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Palmer:2020:HOD,
  author =       "Zachary Palmer and Theodore Park and Scott Smith and
                 Shiwei Weng",
  title =        "Higher-order demand-driven symbolic evaluation",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "102:1--102:28",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408984",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408984",
  abstract =     "Symbolic backwards execution (SBE) is a useful
                 variation on standard forward symbolic evaluation; it
                 allows a symbolic evaluation to start anywhere in the
                 program and proceed by executing in reverse to the
                 program start. SBE brings goal-directed \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "102",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Radanne:2020:KBF,
  author =       "Gabriel Radanne and Hannes Saffrich and Peter
                 Thiemann",
  title =        "Kindly bent to free us",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "103:1--103:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408985",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408985",
  abstract =     "Systems programming often requires the manipulation of
                 resources like file handles, network connections, or
                 dynamically allocated memory. Programmers need to
                 follow certain protocols to handle these resources
                 correctly. Violating these protocols causes \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "103",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Downen:2020:KCC,
  author =       "Paul Downen and Zena M. Ariola and Simon Peyton Jones
                 and Richard A. Eisenberg",
  title =        "Kinds are calling conventions",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "104:1--104:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408986",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408986",
  abstract =     "A language supporting polymorphism is a boon to
                 programmers: they can express complex ideas once and
                 reuse functions in a variety of situations. However,
                 polymorphism is pain for compilers tasked with
                 producing efficient code that manipulates concrete
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "104",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Polikarpova:2020:LIF,
  author =       "Nadia Polikarpova and Deian Stefan and Jean Yang and
                 Shachar Itzhaky and Travis Hance and Armando
                 Solar-Lezama",
  title =        "Liquid information flow control",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "105:1--105:30",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408987",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408987",
  abstract =     "We present Lifty, a domain-specific language for
                 data-centric applications that manipulate sensitive
                 data. A Lifty programmer annotates the sources of
                 sensitive data with declarative security policies, and
                 the language statically and automatically \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "105",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Knoth:2020:LRT,
  author =       "Tristan Knoth and Di Wang and Adam Reynolds and Jan
                 Hoffmann and Nadia Polikarpova",
  title =        "Liquid resource types",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "106:1--106:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408988",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408988",
  abstract =     "This article presents liquid resource types, a
                 technique for automatically verifying the resource
                 consumption of functional programs. Existing resource
                 analysis techniques trade automation for flexibility
                 --- automated techniques are restricted to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "106",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Graf:2020:LYG,
  author =       "Sebastian Graf and Simon Peyton Jones and Ryan G.
                 Scott",
  title =        "Lower your guards: a compositional pattern-match
                 coverage checker",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "107:1--107:30",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408989",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408989",
  abstract =     "A compiler should warn if a function defined by
                 pattern matching does not cover its inputs-that is, if
                 there are missing or redundant patterns. Generating
                 such warnings accurately is difficult for modern
                 languages due to the myriad of language features
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "107",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Darragh:2020:PZF,
  author =       "Pierce Darragh and Michael D. Adams",
  title =        "Parsing with zippers (functional pearl)",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "108:1--108:28",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408990",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408990",
  abstract =     "Parsing with Derivatives (PwD) is an elegant approach
                 to parsing context-free grammars (CFGs). It takes the
                 equational theory behind Brzozowski's derivative for
                 regular expressions and augments that theory with
                 laziness, memoization, and fixed points. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "108",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lubin:2020:PSL,
  author =       "Justin Lubin and Nick Collins and Cyrus Omar and Ravi
                 Chugh",
  title =        "Program sketching with live bidirectional evaluation",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "109:1--109:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408991",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408991",
  abstract =     "We present a system called Smyth for program sketching
                 in a typed functional language whereby the concrete
                 evaluation of ordinary assertions gives rise to
                 input-output examples, which are then used to guide the
                 search to complete the holes. The key \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "109",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2020:REA,
  author =       "Di Wang and David M. Kahn and Jan Hoffmann",
  title =        "Raising expectations: automating expected cost
                 analysis with types",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "110:1--110:31",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408992",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408992",
  abstract =     "This article presents a type-based analysis for
                 deriving upper bounds on the expected execution cost of
                 probabilistic programs. The analysis is naturally
                 compositional, parametric in the cost model, and
                 supports higher-order functions and inductive data
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "110",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Choudhury:2020:RPC,
  author =       "Vikraman Choudhury and Neel Krishnaswami",
  title =        "Recovering purity with comonads and capabilities",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "111:1--111:28",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408993",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408993",
  abstract =     "In this paper, we take a pervasively effectful (in the
                 style of ML) typed lambda calculus, and show how to
                 extend it to permit capturing pure expressions with
                 types. Our key observation is that, just as the pure
                 simply-typed lambda calculus can be \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "111",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Haudebourg:2020:RLT,
  author =       "Timoth{\'e}e Haudebourg and Thomas Genet and Thomas
                 Jensen",
  title =        "Regular language type inference with term rewriting",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "112:1--112:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408994",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408994",
  abstract =     "This paper defines a new type system applied to the
                 fully automatic verification of safety properties of
                 tree-processing higher-order functional programs. We
                 use term rewriting systems to model the program and its
                 semantics and tree automata to model \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "112",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sivaramakrishnan:2020:RPO,
  author =       "KC 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 =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "113:1--113:30",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408995",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408995",
  abstract =     "OCaml is an industrial-strength, multi-paradigm
                 programming language, widely used in industry and
                 academia. OCaml is also one of the few modern managed
                 system programming languages to lack support for shared
                 memory parallel programming. This paper \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "113",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Giarrusso:2020:SSS,
  author =       "Paolo G. Giarrusso and L{\'e}o Stefanesco and Amin
                 Timany and Lars Birkedal and Robbert Krebbers",
  title =        "{Scala} step-by-step: soundness for {DOT} with
                 step-indexed logical relations in {Iris}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "114:1--114:29",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408996",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408996",
  abstract =     "The metatheory of Scala's core type system-the
                 Dependent Object Types (DOT) calculus-is hard to
                 extend, like the metatheory of other type systems
                 combining subtyping and dependent types. Soundness of
                 important Scala features therefore remains an open
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "114",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Selsam:2020:SPB,
  author =       "Daniel Selsam and Simon Hudon and Leonardo de Moura",
  title =        "Sealing pointer-based optimizations behind pure
                 functions",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "115:1--115:20",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408997",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408997",
  abstract =     "Functional programming languages are particularly
                 well-suited for building automated reasoning systems,
                 since (among other reasons) a logical term is well
                 modeled by an inductive type, traversing a term can be
                 implemented generically as a higher-order \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "115",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chargueraud:2020:SLS,
  author =       "Arthur Chargu{\'e}raud",
  title =        "Separation logic for sequential programs (functional
                 pearl)",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "116:1--116:34",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408998",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408998",
  abstract =     "This paper presents a simple mechanized formalization
                 of Separation Logic for sequential programs. This
                 formalization is aimed for teaching the ideas of
                 Separation Logic, including its soundness proof and its
                 recent enhancements. The formalization \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "116",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sekiyama:2020:SRP,
  author =       "Taro Sekiyama and Takeshi Tsukada and Atsushi
                 Igarashi",
  title =        "Signature restriction for polymorphic algebraic
                 effects",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "117:1--117:30",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3408999",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3408999",
  abstract =     "The naive combination of polymorphic effects and
                 polymorphic type assignment has been well known to
                 break type safety. Existing approaches to this problem
                 are classified into two groups: one for restricting how
                 effects are triggered and the other for \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "117",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Matsuda:2020:SLP,
  author =       "Kazutaka Matsuda and Meng Wang",
  title =        "{Sparcl}: a language for partially-invertible
                 computation",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "118:1--118:31",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3409000",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3409000",
  abstract =     "Invertibility is a fundamental concept in computer
                 science, with various manifestations in software
                 development (serializer/deserializer, parser/printer,
                 redo/undo, compressor/decompressor, and so on). Full
                 invertibility necessarily requires bijectivity,.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "118",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Montagu:2020:SRA,
  author =       "Beno{\^\i}t Montagu and Thomas Jensen",
  title =        "Stable relations and abstract interpretation of
                 higher-order programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "119:1--119:30",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3409001",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3409001",
  abstract =     "We present a novel denotational semantics for the
                 untyped call-by-value \lambda -calculus, where terms
                 are interpreted as stable relations, i.e. as binary
                 relations between substitutions and values, enjoying a
                 monotonicity property. The denotation captures the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "119",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Willis:2020:SSP,
  author =       "Jamie Willis and Nicolas Wu and Matthew Pickering",
  title =        "Staged selective parser combinators",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "120:1--120:30",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3409002",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3409002",
  abstract =     "Parser combinators are a middle ground between the
                 fine control of hand-rolled parsers and the high-level
                 almost grammar-like appearance of parsers created via
                 parser generators. They also promote a cleaner,
                 compositional design for parsers. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "120",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Swamy:2020:SEC,
  author =       "Nikhil Swamy and Aseem Rastogi and Aymeric Fromherz
                 and Denis Merigoux and Danel Ahman and Guido
                 Mart{\'{\i}}nez",
  title =        "{SteelCore}: an extensible concurrent separation logic
                 for effectful dependently typed programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "121:1--121:30",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3409003",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3409003",
  abstract =     "Much recent research has been devoted to modeling
                 effects within type theory. Building on this work, we
                 observe that effectful type theories can provide a
                 foundation on which to build semantics for more complex
                 programming constructs and program logics, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "121",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Stump:2020:SFP,
  author =       "Aaron Stump and Christopher Jenkins and Stephan Spahn
                 and Colin McDonald",
  title =        "Strong functional pearl: {Harper}'s regular-expression
                 matcher in {Cedille}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "122:1--122:25",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3409004",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3409004",
  abstract =     "This paper describes an implementation of Harper's
                 continuation-based regular-expression matcher as a
                 strong functional program in Cedille; i.e., Cedille
                 statically confirms termination of the program on all
                 inputs. The approach uses neither dependent \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "122",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Griffin:2020:TTL,
  author =       "Jeremiah Griffin and Mohsen Lesani and Narges Shadab
                 and Xizhe Yin",
  title =        "{TLC}: temporal logic of distributed components",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "123:1--123:30",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3409005",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3409005",
  abstract =     "Distributed systems are critical to reliable and
                 scalable computing; however, they are complicated in
                 nature and prone to bugs. To manage this complexity,
                 network middleware has been traditionally built in
                 layered stacks of components.We present a novel
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "123",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Parreaux:2020:SEA,
  author =       "Lionel Parreaux",
  title =        "The simple essence of algebraic subtyping: principal
                 type inference with subtyping made easy (functional
                 pearl)",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "ICFP",
  pages =        "124:1--124:28",
  month =        aug,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3409006",
  bibdate =      "Tue Mar 30 08:10:48 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3409006",
  abstract =     "MLsub extends traditional Hindley-Milner type
                 inference with subtyping while preserving compact
                 principal types, an exciting new development. However,
                 its specification in terms of biunification is
                 difficult to understand, relying on the new concepts of
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "124",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Madsen:2020:FMP,
  author =       "Magnus Madsen and Ondrej Lhot{\'a}k",
  title =        "Fixpoints for the masses: programming with first-class
                 {Datalog} constraints",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "125:1--125:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428193",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428193",
  abstract =     "Datalog is a declarative logic programming language
                 that has been used in a variety of applications,
                 including big-data analytics, language processing,
                 networking and distributed systems, and program
                 analysis. In this paper, we propose first-class
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "125",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Brachthauser:2020:ECE,
  author =       "Jonathan Immanuel Brachth{\"a}user and Philipp
                 Schuster and Klaus Ostermann",
  title =        "Effects as capabilities: effect handlers and
                 lightweight effect polymorphism",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "126:1--126:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428194",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428194",
  abstract =     "Effect handlers have recently gained popularity
                 amongst programming language researchers. Existing
                 type- and effect systems for effect handlers are often
                 complicated and potentially hinder a wide-spread
                 adoption. We present the language Effekt with
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "126",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Pacak:2020:SAD,
  author =       "Andr{\'e} Pacak and Sebastian Erdweg and Tam{\'a}s
                 Szab{\'o}",
  title =        "A systematic approach to deriving incremental type
                 checkers",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "127:1--127:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428195",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428195",
  abstract =     "Static typing can guide programmers if feedback is
                 immediate. Therefore, all major IDEs incrementalize
                 type checking in some way. However, prior approaches to
                 incremental type checking are often specialized and
                 hard to transfer to new type systems. In \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "127",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Feldman:2020:PHC,
  author =       "Yotam M. Y. Feldman and Artem Khyzha and Constantin
                 Enea and Adam Morrison and Aleksandar Nanevski and Noam
                 Rinetzky and Sharon Shoham",
  title =        "Proving highly-concurrent traversals correct",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "128:1--128:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428196",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428196",
  abstract =     "Modern highly-concurrent search data structures, such
                 as search trees, obtain multi-core scalability and
                 performance by having operations traverse the data
                 structure without any synchronization. As a result,
                 however, these algorithms are notoriously \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "128",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Six:2020:CEI,
  author =       "Cyril Six and Sylvain Boulm{\'e} and David Monniaux",
  title =        "Certified and efficient instruction scheduling:
                 application to interlocked {VLIW} processors",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "129:1--129:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428197",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428197",
  abstract =     "CompCert is a moderately optimizing C compiler with a
                 formal, machine-checked, proof of correctness: after
                 successful compilation, the assembly code has a
                 behavior faithful to the source code. Previously, it
                 only supported target instruction sets with \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "129",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Meuli:2020:EAA,
  author =       "Giulia Meuli and Mathias Soeken and Martin Roetteler
                 and Thomas H{\"a}ner",
  title =        "Enabling accuracy-aware quantum compilers using
                 symbolic resource estimation",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "130:1--130:26",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428198",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428198",
  abstract =     "Approximation errors must be taken into account when
                 compiling quantum programs into a low-level gate set.
                 We present a methodology that tracks such errors
                 automatically and then optimizes accuracy parameters to
                 guarantee a specified overall accuracy \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "130",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Leobas:2020:SOD,
  author =       "Guilherme Vieira Leobas and Fernando Magno Quint{\~a}o
                 Pereira",
  title =        "Semiring optimizations: dynamic elision of expressions
                 with identity and absorbing elements",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "131:1--131:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428199",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428199",
  abstract =     "This paper describes a compiler optimization to
                 eliminates dynamic occurrences of expressions in the
                 format $ a \leftarrow a \oplus b \otimes c $. The
                 operation $ \oplus $ must admit an identity element
                 $z$, such that $ a \oplus z = a$. Also, $z$ must be the
                 absorbing element of $ \otimes $, such that $ b \otimes
                 z$ \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "131",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Coblenz:2020:CAT,
  author =       "Michael Coblenz and Jonathan Aldrich and Brad A. Myers
                 and Joshua Sunshine",
  title =        "Can advanced type systems be usable? {An} empirical
                 study of ownership, assets, and typestate in
                 {Obsidian}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "132:1--132:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428200",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/bitcoin.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428200",
  abstract =     "Some blockchain programs (smart contracts) have
                 included serious security vulnerabilities. Obsidian is
                 a new typestate-oriented programming language that uses
                 a strong type system to rule out some of these
                 vulnerabilities. Although Obsidian was designed to
                 promote usability to make it as easy as possible to
                 write programs, strong type systems can cause a
                 language to be difficult to use. In particular,
                 ownership, typestate, and assets, which Obsidian uses
                 to provide safety guarantees, have not seen broad
                 adoption together in popular languages and result in
                 significant usability challenges. We performed an
                 empirical study with 20 participants comparing Obsidian
                 to Solidity, which is the language most commonly used
                 for writing smart contracts today. We observed that
                 Obsidian participants were able to successfully
                 complete more of the programming tasks than the
                 Solidity participants. We also found that the Solidity
                 participants commonly inserted asset-related bugs,
                 which Obsidian detects at compile time.",
  acknowledgement = ack-nhfb,
  articleno =    "132",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Haner:2020:ABO,
  author =       "Thomas H{\"a}ner and Torsten Hoefler and Matthias
                 Troyer",
  title =        "Assertion-based optimization of Quantum programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "133:1--133:20",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428201",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428201",
  abstract =     "Quantum computers promise to perform certain
                 computations exponentially faster than any classical
                 device. Precise control over their physical
                 implementation and proper shielding from unwanted
                 interactions with the environment become more difficult
                 as \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "133",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Majumdar:2020:MMC,
  author =       "Rupak Majumdar and Nobuko Yoshida and Damien
                 Zufferey",
  title =        "Multiparty motion coordination: from choreographies to
                 robotics programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "134:1--134:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428202",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428202",
  abstract =     "We present a programming model and typing discipline
                 for complex multi-robot coordination programming. Our
                 model encompasses both synchronisation through message
                 passing and continuous-time dynamic motion primitives
                 in physical space. We specify \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "134",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Pailoor:2020:APS,
  author =       "Shankara Pailoor and Xinyu Wang and Hovav Shacham and
                 Isil Dillig",
  title =        "Automated policy synthesis for system call
                 sandboxing",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "135:1--135:26",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428203",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428203",
  abstract =     "System call whitelisting is a powerful sandboxing
                 approach that can significantly reduce the capabilities
                 of an attacker if an application is compromised. Given
                 a policy that specifies which system calls can be
                 invoked with what arguments, a sandboxing \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "135",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Astrauskas:2020:HDP,
  author =       "Vytautas Astrauskas and Christoph Matheja and Federico
                 Poli and Peter M{\"u}ller and Alexander J. Summers",
  title =        "How do programmers use unsafe {Rust}?",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "136:1--136:27",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428204",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/rust.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428204",
  abstract =     "Rust's ownership type system enforces a strict
                 discipline on how memory locations are accessed and
                 shared. This discipline allows the compiler to
                 statically prevent memory errors, data races,
                 inadvertent side effects through aliasing, and other
                 errors hat frequently occur in conventional imperative
                 programs. However, the restrictions imposed by Rust s
                 type system make it difficult or impossible to
                 implement certain designs, such as data structures that
                 require aliasing (e.g. doubly-linked lists and shared
                 caches). To work around this limitation, Rust allows
                 code blocks to be declared as unsafe and thereby
                 exempted from certain restrictions of the type system,
                 for instance, to manipulate C-style raw pointers.
                 Ensuring the safety of unsafe code is the
                 responsibility of the programmer. However, an important
                 assumption of the Rust language, which we dub the Rust
                 hypothesis, is that programmers use Rust by following
                 three main principles: use unsafe code sparingly, make
                 it easy to review, and hide it behind a safe
                 abstraction such that client code can be written in
                 safe Rust.\par

                 Understanding how Rust programmers use unsafe code and,
                 in particular, whether the Rust hypothesis holds is
                 essential for Rust developers and testers, language and
                 library designers, as well as tool developers. This
                 paper studies empirically how unsafe code is used in
                 practice by analysing a large corpus of Rust projects
                 to assess the validity of the Rust hypothesis and to
                 classify the purpose of unsafe code. We identify
                 queries that can be answered by automatically
                 inspecting the program s source code, its intermediate
                 representation MIR, as well as type information
                 provided by the Rust compiler; we complement the
                 results by manual code inspection. Our study supports
                 the Rust hypothesis partially: While most unsafe code
                 is simple and well-encapsulated, unsafe features are
                 used extensively, especially for interoperability with
                 other languages.",
  acknowledgement = ack-nhfb,
  articleno =    "136",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2020:LSP,
  author =       "Yu Wang and Ke Wang and Fengjuan Gao and Linzhang
                 Wang",
  title =        "Learning semantic program embeddings with graph
                 interval neural network",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "137:1--137:27",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428205",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428205",
  abstract =     "Learning distributed representations of source code
                 has been a challenging task for machine learning
                 models. Earlier works treated programs as text so that
                 natural language methods can be readily applied.
                 Unfortunately, such approaches do not capitalize
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "137",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Devore-McDonald:2020:MDS,
  author =       "Breanna Devore-McDonald and Emery D. Berger",
  title =        "Mossad: defeating software plagiarism detection",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "138:1--138:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428206",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428206",
  abstract =     "Automatic software plagiarism detection tools are
                 widely used in educational settings to ensure that
                 submitted work was not copied. These tools have grown
                 in use together with the rise in enrollments in
                 computer science programs and the widespread \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "138",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhang:2020:HBC,
  author =       "Yizhou Zhang and Guido Salvaneschi and Andrew C.
                 Myers",
  title =        "Handling bidirectional control flow",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "139:1--139:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428207",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428207",
  abstract =     "Pressed by the difficulty of writing asynchronous,
                 event-driven code, mainstream languages have recently
                 been building in support for a variety of advanced
                 control-flow features. Meanwhile, experimental language
                 designs have suggested effect handlers as \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "139",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Holtzen:2020:SEI,
  author =       "Steven Holtzen and Guy {Van den Broeck} and Todd
                 Millstein",
  title =        "Scaling exact inference for discrete probabilistic
                 programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "140:1--140:31",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428208",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428208",
  abstract =     "Probabilistic programming languages (PPLs) are an
                 expressive means of representing and reasoning about
                 probabilistic models. The computational challenge of
                 probabilistic inference remains the primary roadblock
                 for applying PPLs in practice. Inference is \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "140",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bembenek:2020:FDS,
  author =       "Aaron Bembenek and Michael Greenberg and Stephen
                 Chong",
  title =        "Formulog: {Datalog} for {SMT-based} static analysis",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "141:1--141:31",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428209",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428209",
  abstract =     "Satisfiability modulo theories (SMT) solving has
                 become a critical part of many static analyses,
                 including symbolic execution, refinement type checking,
                 and model checking. We propose Formulog, a
                 domain-specific language that makes it possible to
                 write \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "141",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Xiang:2020:PIE,
  author =       "Tongtong Xiang and Jeff Y. Luo and Werner Dietl",
  title =        "Precise inference of expressive units of measurement
                 types",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "142:1--142:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428210",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428210",
  abstract =     "Ensuring computations are unit-wise consistent is an
                 important task in software development. Numeric
                 computations are usually performed with primitive types
                 instead of abstract data types, which results in very
                 weak static guarantees about correct usage \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "142",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Liu:2020:WSF,
  author =       "Hongyu Liu and Sam Silvestro and Xiangyu Zhang and
                 Jian Huang and Tongping Liu",
  title =        "{WATCHER}: in-situ failure diagnosis",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "143:1--143:27",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428211",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428211",
  abstract =     "Diagnosing software failures is important but
                 notoriously challenging. Existing work either requires
                 extensive manual effort, imposing a serious privacy
                 concern (for in-production systems), or cannot report
                 sufficient information for bug fixes. This \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "143",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sotiropoulos:2020:MDF,
  author =       "Thodoris Sotiropoulos and Stefanos Chaliasos and
                 Dimitris Mitropoulos and Diomidis Spinellis",
  title =        "A model for detecting faults in build specifications",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "144:1--144:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428212",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428212",
  abstract =     "Incremental and parallel builds are crucial features
                 of modern build systems. Parallelism enables fast
                 builds by running independent tasks simultaneously,
                 while incrementality saves time and computing resources
                 by processing the build operations that \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "144",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bartell:2020:GLD,
  author =       "Sean Bartell and Will Dietz and Vikram S. Adve",
  title =        "Guided linking: dynamic linking without the costs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "145:1--145:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428213",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428213",
  abstract =     "Dynamic linking is extremely common in modern software
                 systems, thanks to the flexibility and space savings it
                 offers. However, this flexibility comes at a cost: it's
                 impossible to perform interprocedural optimizations
                 that involve calls to a dynamic \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "145",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gorjiara:2020:SSE,
  author =       "Hamed Gorjiara and Guoqing Harry Xu and Brian
                 Demsky",
  title =        "{Satune}: synthesizing efficient {SAT} encoders",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "146:1--146:32",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428214",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428214",
  abstract =     "Modern SAT solvers are extremely efficient at solving
                 boolean satisfiability problems, enabling a wide
                 spectrum of techniques for checking, verifying, and
                 validating real-world programs. What remains
                 challenging, though, is how to encode a domain
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "146",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Guo:2020:ECT,
  author =       "Shengjian Guo and Yueqi Chen and Jiyong Yu and Meng Wu
                 and Zhiqiang Zuo and Peng Li and Yueqiang Cheng and
                 Huibo Wang",
  title =        "Exposing cache timing side-channel leaks through
                 out-of-order symbolic execution",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "147:1--147:32",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428215",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428215",
  abstract =     "As one of the fundamental optimizations in modern
                 processors, the out-of-order execution boosts the
                 pipeline throughput by executing independent
                 instructions in parallel rather than in their program
                 orders. However, due to the side effects introduced by
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "147",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhou:2020:SVR,
  author =       "Fangyi Zhou and Francisco Ferreira and Raymond Hu and
                 Rumyana Neykova and Nobuko Yoshida",
  title =        "Statically verified refinements for multiparty
                 protocols",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "148:1--148:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428216",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428216",
  abstract =     "With distributed computing becoming ubiquitous in the
                 modern era, safe distributed programming is an open
                 challenge. To address this, multiparty session types
                 (MPST) provide a typing discipline for message-passing
                 concurrency, guaranteeing communication \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "148",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Griesemer:2020:FG,
  author =       "Robert Griesemer and Raymond Hu and Wen Kokke and
                 Julien Lange and Ian Lance Taylor and Bernardo Toninho
                 and Philip Wadler and Nobuko Yoshida",
  title =        "Featherweight {Go}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "149:1--149:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428217",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428217",
  abstract =     "We describe a design for generics in Go inspired by
                 previous work on Featherweight Java by Igarashi,
                 Pierce, and Wadler. Whereas subtyping in Java is
                 nominal, in Go it is structural, and whereas generics
                 in Java are defined via erasure, in Go we use
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "149",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Li:2020:PBR,
  author =       "Gushu Li and Li Zhou and Nengkun Yu and Yufei Ding and
                 Mingsheng Ying and Yuan Xie",
  title =        "Projection-based runtime assertions for testing and
                 debugging quantum programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "150:1--150:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428218",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428218",
  abstract =     "In this paper, we propose Proq, a runtime assertion
                 scheme for testing and debugging quantum programs on a
                 quantum computer. The predicates in Proq are
                 represented by projections (or equivalently, closed
                 subspaces of the state space), following Birkhoff-.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "150",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Raad:2020:POG,
  author =       "Azalea Raad and Ori Lahav and Viktor Vafeiadis",
  title =        "Persistent {Owicki---Gries} reasoning: a program logic
                 for reasoning about persistent programs on
                 {Intel-x86}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "151:1--151:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428219",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428219",
  abstract =     "The advent of non-volatile memory (NVM) technologies
                 is expected to transform how software systems are
                 structured fundamentally, making the task of correct
                 programming significantly harder. This is because
                 ensuring that memory stores persist in the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "151",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sprenger:2020:ISL,
  author =       "Christoph Sprenger and Tobias Klenze and Marco Eilers
                 and Felix A. Wolf and Peter M{\"u}ller and Martin
                 Clochard and David Basin",
  title =        "{Igloo}: soundly linking compositional refinement and
                 separation logic for distributed system verification",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "152:1--152:31",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428220",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428220",
  abstract =     "Lighthouse projects like CompCert, seL4, IronFleet,
                 and DeepSpec have demonstrated that full system
                 verification is feasible by establishing a refinement
                 between an abstract system specification and an
                 executable implementation. Existing approaches
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "152",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kallas:2020:DDO,
  author =       "Konstantinos Kallas and Filip Niksic and Caleb
                 Stanford and Rajeev Alur",
  title =        "{DiffStream}: differential output testing for stream
                 processing programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "153:1--153:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428221",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428221",
  abstract =     "High performance architectures for processing
                 distributed data streams, such as Flink, Spark
                 Streaming, and Storm, are increasingly deployed in
                 emerging data-driven computing systems. Exploiting the
                 parallelism afforded by such platforms, while
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "153",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Madsen:2020:PTE,
  author =       "Magnus Madsen and Jaco van de Pol",
  title =        "Polymorphic types and effects with {Boolean}
                 unification",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "154:1--154:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428222",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428222",
  abstract =     "We present a simple, practical, and expressive type
                 and effect system based on Boolean constraints. The
                 effect system extends the Hindley-Milner type system,
                 supports parametric polymorphism, and preserves
                 principal types modulo Boolean equivalence. We
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "154",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Castro-Perez:2020:CCA,
  author =       "David Castro-Perez and Nobuko Yoshida",
  title =        "{CAMP}: cost-aware multiparty session protocols",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "155:1--155:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428223",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428223",
  abstract =     "This paper presents CAMP, a new static performance
                 analysis framework for message-passing concurrent and
                 distributed systems, based on the theory of multiparty
                 session types (MPST). Understanding the run-time
                 performance of concurrent and distributed \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "155",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Flanagan:2020:AVB,
  author =       "Cormac Flanagan and Stephen N. Freund",
  title =        "The anchor verifier for blocking and non-blocking
                 concurrent software",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "156:1--156:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428224",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428224",
  abstract =     "Verifying the correctness of concurrent software with
                 subtle synchronization is notoriously challenging. We
                 present the Anchor verifier, which is based on a new
                 formalism for specifying synchronization disciplines
                 that describes both (1) what memory \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "156",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Shahin:2020:AEV,
  author =       "Ramy Shahin and Marsha Chechik",
  title =        "Automatic and efficient variability-aware lifting of
                 functional programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "157:1--157:27",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428225",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428225",
  abstract =     "A software analysis is a computer program that takes
                 some representation of a software product as input and
                 produces some useful information about that product as
                 output. A software product line encompasses many
                 software product variants, and thus \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "157",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Senanayake:2020:SIS,
  author =       "Ryan Senanayake and Changwan Hong and Ziheng Wang and
                 Amalee Wilson and Stephen Chou and Shoaib Kamil and
                 Saman Amarasinghe and Fredrik Kjolstad",
  title =        "A sparse iteration space transformation framework for
                 sparse tensor algebra",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "158:1--158:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428226",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428226",
  abstract =     "We address the problem of optimizing sparse tensor
                 algebra in a compiler and show how to define standard
                 loop transformations---split, collapse, and
                 reorder---on sparse iteration spaces. The key idea is
                 to track the transformation functions that map the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "158",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Peleg:2020:PRE,
  author =       "Hila Peleg and Roi Gabay and Shachar Itzhaky and Eran
                 Yahav",
  title =        "Programming with a read--eval--synth loop",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "159:1--159:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428227",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428227",
  abstract =     "A frequent programming pattern for small tasks,
                 especially expressions, is to repeatedly evaluate the
                 program on an input as its editing progresses. The
                 Read-Eval-Print Loop (REPL) interaction model has been
                 a successful model for this programming \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "159",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Farooq:2020:LIP,
  author =       "Umar Farooq and Zhijia Zhao and Manu Sridharan and
                 Iulian Neamtiu",
  title =        "{LiveDroid}: identifying and preserving mobile app
                 state in volatile runtime environments",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "160:1--160:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428228",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428228",
  abstract =     "Mobile operating systems, especially Android, expose
                 apps to a volatile runtime environment. The app state
                 that reflects past user interaction and system
                 environment updates (e.g., battery status changes) can
                 be destroyed implicitly, in response to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "160",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chen:2020:TUP,
  author =       "Xiaohong Chen and Minh-Thai Trinh and Nishant
                 Rodrigues and Lucas Pe{\~n}a and Grigore Rosu",
  title =        "Towards a unified proof framework for automated
                 fixpoint reasoning using matching logic",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "161:1--161:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428229",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428229",
  abstract =     "Automation of fixpoint reasoning has been extensively
                 studied for various mathematical structures, logical
                 formalisms, and computational domains, resulting in
                 specialized fixpoint provers for heaps, for streams,
                 for term algebras, for temporal \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "161",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Yefet:2020:AEM,
  author =       "Noam Yefet and Uri Alon and Eran Yahav",
  title =        "Adversarial examples for models of code",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "162:1--162:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428230",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428230",
  abstract =     "Neural models of code have shown impressive results
                 when performing tasks such as predicting method names
                 and identifying certain kinds of bugs. We show that
                 these models are vulnerable to adversarial examples,
                 and introduce a novel approach for \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "162",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Surbatovich:2020:TFF,
  author =       "Milijana Surbatovich and Brandon Lucia and Limin
                 Jia",
  title =        "Towards a formal foundation of intermittent
                 computing",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "163:1--163:31",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428231",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428231",
  abstract =     "Intermittently powered devices enable new applications
                 in harsh or inaccessible environments, such as space or
                 in-body implants, but also introduce problems in
                 programmability and correctness. Researchers have
                 developed programming models to ensure that \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "163",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wei:2020:CSE,
  author =       "Guannan Wei and Oliver Bracevac and Shangyin Tan and
                 Tiark Rompf",
  title =        "Compiling symbolic execution with staging and
                 algebraic effects",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "164:1--164:33",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428232",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428232",
  abstract =     "Building effective symbolic execution engines poses
                 challenges in multiple dimensions: an engine must
                 correctly model the program semantics, provide
                 flexibility in symbolic execution strategies, and
                 execute them efficiently. This paper proposes a
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "164",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhang:2020:TDP,
  author =       "Hengchu Zhang and Edo Roth and Andreas Haeberlen and
                 Benjamin C. Pierce and Aaron Roth",
  title =        "Testing differential privacy with dual interpreters",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "165:1--165:26",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428233",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428233",
  abstract =     "Applying differential privacy at scale requires
                 convenient ways to check that programs computing with
                 sensitive data appropriately preserve privacy. We
                 propose here a fully automated framework for testing
                 differential privacy, adapting a well-known \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "165",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Newcomb:2020:VIH,
  author =       "Julie L. Newcomb and Andrew Adams and Steven Johnson
                 and Rastislav Bodik and Shoaib Kamil",
  title =        "Verifying and improving {Halide}'s term rewriting
                 system with program synthesis",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "166:1--166:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428234",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428234",
  abstract =     "Halide is a domain-specific language for
                 high-performance image processing and tensor
                 computations, widely adopted in industry. Internally,
                 the Halide compiler relies on a term rewriting system
                 to prove properties of code required for efficient and
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "166",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Poesia:2020:DDC,
  author =       "Gabriel Poesia and Fernando Magno Quint{\~a}o
                 Pereira",
  title =        "Dynamic dispatch of context-sensitive optimizations",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "167:1--167:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428235",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428235",
  abstract =     "Academia has spent much effort into making
                 context-sensitive analyses practical, with great
                 profit. However, the implementation of
                 context-sensitive optimizations, in contrast to
                 analyses, is still not practical, due to code-size
                 explosion. This growth \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "167",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Moller:2020:EAO,
  author =       "Anders M{\o}ller and Oskar Haarklou Veileborg",
  title =        "Eliminating abstraction overhead of {Java} stream
                 pipelines using ahead-of-time program optimization",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "168:1--168:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428236",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428236",
  abstract =     "Java 8 introduced streams that allow developers to
                 work with collections of data using functional-style
                 operations. Streams are often used in pipelines of
                 operations for processing the data elements, which
                 leads to concise and elegant program code. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "168",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Spall:2020:BSP,
  author =       "Sarah Spall and Neil Mitchell and Sam
                 Tobin-Hochstadt",
  title =        "Build scripts with perfect dependencies",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "169:1--169:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428237",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428237",
  abstract =     "Build scripts for most build systems describe the
                 actions to run, and the dependencies between those
                 actions --- but often build scripts get those
                 dependencies wrong. Most build scripts have both too
                 few dependencies (leading to incorrect build outputs)
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "169",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Feser:2020:DOR,
  author =       "John Feser and Sam Madden and Nan Tang and Armando
                 Solar-Lezama",
  title =        "Deductive optimization of relational data storage",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "170:1--170:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428238",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428238",
  abstract =     "Optimizing the physical data storage and retrieval of
                 data are two key database management problems. In this
                 paper, we propose a language that can express both a
                 relational query and the layout of its data. Our
                 language can express a wide range of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "170",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Clune:2020:PEA,
  author =       "Joshua Clune and Vijay Ramamurthy and Ruben Martins
                 and Umut A. Acar",
  title =        "Program equivalence for assisted grading of functional
                 programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "171:1--171:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428239",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428239",
  abstract =     "In courses that involve programming assignments,
                 giving meaningful feedback to students is an important
                 challenge. Human beings can give useful feedback by
                 manually grading the programs but this is a
                 time-consuming, labor intensive, and usually boring
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "171",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Avanzini:2020:MCA,
  author =       "Martin Avanzini and Georg Moser and Michael Schaper",
  title =        "A modular cost analysis for probabilistic programs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "172:1--172:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428240",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428240",
  abstract =     "We present a novel methodology for the automated
                 resource analysis of non-deterministic, probabilistic
                 imperative programs, which gives rise to a modular
                 approach. Program fragments are analysed in full
                 independence. Moreover, the established results
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "172",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Geisler:2020:GTG,
  author =       "Dietrich Geisler and Irene Yoon and Aditi Kabra and
                 Horace He and Yinnon Sanders and Adrian Sampson",
  title =        "Geometry types for graphics programming",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "173:1--173:25",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428241",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428241",
  abstract =     "In domains that deal with physical space and geometry,
                 programmers need to track the coordinate systems that
                 underpin a computation. We identify a class of geometry
                 bugs that arise from confusing which coordinate system
                 a vector belongs to. These bugs \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "173",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wu:2020:HII,
  author =       "Zhefeng Wu and Zhe Sun and Kai Gong and Lingyun Chen
                 and Bin Liao and Yihua Jin",
  title =        "Hidden inheritance: an inline caching design for
                 {TypeScript} performance",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "174:1--174:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428242",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428242",
  abstract =     "TypeScript is a dynamically typed language widely used
                 to develop large-scale applications nowadays. These
                 applications are usually designed with complex class or
                 interface hierarchies and have highly polymorphic
                 behaviors. These object-oriented (OO) \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "174",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Liu:2020:TES,
  author =       "Fengyun Liu and Ondrej Lhot{\'a}k and Aggelos Biboudis
                 and Paolo G. Giarrusso and Martin Odersky",
  title =        "A type-and-effect system for object initialization",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "175:1--175:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428243",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428243",
  abstract =     "Every newly created object goes through several
                 initialization states: starting from a state where all
                 fields are uninitialized until all of them are
                 assigned. Any operation on the object during its
                 initialization process, which usually happens in the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "175",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Banerjee:2020:SGC,
  author =       "Subarno Banerjee and David Devecsery and Peter M. Chen
                 and Satish Narayanasamy",
  title =        "Sound garbage collection for {C} using pointer
                 provenance",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "176:1--176:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428244",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428244",
  abstract =     "Garbage collection (GC) support for unmanaged
                 languages can reduce programming burden in reasoning
                 about liveness of dynamic objects. It also avoids
                 temporal memory safety violations and memory leaks.
                 Sound GC for weakly-typed languages such as C/C++,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "176",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mukherjee:2020:DBP,
  author =       "Manasij Mukherjee and Pranav Kant and Zhengyang Liu
                 and John Regehr",
  title =        "Dataflow-based pruning for speeding up
                 superoptimization",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "177:1--177:24",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428245",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428245",
  abstract =     "Superoptimization is a compilation strategy that uses
                 search to improve code quality, rather than relying on
                 a canned sequence of transformations, as traditional
                 optimizing compilers do. This search can be seen as a
                 program synthesis problem: from \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "177",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Milanova:2020:FGT,
  author =       "Ana Milanova",
  title =        "{FlowCFL}: generalized type-based reachability
                 analysis: graph reduction and equivalence of
                 {CFL}-based and type-based reachability",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "178:1--178:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428246",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428246",
  abstract =     "Reachability analysis is a fundamental program
                 analysis with a wide variety of applications. We
                 present FlowCFL, a type-based reachability analysis
                 that accounts for mutable heap data. The underlying
                 semantics of FlowCFL is Context-Free-Language (CFL)-.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "178",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Jeon:2020:LGB,
  author =       "Minseok Jeon and Myungho Lee and Hakjoo Oh",
  title =        "Learning graph-based heuristics for pointer analysis
                 without handcrafting application-specific features",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "179:1--179:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428247",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428247",
  abstract =     "We present Graphick, a new technique for automatically
                 learning graph-based heuristics for pointer analysis.
                 Striking a balance between precision and scalability of
                 pointer analysis requires designing good analysis
                 heuristics. For example, because \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "179",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Rouvoet:2020:KWA,
  author =       "Arjen Rouvoet and Hendrik van Antwerpen and Casper
                 Bach Poulsen and Robbert Krebbers and Eelco Visser",
  title =        "Knowing when to ask: sound scheduling of name
                 resolution in type checkers derived from declarative
                 specifications",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "180:1--180:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428248",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428248",
  abstract =     "There is a large gap between the specification of type
                 systems and the implementation of their type checkers,
                 which impedes reasoning about the soundness of the type
                 checker with respect to the specification. A vision to
                 close this gap is to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "180",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Turcotte:2020:DTR,
  author =       "Alexi Turcotte and Aviral Goel and Filip Krikava and
                 Jan Vitek",
  title =        "Designing types for {R}, empirically",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "181:1--181:25",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428249",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428249",
  abstract =     "The R programming language is widely used in a variety
                 of domains. It was designed to favor an interactive
                 style of programming with minimal syntactic and
                 conceptual overhead. This design is well suited to data
                 analysis, but a bad fit for tools such as \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "181",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kumar:2020:SRI,
  author =       "Aayan Kumar and Vivek Seshadri and Rahul Sharma",
  title =        "Shiftry: {RNN} inference in {2KB} of {RAM}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "182:1--182:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428250",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428250",
  abstract =     "Traditionally, IoT devices send collected sensor data
                 to an intelligent cloud where machine learning (ML)
                 inference happens. However, this course is rapidly
                 changing and there is a recent trend to run ML on the
                 edge IoT devices themselves. An \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "182",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kong:2020:SQL,
  author =       "Lingkun Kong and Konstantinos Mamouras",
  title =        "{StreamQL}: a query language for processing streaming
                 time series",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "183:1--183:32",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428251",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428251",
  abstract =     "Real-time data analysis applications increasingly rely
                 on complex streaming computations over time-series
                 data. We propose StreamQL, a language that facilitates
                 the high-level specification of complex analyses over
                 streaming time series. StreamQL is \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "183",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Yu:2020:IPA,
  author =       "Qianshan Yu and Fei He and Bow-Yaw Wang",
  title =        "Incremental predicate analysis for regression
                 verification",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "184:1--184:25",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428252",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428252",
  abstract =     "Software products are evolving during their life
                 cycles. Ideally, every revision need be formally
                 verified to ensure software quality. Yet repeated
                 formal verification requires significant computing
                 resources. Verifying each and every revision can be
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "184",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Urban:2020:PPF,
  author =       "Caterina Urban and Maria Christakis and Valentin
                 W{\"u}stholz and Fuyuan Zhang",
  title =        "Perfectly parallel fairness certification of neural
                 networks",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "185:1--185:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428253",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428253",
  abstract =     "Recently, there is growing concern that
                 machine-learned software, which currently assists or
                 even automates decision making, reproduces, and in the
                 worst case reinforces, bias present in the training
                 data. The development of tools and techniques for
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "185",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Stievenart:2020:FCB,
  author =       "Quentin Sti{\'e}venart and Magnus Madsen",
  title =        "Fuzzing channel-based concurrency runtimes using types
                 and effects",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "186:1--186:27",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428254",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428254",
  abstract =     "Modern programming languages support concurrent
                 programming based on channels and processes. Channels
                 enable synchronous and asynchronous message-passing
                 between independent light-weight processes making it
                 easy to express common concurrency patterns. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "186",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Moller:2020:DLJ,
  author =       "Anders M{\o}ller and Benjamin Barslev Nielsen and
                 Martin Toldam Torp",
  title =        "Detecting locations in {JavaScript} programs affected
                 by breaking library changes",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "187:1--187:25",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428255",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428255",
  abstract =     "JavaScript libraries are widely used and evolve
                 rapidly. When adapting client code to non-backwards
                 compatible changes in libraries, a major challenge is
                 how to locate affected API uses in client code, which
                 is currently a difficult manual task. In this
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "187",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kohler:2020:RSC,
  author =       "Mirko K{\"o}hler and Nafise Eskandani and Pascal
                 Weisenburger and Alessandro Margara and Guido
                 Salvaneschi",
  title =        "Rethinking safe consistency in distributed
                 object-oriented programming",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "188:1--188:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428256",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428256",
  abstract =     "Large scale distributed systems require to embrace the
                 trade off between consistency and availability,
                 accepting lower levels of consistency to guarantee
                 higher availability. Existing programming languages
                 are, however, agnostic to this compromise, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "188",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Le:2020:DDT,
  author =       "Ton Chanh Le and Timos Antonopoulos and Parisa
                 Fathololumi and Eric Koskinen and ThanhVu Nguyen",
  title =        "{DynamiTe}: dynamic termination and non-termination
                 proofs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "189:1--189:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428257",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428257",
  abstract =     "There is growing interest in termination reasoning for
                 nonlinear programs and, meanwhile, recent dynamic
                 strategies have shown they are able to infer invariants
                 for such challenging programs. These advances led us to
                 hypothesize that perhaps such \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "189",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lagouvardos:2020:PSM,
  author =       "Sifis Lagouvardos and Neville Grech and Ilias Tsatiris
                 and Yannis Smaragdakis",
  title =        "Precise static modeling of {Ethereum} ``memory''",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "190:1--190:26",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428258",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/bitcoin.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428258",
  abstract =     "Static analysis of smart contracts as-deployed on the
                 Ethereum blockchain has received much recent attention.
                 However, high-precision analyses currently face
                 significant challenges when dealing with the Ethereum
                 VM (EVM) execution model. A major such \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "190",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Campora:2020:TTA,
  author =       "John Peter Campora and Sheng Chen",
  title =        "Taming type annotations in gradual typing",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "191:1--191:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428259",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428259",
  abstract =     "Gradual typing provides a methodology to integrate
                 static and dynamic typing, harmonizing their often
                 conflicting advantages in a single language. When a
                 user wants to enjoy the advantages of static typing,
                 most gradual languages require that they add \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "191",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Trinh:2020:ITD,
  author =       "Minh-Thai Trinh and Duc-Hiep Chu and Joxan Jaffar",
  title =        "Inter-theory dependency analysis for {SMT} string
                 solvers",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "192:1--192:27",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428260",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428260",
  abstract =     "Solvers in the framework of Satisfiability Modulo
                 Theories (SMT) have been widely successful in practice.
                 Recently there has been an increasing interest in
                 solvers for string constraints to address security
                 issues in web programming, for example. To be
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "192",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Winterer:2020:UET,
  author =       "Dominik Winterer and Chengyu Zhang and Zhendong Su",
  title =        "On the unusual effectiveness of type-aware operator
                 mutations for testing {SMT} solvers",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "193:1--193:25",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428261",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428261",
  abstract =     "We propose type-aware operator mutation, a simple, but
                 unusually effective approach for testing SMT solvers.
                 The key idea is to mutate operators of conforming types
                 within the seed formulas to generate well-typed mutant
                 formulas. These mutant formulas \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "193",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Jagadeesan:2020:PPS,
  author =       "Radha Jagadeesan and Alan Jeffrey and James Riely",
  title =        "Pomsets with preconditions: a simple model of relaxed
                 memory",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "194:1--194:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428262",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428262",
  abstract =     "Relaxed memory models must simultaneously achieve
                 efficient implementability and thread-compositional
                 reasoning. Is that why they have become so complicated?
                 We argue that the answer is no: It is possible to
                 achieve these goals by combining an idea from
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "194",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Grosser:2020:FLP,
  author =       "Tobias Grosser and Theodoros Theodoridis and
                 Maximilian Falkenstein and Arjun Pitchanathan and
                 Michael Kruse and Manuel Rigger and Zhendong Su and
                 Torsten Hoefler",
  title =        "Fast linear programming through transprecision
                 computing on small and sparse data",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "195:1--195:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428263",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428263",
  abstract =     "A plethora of program analysis and optimization
                 techniques rely on linear programming at their heart.
                 However, such techniques are often considered too slow
                 for production use. While today's best solvers are
                 optimized for complex problems with thousands
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "195",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Livinskii:2020:RTC,
  author =       "Vsevolod Livinskii and Dmitry Babokin and John
                 Regehr",
  title =        "Random testing for {C} and {C++} compilers with
                 {YARPGen}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "196:1--196:25",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428264",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428264",
  abstract =     "Compilers should not crash and they should not
                 miscompile applications. Random testing is an effective
                 method for finding compiler bugs that have escaped
                 other kinds of testing. This paper presents Yet Another
                 Random Program Generator (YARPGen), a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "196",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wang:2020:CVS,
  author =       "Yuting Wang and Xiangzhe Xu and Pierre Wilke and Zhong
                 Shao",
  title =        "{CompCertELF}: verified separate compilation of {C}
                 programs into {ELF} object files",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "197:1--197:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428265",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428265",
  abstract =     "We present CompCertELF, the first extension to
                 CompCert that supports verified compilation from C
                 programs all the way to a standard binary file format,
                 i.e., the ELF object format. Previous work on
                 Stack-Aware CompCert provides a verified compilation
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "197",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sang:2020:SSN,
  author =       "Bo Sang and Patrick Eugster and Gustavo Petri and
                 Srivatsan Ravi and Pierre-Louis Roman",
  title =        "Scalable and serializable networked multi-actor
                 programming",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "198:1--198:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428266",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428266",
  abstract =     "A major challenge in writing applications that execute
                 across hosts, such as distributed online services, is
                 to reconcile (a) parallelism (i.e., allowing components
                 to execute independently on disjoint tasks), and
                 (b)cooperation (i.e., allowing \ldots{})",
  acknowledgement = ack-nhfb,
  articleno =    "198",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{He:2020:TAE,
  author =       "Fei He and Jitao Han",
  title =        "Termination analysis for evolving programs: an
                 incremental approach by reusing certified modules",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "199:1--199:27",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428267",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428267",
  abstract =     "Research on program termination has a long tradition.
                 However, most of the existing techniques target a
                 single program only. We propose in this paper an
                 incremental termination analysis approach by reusing
                 certified modules across different program \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "199",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Atkinson:2020:PRP,
  author =       "Eric Atkinson and Michael Carbin",
  title =        "Programming and reasoning with partial observability",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "200:1--200:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428268",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428268",
  abstract =     "Computer programs are increasingly being deployed in
                 partially-observable environments. A partially
                 observable environment is an environment whose state is
                 not completely visible to the program, but from which
                 the program receives partial observations. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "200",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gavran:2020:IST,
  author =       "Ivan Gavran and Eva Darulova and Rupak Majumdar",
  title =        "Interactive synthesis of temporal specifications from
                 examples and natural language",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "201:1--201:26",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428269",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428269",
  abstract =     "Motivated by applications in robotics, we consider the
                 task of synthesizing linear temporal logic (LTL)
                 specifications based on examples and natural language
                 descriptions. While LTL is a flexible, expressive, and
                 unambiguous language to describe robotic \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "201",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lam:2020:LSL,
  author =       "Wing Lam and Stefan Winter and Anjiang Wei and Tao Xie
                 and Darko Marinov and Jonathan Bell",
  title =        "A large-scale longitudinal study of flaky tests",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "202:1--202:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428270",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428270",
  abstract =     "Flaky tests are tests that can non-deterministically
                 pass or fail for the same code version. These tests
                 undermine regression testing efficiency, because
                 developers cannot easily identify whether a test fails
                 due to their recent changes or due to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "202",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhang:2020:DPS,
  author =       "Hailong Zhang and Yu Hao and Sufian Latif and Raef
                 Bassily and Atanas Rountev",
  title =        "Differentially-private software frequency profiling
                 under linear constraints",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "203:1--203:24",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428271",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428271",
  abstract =     "Differential privacy has emerged as a leading
                 theoretical framework for privacy-preserving data
                 gathering and analysis. It allows meaningful statistics
                 to be collected for a population without revealing
                 ``too much'' information about any individual
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "203",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gomez-Londono:2020:DYS,
  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 =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "204:1--204:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428272",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428272",
  abstract =     "Garbage collectors relieve the programmer from manual
                 memory management, but lead to compiler-generated
                 machine code that can behave differently (e.g.
                 out-of-memory errors) from the source code. To ensure
                 that the generated code behaves exactly like the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "204",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{James:2020:DFS,
  author =       "Michael B. James and Zheng Guo and Ziteng Wang and
                 Shivani Doshi and Hila Peleg and Ranjit Jhala and Nadia
                 Polikarpova",
  title =        "Digging for fold: synthesis-aided {API} discovery for
                 {Haskell}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "205:1--205:27",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428273",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428273",
  abstract =     "We present Hoogle+, a web-based API discovery tool for
                 Haskell. A Hoogle+ user can specify a programming task
                 using either a type, a set of input-output tests, or
                 both. Given a specification, the tool returns a list of
                 matching programs composed from \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "205",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Marntirosian:2020:RIS,
  author =       "Koar Marntirosian and Tom Schrijvers and Bruno C. d.
                 S. Oliveira and Georgios Karachalias",
  title =        "Resolution as intersection subtyping via Modus
                 Ponens",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "206:1--206:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428274",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428274",
  abstract =     "Resolution and subtyping are two common mechanisms in
                 programming languages. Resolution is used by features
                 such as type classes or Scala-style implicits to
                 synthesize values automatically from contextual type
                 information. Subtyping is commonly used to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "206",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Belyakova:2020:WAJ,
  author =       "Julia Belyakova and Benjamin Chung and Jack Gelinas
                 and Jameson Nash and Ross Tate and Jan Vitek",
  title =        "World age in {Julia}: optimizing method dispatch in
                 the presence of eval",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "207:1--207:26",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428275",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/julia.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428275",
  abstract =     "Dynamic programming languages face semantic and
                 performance challenges in the presence of features,
                 such as eval, that can inject new code into a running
                 program. The Julia programming language introduces the
                 novel concept of world age to insulate optimized code
                 from one of the most disruptive side-effects of eval:
                 changes to the definition of an existing function. This
                 paper provides the first formal semantics of world age
                 in a core calculus named juliette, and shows how world
                 age enables compiler optimizations, such as inlining,
                 in the presence of eval. While Julia also provides
                 programmers with the means to bypass world age, we
                 found that this mechanism is not used extensively: a
                 static analysis of over 4,000 registered Julia packages
                 shows that only 4--9\% of packages bypass world
                 age. This suggests that Julia's semantics aligns with
                 programmer expectations.",
  acknowledgement = ack-nhfb,
  articleno =    "207",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kabir:2020:DCO,
  author =       "Ifaz Kabir and Yufeng Li and Ondrej Lhot{\'a}k",
  title =        "{$ \iota $DOT}: a {DOT} calculus with object
                 initialization",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "208:1--208:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428276",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428276",
  abstract =     "The Dependent Object Types (DOT) calculus serves as a
                 foundation of the Scala programming language, with a
                 machine-verified soundness proof. However, Scala's type
                 system has been shown to be unsound due to null
                 references, which are used as default \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "208",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Albert:2020:TCS,
  author =       "Elvira Albert and Shelly Grossman and Noam Rinetzky
                 and Clara Rodr{\'{\i}}guez-N{\'u}{\~n}ez and Albert
                 Rubio and Mooly Sagiv",
  title =        "Taming callbacks for smart contract modularity",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "209:1--209:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428277",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428277",
  abstract =     "Callbacks are an effective programming discipline for
                 implementing event-driven programming, especially in
                 environments like Ethereum which forbid shared global
                 state and concurrency. Callbacks allow a callee to
                 delegate the execution back to the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "209",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Dragoi:2020:TCI,
  author =       "Cezara Dragoi and Constantin Enea and Burcu
                 Kulahcioglu Ozkan and Rupak Majumdar and Filip Niksic",
  title =        "Testing consensus implementations using communication
                 closure",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "210:1--210:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428278",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428278",
  abstract =     "Large scale production distributed systems are
                 difficult to design and test. Correctness must be
                 ensured when processes run asynchronously, at arbitrary
                 rates relative to each other, and in the presence of
                 failures, e.g., process crashes or message \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "210",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Rigger:2020:FBD,
  author =       "Manuel Rigger and Zhendong Su",
  title =        "Finding bugs in database systems via query
                 partitioning",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "211:1--211:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428279",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428279",
  abstract =     "Logic bugs in Database Management Systems (DBMSs) are
                 bugs that cause an incorrect result for a given query,
                 for example, by omitting a row that should be fetched.
                 These bugs are critical, since they are likely to go
                 unnoticed by users. We propose Query \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "211",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gulwani:2020:SIT,
  author =       "Sumit Gulwani and Vu Le and Arjun Radhakrishna and
                 Ivan Radicek and Mohammad Raza",
  title =        "Structure interpretation of text formats",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "212:1--212:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428280",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428280",
  abstract =     "Data repositories often consist of text files in a
                 wide variety of standard formats, ad-hoc formats, as
                 well as mixtures of formats where data in one format is
                 embedded into a different format. It is therefore a
                 significant challenge to parse these \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "212",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Dragoi:2020:PES,
  author =       "Cezara Dragoi and Josef Widder and Damien Zufferey",
  title =        "Programming at the edge of synchrony",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "213:1--213:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428281",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428281",
  abstract =     "Synchronization primitives for fault-tolerant
                 distributed systems that ensure an effective and
                 efficient cooperation among processes are an important
                 challenge in the programming languages community. We
                 present a new programming abstraction, ReSync, for
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "213",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bagherzadeh:2020:ACB,
  author =       "Mehdi Bagherzadeh and Nicholas Fireman and Anas
                 Shawesh and Raffi Khatchadourian",
  title =        "Actor concurrency bugs: a comprehensive study on
                 symptoms, root causes, {API} usages, and differences",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "214:1--214:32",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428282",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428282",
  abstract =     "Actor concurrency is becoming increasingly important
                 in the development of real-world software systems.
                 Although actor concurrency may be less susceptible to
                 some multithreaded concurrency bugs, such as low-level
                 data races and deadlocks, it comes with \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "214",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Brody:2020:SMC,
  author =       "Shaked Brody and Uri Alon and Eran Yahav",
  title =        "A structural model for contextual code changes",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "215:1--215:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428283",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428283",
  abstract =     "We address the problem of predicting edit completions
                 based on a learned model that was trained on past
                 edits. Given a code snippet that is partially edited,
                 our goal is to predict a completion of the edit for the
                 rest of the snippet. We refer to this \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "215",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Liu:2020:VRD,
  author =       "Yiyun Liu and James Parker and Patrick Redmond and
                 Lindsey Kuper and Michael Hicks and Niki Vazou",
  title =        "Verifying replicated data types with typeclass
                 refinements in {Liquid Haskell}",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "216:1--216:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428284",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428284",
  abstract =     "This paper presents an extension to Liquid Haskell
                 that facilitates stating and semi-automatically proving
                 properties of typeclasses. Liquid Haskell augments
                 Haskell with refinement types -our work allows such
                 types to be attached to typeclass method \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "216",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Nie:2020:UEI,
  author =       "Pengyu Nie and Marinela Parovic and Zhiqiang Zang and
                 Sarfraz Khurshid and Aleksandar Milicevic and Milos
                 Gligoric",
  title =        "Unifying execution of imperative generators and
                 declarative specifications",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "217:1--217:26",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428285",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428285",
  abstract =     "We present Deuterium---a framework for implementing
                 Java methods as executable contracts. Deuterium
                 introduces a novel, type-safe way to write method
                 contracts entirely in Java, as a combination of
                 imperative generators and declarative specifications
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "217",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Turonova:2020:RMC,
  author =       "Lenka Turo{\v{n}}ov{\'a} and Luk{\'a}{\v{s}}
                 Hol{\'{\i}}k and Ond{\v{r}}ej Leng{\'a}l and Olli
                 Saarikivi and Margus Veanes and Tom{\'a}{\v{s}}
                 Vojnar",
  title =        "Regex matching with counting-set automata",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "218:1--218:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428286",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/string-matching.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428286",
  abstract =     "We propose a solution to the problem of efficient
                 matching regular expressions (regexes) with bounded
                 repetition, such as (ab){1,100}, using deterministic
                 automata. For this, we introduce novel counting-set
                 automata (CsAs), automata with registers that
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "218",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gao:2020:FDS,
  author =       "Xiang Gao and Shraddha Barke and Arjun Radhakrishna
                 and Gustavo Soares and Sumit Gulwani and Alan Leung and
                 Nachiappan Nagappan and Ashish Tiwari",
  title =        "Feedback-driven semi-supervised synthesis of program
                 transformations",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "219:1--219:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428287",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428287",
  abstract =     "While editing code, it is common for developers to
                 make multiple related repeated edits that are all
                 instances of a more general program transformation.
                 Since this process can be tedious and error-prone, we
                 study the problem of automatically learning \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "219",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Fluckiger:2020:CDF,
  author =       "Olivier Fl{\"u}ckiger and Guido Chari and Ming-Ho Yee
                 and Jan Jecmen and Jakob Hain and Jan Vitek",
  title =        "Contextual dispatch for function specialization",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "220:1--220:24",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428288",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428288",
  abstract =     "In order to generate efficient code, dynamic language
                 compilers often need information, such as dynamic
                 types, not readily available in the program source.
                 Leveraging a mixture of static and dynamic information,
                 these compilers speculate on the missing \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "220",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gupta:2020:CGC,
  author =       "Shubhani Gupta and Abhishek Rose and Sorav Bansal",
  title =        "Counterexample-guided correlation algorithm for
                 translation validation",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "221:1--221:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428289",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428289",
  abstract =     "Automatic translation validation across the
                 unoptimized intermediate representation (IR) of the
                 original source code and the optimized executable
                 assembly code is a desirable capability, and has the
                 potential to compete with existing approaches to
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "221",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Andersen:2020:AIV,
  author =       "Leif Andersen and Michael Ballantyne and Matthias
                 Felleisen",
  title =        "Adding interactive visual syntax to textual code",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "222:1--222:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428290",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428290",
  abstract =     "Many programming problems call for turning geometrical
                 thoughts into code: tables, hierarchical structures,
                 nests of objects, trees, forests, graphs, and so on.
                 Linear text does not do justice to such thoughts. But,
                 it has been the dominant programming \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "222",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Zhou:2020:RIR,
  author =       "Yaoda Zhou and Bruno C. d. S. Oliveira and Jinxu
                 Zhao",
  title =        "Revisiting iso-recursive subtyping",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "223:1--223:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428291",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428291",
  abstract =     "The Amber rules are well-known and widely used for
                 subtyping iso-recursive types. They were first briefly
                 and informally introduced in 1985 by Cardelli in a
                 manuscript describing the Amber language. Despite their
                 use over many years, important aspects \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "223",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ji:2020:GDP,
  author =       "Ruyi Ji and Yican Sun and Yingfei Xiong and Zhenjiang
                 Hu",
  title =        "Guiding dynamic programming via structural probability
                 for accelerating programming by example",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "224:1--224:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428292",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428292",
  abstract =     "Programming by example (PBE) is an important
                 subproblem of program synthesis, and PBE techniques
                 have been applied to many domains. Though many
                 techniques for accelerating PBE systems have been
                 explored, the scalability remains one of the main
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "224",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{David:2020:NRE,
  author =       "Yaniv David and Uri Alon and Eran Yahav",
  title =        "Neural reverse engineering of stripped binaries using
                 augmented control flow graphs",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "225:1--225:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428293",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428293",
  abstract =     "We address the problem of reverse engineering of
                 stripped executables, which contain no debug
                 information. This is a challenging problem because of
                 the low amount of syntactic information available in
                 stripped executables, and the diverse assembly code
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "225",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kirkham:2020:FEM,
  author =       "Jake Kirkham and Tyler Sorensen and Esin Tureci and
                 Margaret Martonosi",
  title =        "Foundations of empirical memory consistency testing",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "226:1--226:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428294",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428294",
  abstract =     "Modern memory consistency models are complex, and it
                 is difficult to reason about the relaxed behaviors that
                 current systems allow. Programming languages, such as C
                 and OpenCL, offer a memory model interface that
                 developers can use to safely write \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "226",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Barke:2020:JTL,
  author =       "Shraddha Barke and Hila Peleg and Nadia Polikarpova",
  title =        "Just-in-time learning for bottom-up enumerative
                 synthesis",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "227:1--227:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428295",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428295",
  abstract =     "A key challenge in program synthesis is the
                 astronomical size of the search space the synthesizer
                 has to explore. In response to this challenge, recent
                 work proposed to guide synthesis using learned
                 probabilistic models. Obtaining such a model, however,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "227",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Wise:2020:GVR,
  author =       "Jenna Wise and Johannes Bader and Cameron Wong and
                 Jonathan Aldrich and {\'E}ric Tanter and Joshua
                 Sunshine",
  title =        "Gradual verification of recursive heap data
                 structures",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "228:1--228:28",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428296",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428296",
  abstract =     "Current static verification techniques do not provide
                 good support for incrementality, making it difficult
                 for developers to focus on specifying and verifying the
                 properties and components that are most important.
                 Dynamic verification approaches support \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "228",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ballantyne:2020:MDS,
  author =       "Michael Ballantyne and Alexis King and Matthias
                 Felleisen",
  title =        "Macros for domain-specific languages",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "229:1--229:29",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428297",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428297",
  abstract =     "Macros provide a powerful means of extending
                 languages. They have proven useful in both
                 general-purpose and domain-specific programming
                 contexts. This paper presents an architecture for
                 implementing macro-extensible DSLs on top of
                 macro-extensible host \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "229",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mukherjee:2020:LBC,
  author =       "Suvam Mukherjee and Pantazis Deligiannis and Arpita
                 Biswas and Akash Lal",
  title =        "Learning-based controlled concurrency testing",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "230:1--230:31",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428298",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428298",
  abstract =     "Concurrency bugs are notoriously hard to detect and
                 reproduce. Controlled concurrency testing (CCT)
                 techniques aim to offer a solution, where a scheduler
                 explores the space of possible interleavings of a
                 concurrent program looking for bugs. Since the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "230",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{First:2020:TSA,
  author =       "Emily First and Yuriy Brun and Arjun Guha",
  title =        "{TacTok}: semantics-aware proof synthesis",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "231:1--231:31",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428299",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428299",
  abstract =     "Formally verifying software correctness is a highly
                 manual process. However, because verification proof
                 scripts often share structure, it is possible to learn
                 from existing proof scripts to fully automate some
                 formal verification. The goal of this paper \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "231",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ghosh:2020:KLP,
  author =       "Ritwika Ghosh and Chiao Hsieh and Sasa Misailovic and
                 Sayan Mitra",
  title =        "{Koord}: a language for programming and verifying
                 distributed robotics application",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "232:1--232:30",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428300",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428300",
  abstract =     "A robot's code needs to sense the environment, control
                 the hardware, and communicate with other robots.
                 Current programming languages do not provide suitable
                 abstractions that are independent of hardware
                 platforms. Currently, developing robot \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "232",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sui:2020:FVF,
  author =       "Yulei Sui and Xiao Cheng and Guanqin Zhang and Haoyu
                 Wang",
  title =        "{Flow2Vec}: value-flow-based precise code embedding",
  journal =      j-PACMPL,
  volume =       "4",
  number =       "OOPSLA",
  pages =        "233:1--233:27",
  month =        nov,
  year =         "2020",
  DOI =          "https://doi.org/10.1145/3428301",
  bibdate =      "Tue Mar 30 08:10:50 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3428301",
  abstract =     "Code embedding, as an emerging paradigm for source
                 code analysis, has attracted much attention over the
                 past few years. It aims to represent code semantics
                 through distributed vector representations, which can
                 be used to support a variety of program \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "233",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kuperberg:2021:CPS,
  author =       "Denis Kuperberg and Laureline Pinault and Damien
                 Pous",
  title =        "Cyclic proofs, system t, and the power of
                 contraction",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "1:1--1:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434282",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434282",
  abstract =     "We study a cyclic proof system C over regular
                 expression types, inspired by linear logic and
                 non-wellfounded proof theory. Proofs in C can be seen
                 as strongly typed goto programs. We show that they
                 denote computable total functions and we analyse the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Bahr:2021:DFL,
  author =       "Patrick Bahr and Christian Uldal Graulund and Rasmus
                 Ejlers M{\o}gelberg",
  title =        "Diamonds are not forever: liveness in reactive
                 programming with guarded recursion",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "2:1--2:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434283",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434283",
  abstract =     "When designing languages for functional reactive
                 programming (FRP) the main challenge is to provide the
                 user with a simple, flexible interface for writing
                 programs on a high level of abstraction while ensuring
                 that all programs can be implemented \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sherman:2021:CSD,
  author =       "Benjamin Sherman and Jesse Michel and Michael
                 Carbin",
  title =        "$ \lambda_s $: computable semantics for differentiable
                 programming with higher-order functions and datatypes",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "3:1--3:31",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434284",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434284",
  abstract =     "Deep learning is moving towards increasingly
                 sophisticated optimization objectives that employ
                 higher-order functions, such as integration, continuous
                 optimization, and root-finding. Since differentiable
                 programming frameworks such as PyTorch and \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Margalit:2021:VOR,
  author =       "Roy Margalit and Ori Lahav",
  title =        "Verifying observational robustness against a
                 {C11}-style memory model",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "4:1--4:33",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434285",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434285",
  abstract =     "We study the problem of verifying the robustness of
                 concurrent programs against a C11-style memory model
                 that includes relaxed accesses and release/acquire
                 accesses and fences, and show that this verification
                 problem can be reduced to a standard \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Farka:2021:AAC,
  author =       "Franti{\v{s}}ek Farka and Aleksandar Nanevski and
                 Anindya Banerjee and Germ{\'a}n Andr{\'e}s Delbianco
                 and Ignacio F{\'a}bregas",
  title =        "On algebraic abstractions for concurrent separation
                 logics",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "5:1--5:32",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434286",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434286",
  abstract =     "Concurrent separation logic is distinguished by
                 transfer of state ownership upon parallel composition
                 and framing. The algebraic structure that underpins
                 ownership transfer is that of partial commutative
                 monoids (PCMs). Extant research considers \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Georges:2021:EPL,
  author =       "A{\"\i}na Linn Georges and Arma{\"e}l Gu{\'e}neau and
                 Thomas {Van Strydonck} and Amin Timany and Alix Trieu
                 and Sander Huyghebaert and Dominique Devriese and Lars
                 Birkedal",
  title =        "Efficient and provable local capability revocation
                 using uninitialized capabilities",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "6:1--6:30",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434287",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434287",
  abstract =     "Capability machines are a special form of CPUs that
                 offer fine-grained privilege separation using a form of
                 authority-carrying values known as capabilities. The
                 CHERI capability machine offers local capabilities,
                 which could be used as a cheap but \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Jacobs:2021:FAS,
  author =       "Koen Jacobs and Amin Timany and Dominique Devriese",
  title =        "Fully abstract from static to gradual",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "7:1--7:30",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434288",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434288",
  abstract =     "What is a good gradual language? Siek et al. have
                 previously proposed the refined criteria, a set of
                 formal ideas that characterize a range of guarantees
                 typically expected from a gradual language. While these
                 go a long way, they are mostly focused on \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Barthe:2021:DAD,
  author =       "Gilles Barthe and Rohit Chadha and Paul Krogmeier and
                 A. Prasad Sistla and Mahesh Viswanathan",
  title =        "Deciding accuracy of differential privacy schemes",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "8:1--8:30",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434289",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434289",
  abstract =     "Differential privacy is a mathematical framework for
                 developing statistical computations with provable
                 guarantees of privacy and accuracy. In contrast to the
                 privacy component of differential privacy, which has a
                 clear mathematical and intuitive meaning,. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Chen:2021:CIC,
  author =       "Chao-Hong Chen and Amr Sabry",
  title =        "A computational interpretation of compact closed
                 categories: reversible programming with negative and
                 fractional types",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "9:1--9:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434290",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434290",
  abstract =     "Compact closed categories include objects representing
                 higher-order functions and are well-established as
                 models of linear logic, concurrency, and quantum
                 computing. We show that it is possible to construct
                 such compact closed categories for \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "9",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gregersen:2021:MLR,
  author =       "Simon Oddershede Gregersen and Johan Bay and Amin
                 Timany and Lars Birkedal",
  title =        "Mechanized logical relations for
                 termination-insensitive noninterference",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "10:1--10:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434291",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434291",
  abstract =     "We present an expressive information-flow control type
                 system with recursive types, existential types, label
                 polymorphism, and impredicative type polymorphism for a
                 higher-order programming language with higher-order
                 state. We give a novel semantic \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "10",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Sabok:2021:PPS,
  author =       "Marcin Sabok and Sam Staton and Dario Stein and
                 Michael Wolman",
  title =        "Probabilistic programming semantics for name
                 generation",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "11:1--11:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434292",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434292",
  abstract =     "We make a formal analogy between random sampling and
                 fresh name generation. We show that quasi-Borel spaces,
                 a model for probabilistic programming, can soundly
                 interpret the \nu -calculus, a calculus for name
                 generation. Moreover, we prove that this \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "11",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Angiuli:2021:IRI,
  author =       "Carlo Angiuli and Evan Cavallo and Anders M{\"o}rtberg
                 and Max Zeuner",
  title =        "Internalizing representation independence with
                 univalence",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "12:1--12:30",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434293",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434293",
  abstract =     "In their usual form, representation independence
                 metatheorems provide an external guarantee that two
                 implementations of an abstract interface are
                 interchangeable when they are related by an
                 operation-preserving correspondence. If our programming
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "12",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Spies:2021:TSI,
  author =       "Simon Spies and Neel Krishnaswami and Derek Dreyer",
  title =        "Transfinite step-indexing for termination",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "13:1--13:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434294",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434294",
  abstract =     "Step-indexed logical relations are an extremely useful
                 technique for building operational-semantics-based
                 models and program logics for realistic, richly-typed
                 programming languages. They have proven to be
                 indispensable for modeling features like higher-.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "13",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Benedikt:2021:GCT,
  author =       "Michael Benedikt and Pierre Pradic",
  title =        "Generating collection transformations from proofs",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "14:1--14:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434295",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434295",
  abstract =     "Nested relations, built up from atomic types via
                 product and set types, form a rich data model. Over the
                 last decades the nested relational calculus, NRC, has
                 emerged as a standard language for defining
                 transformations on nested collections. NRC is a
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "14",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Feldman:2021:LBI,
  author =       "Yotam M. Y. Feldman and Mooly Sagiv and Sharon Shoham
                 and James R. Wilcox",
  title =        "Learning the boundary of inductive invariants",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "15:1--15:30",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434296",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434296",
  abstract =     "We study the complexity of invariant inference and its
                 connections to exact concept learning. We define a
                 condition on invariants and their geometry, called the
                 fence condition, which permits applying theoretical
                 results from exact concept learning to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "15",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ghilezan:2021:PSA,
  author =       "Silvia Ghilezan and Jovanka Pantovi{\'c} and Ivan
                 Proki{\'c} and Alceste Scalas and Nobuko Yoshida",
  title =        "Precise subtyping for asynchronous multiparty
                 sessions",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "16:1--16:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434297",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434297",
  abstract =     "Session subtyping is a cornerstone of refinement of
                 communicating processes: a process implementing a
                 session type (i.e., a communication protocol) T can be
                 safely used whenever a process implementing one of its
                 supertypes T ' is expected, in any context,. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "16",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ferles:2021:VCU,
  author =       "Kostas Ferles and Jon Stephens and Isil Dillig",
  title =        "Verifying correct usage of context-free {API}
                 protocols",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "17:1--17:30",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434298",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434298",
  abstract =     "Several real-world libraries (e.g., reentrant locks,
                 GUI frameworks, serialization libraries) require their
                 clients to use the provided API in a manner that
                 conforms to a context-free specification. Motivated by
                 this observation, this paper describes a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "17",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Arora:2021:PSE,
  author =       "Jatin Arora and Sam Westrick and Umut A. Acar",
  title =        "Provably space-efficient parallel functional
                 programming",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "18:1--18:33",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434299",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434299",
  abstract =     "Because of its many desirable properties, such as its
                 ability to control effects and thus potentially
                 disastrous race conditions, functional programming
                 offers a viable approach to programming modern
                 multicore computers. Over the past decade several
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "18",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Pavlinovic:2021:DFR,
  author =       "Zvonimir Pavlinovic and Yusen Su and Thomas Wies",
  title =        "Data flow refinement type inference",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "19:1--19:31",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434300",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434300",
  abstract =     "Refinement types enable lightweight verification of
                 functional programs. Algorithms for statically
                 inferring refinement types typically work by reduction
                 to solving systems of constrained Horn clauses
                 extracted from typing derivations. An example is
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "19",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Yang:2021:SDR,
  author =       "Cambridge Yang and Eric Atkinson and Michael Carbin",
  title =        "Simplifying dependent reductions in the polyhedral
                 model",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "20:1--20:33",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434301",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434301",
  abstract =     "A Reduction --- an accumulation over a set of values,
                 using an associative and commutative operator --- is a
                 common computation in many numerical computations,
                 including scientific computations, machine learning,
                 computer vision, and financial analytics. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "20",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Patrignani:2021:SER,
  author =       "Marco Patrignani and Eric Mark Martin and Dominique
                 Devriese",
  title =        "On the semantic expressiveness of recursive types",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "21:1--21:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434302",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434302",
  abstract =     "Recursive types extend the simply-typed lambda
                 calculus (STLC) with the additional expressive power to
                 enable diverging computation and to encode recursive
                 data-types (e.g., lists). Two formulations of recursive
                 types exist: iso-recursive and equi-. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "21",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Rouvoet:2021:ITC,
  author =       "Arjen Rouvoet and Robbert Krebbers and Eelco Visser",
  title =        "Intrinsically typed compilation with nameless labels",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "22:1--22:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434303",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434303",
  abstract =     "To avoid compilation errors it is desirable to verify
                 that a compiler is type correct -i.e., given well-typed
                 source code, it always outputs well-typed target code.
                 This can be done intrinsically by implementing it as a
                 function in a dependently typed \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "22",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Willsey:2021:EFE,
  author =       "Max Willsey and Chandrakana Nandi and Yisu Remy Wang
                 and Oliver Flatt and Zachary Tatlock and Pavel
                 Panchekha",
  title =        "egg: Fast and extensible equality saturation",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "23:1--23:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434304",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434304",
  abstract =     "An e-graph efficiently represents a congruence
                 relation over many expressions. Although they were
                 originally developed in the late 1970s for use in
                 automated theorem provers, a more recent technique
                 known as equality saturation repurposes e-graphs to
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "23",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Ahman:2021:AE,
  author =       "Danel Ahman and Matija Pretnar",
  title =        "Asynchronous effects",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "24:1--24:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434305",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434305",
  abstract =     "We explore asynchronous programming with algebraic
                 effects. We complement their conventional synchronous
                 treatment by showing how to naturally also accommodate
                 asynchrony within them, namely, by decoupling the
                 execution of operation calls into \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "24",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Muller:2021:MAE,
  author =       "Stefan K. Muller and Jan Hoffmann",
  title =        "Modeling and analyzing evaluation cost of {CUDA}
                 kernels",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "25:1--25:31",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434306",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/pvm.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434306",
  abstract =     "General-purpose programming on GPUs (GPGPU) is
                 becoming increasingly in vogue as applications such as
                 machine learning and scientific computing demand high
                 throughput in vector-parallel applications. NVIDIA's
                 CUDA toolkit seeks to make GPGPU programming \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "25",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Silver:2021:DMF,
  author =       "Lucas Silver and Steve Zdancewic",
  title =        "{Dijkstra} monads forever: termination-sensitive
                 specifications for interaction trees",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "26:1--26:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434307",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434307",
  abstract =     "This paper extends the Dijkstra monad framework,
                 designed for writing specifications over effectful
                 programs using monadic effects, to handle termination
                 sensitive specifications over interactive programs. We
                 achieve this by introducing base \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "26",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Rajani:2021:UTT,
  author =       "Vineet Rajani and Marco Gaboardi and Deepak Garg and
                 Jan Hoffmann",
  title =        "A unifying type-theory for higher-order (amortized)
                 cost analysis",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "27:1--27:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434308",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434308",
  abstract =     "This paper presents \lambda -amor, a new
                 type-theoretic framework for amortized cost analysis of
                 higher-order functional programs and shows that
                 existing type systems for cost analysis can be embedded
                 in it. \lambda -amor introduces a new modal type for
                 representing \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "27",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mazza:2021:ADP,
  author =       "Damiano Mazza and Michele Pagani",
  title =        "Automatic differentiation in {PCF}",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "28:1--28:27",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434309",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434309",
  abstract =     "We study the correctness of automatic differentiation
                 (AD) in the context of a higher-order, Turing-complete
                 language (PCF with real numbers), both in forward and
                 reverse mode. Our main result is that, under mild
                 hypotheses on the primitive functions \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "28",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lim:2021:AGC,
  author =       "Jay P. Lim and Mridul Aanjaneya and John Gustafson and
                 Santosh Nagarakatte",
  title =        "An approach to generate correctly rounded math
                 libraries for new floating point variants",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "29:1--29:30",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434310",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434310",
  abstract =     "Given the importance of floating point (FP)
                 performance in numerous domains, several new variants
                 of FP and its alternatives have been proposed (e.g.,
                 Bfloat16, TensorFloat32, and posits). These
                 representations do not have correctly rounded math
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "29",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kim:2021:SGS,
  author =       "Jinwoo Kim and Qinheping Hu and Loris D'Antoni and
                 Thomas Reps",
  title =        "Semantics-guided synthesis",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "30:1--30:32",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434311",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434311",
  abstract =     "This paper develops a new framework for program
                 synthesis, called semantics-guided synthesis (SemGuS),
                 that allows a user to provide both the syntax and the
                 semantics for the constructs in the language. SemGuS
                 accepts a recursively defined big-step \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "30",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Rosemann:2021:AIS,
  author =       "Julian Rosemann and Simon Moll and Sebastian Hack",
  title =        "An abstract interpretation for {SPMD} divergence on
                 reducible control flow graphs",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "31:1--31:31",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434312",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434312",
  abstract =     "Vectorizing compilers employ divergence analysis to
                 detect at which program point a specific variable is
                 uniform, i.e. has the same value on all SPMD threads
                 that execute this program point. They exploit
                 uniformity to retain branching to counter branch
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "31",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{DalLago:2021:ITP,
  author =       "Ugo {Dal Lago} and Claudia Faggian and Simona Ronchi
                 {Della Rocca}",
  title =        "Intersection types and (positive) almost-sure
                 termination",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "32:1--32:32",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434313",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434313",
  abstract =     "Randomized higher-order computation can be seen as
                 being captured by a \lambda -calculus endowed with a
                 single algebraic operation, namely a construct for
                 binary probabilistic choice. What matters about such
                 computations is the probability of obtaining any
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "32",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{deVilhena:2021:SLE,
  author =       "Paulo Em{\'\i}lio de Vilhena and Fran{\c{c}}ois
                 Pottier",
  title =        "A separation logic for effect handlers",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "33:1--33:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434314",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434314",
  abstract =     "User-defined effects and effect handlers are
                 advertised and advocated as a relatively
                 easy-to-understand and modular approach to delimited
                 control. They offer the ability of suspending and
                 resuming a computation and allow information to be
                 transmitted \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "33",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mathiasen:2021:FGP,
  author =       "Anders Alnor Mathiasen and Andreas Pavlogiannis",
  title =        "The fine-grained and parallel complexity of
                 {Andersen}'s pointer analysis",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "34:1--34:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434315",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434315",
  abstract =     "Pointer analysis is one of the fundamental problems in
                 static program analysis. Given a set of pointers, the
                 task is to produce a useful over-approximation of the
                 memory locations that each pointer may point-to at
                 runtime. The most common formulation is \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "34",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hirsch:2021:GSP,
  author =       "Andrew K. Hirsch and Ethan Cecchetti",
  title =        "Giving semantics to program-counter labels via secure
                 effects",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "35:1--35:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434316",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434316",
  abstract =     "Type systems designed for information-flow control
                 commonly use a program-counter label to track the
                 sensitivity of the context and rule out data leakage
                 arising from effectful computation in a sensitive
                 context. Currently, type-system designers reason
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "35",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Mathur:2021:OPS,
  author =       "Umang Mathur and Andreas Pavlogiannis and Mahesh
                 Viswanathan",
  title =        "Optimal prediction of synchronization-preserving
                 races",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "36:1--36:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434317",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434317",
  abstract =     "Concurrent programs are notoriously hard to write
                 correctly, as scheduling nondeterminism introduces
                 subtle errors that are both hard to detect and to
                 reproduce. The most common concurrency errors are
                 (data) races, which occur when memory-conflicting
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "36",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Hietala:2021:VOQ,
  author =       "Kesha Hietala and Robert Rand and Shih-Han Hung and
                 Xiaodi Wu and Michael Hicks",
  title =        "A verified optimizer for quantum circuits",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "37:1--37:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434318",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434318",
  abstract =     "We present VOQC, the first fully verified optimizer
                 for quantum circuits, written using the Coq proof
                 assistant. Quantum circuits are expressed as programs
                 in a simple, low-level language called SQIR, a simple
                 quantum intermediate representation, which \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "37",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gutsfeld:2021:AFA,
  author =       "Jens Oliver Gutsfeld and Markus M{\"u}ller-Olm and
                 Christoph Ohrem",
  title =        "Automata and fixpoints for asynchronous
                 hyperproperties",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "38:1--38:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434319",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434319",
  abstract =     "Hyperproperties have received increasing attention in
                 the last decade due to their importance e.g. for
                 security analyses. Past approaches have focussed on
                 synchronous analyses, i.e. techniques in which
                 different paths are compared lockstepwise. In this
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "38",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Batz:2021:RCV,
  author =       "Kevin Batz and Benjamin Lucien Kaminski and
                 Joost-Pieter Katoen and Christoph Matheja",
  title =        "Relatively complete verification of probabilistic
                 programs: an expressive language for expectation-based
                 reasoning",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "39:1--39:30",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434320",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434320",
  abstract =     "We study a syntax for specifying quantitative
                 assertions -functions mapping program states to
                 numbers-for probabilistic program verification. We
                 prove that our syntax is expressive in the following
                 sense: Given any probabilistic program C, if a function
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "39",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Courant:2021:VCG,
  author =       "Nathana{\"e}l Courant and Xavier Leroy",
  title =        "Verified code generation for the polyhedral model",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "40:1--40:24",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434321",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434321",
  abstract =     "The polyhedral model is a high-level intermediate
                 representation for loop nests that supports elegantly a
                 great many loop optimizations. In a compiler, after
                 polyhedral loop optimizations have been performed, it
                 is necessary and difficult to regenerate \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "40",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Doenges:2021:PFF,
  author =       "Ryan Doenges and Mina Tahmasbi Arashloo and Santiago
                 Bautista and Alexander Chang and Newton Ni and Samwise
                 Parkinson and Rudy Peterson and Alaia Solko-Breslin and
                 Amanda Xu and Nate Foster",
  title =        "{Petr4}: formal foundations for p4 data planes",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "41:1--41:32",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434322",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434322",
  abstract =     "P4 is a domain-specific language for programming and
                 specifying packet-processing systems. It is based on an
                 elegant design with high-level abstractions like
                 parsers and match-action pipelines that can be compiled
                 to efficient implementations in \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "41",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Gondelman:2021:DCM,
  author =       "L{\'e}on Gondelman and Simon Oddershede Gregersen and
                 Abel Nieto and Amin Timany and Lars Birkedal",
  title =        "Distributed causal memory: modular specification and
                 verification in higher-order distributed separation
                 logic",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "42:1--42:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434323",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434323",
  abstract =     "We present the first specification and verification of
                 an implementation of a causally-consistent distributed
                 database that supports modular verification of full
                 functional correctness properties of clients and
                 servers. We specify and reason about the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "42",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Kokologiannakis:2021:PPS,
  author =       "Michalis Kokologiannakis and Ilya Kaysin and Azalea
                 Raad and Viktor Vafeiadis",
  title =        "{PerSeVerE}: persistency semantics for verification
                 under ext4",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "43:1--43:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434324",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434324",
  abstract =     "Although ubiquitous, modern filesystems have rather
                 complex behaviours that are hardly understood by
                 programmers and lead to severe software bugs such as
                 data corruption. As a first step to ensure correctness
                 of software performing file I/O, we \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "43",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Baumann:2021:CBV,
  author =       "Pascal Baumann and Rupak Majumdar and Ramanathan S.
                 Thinniyam and Georg Zetzsche",
  title =        "Context-bounded verification of liveness properties
                 for multithreaded shared-memory programs",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "44:1--44:31",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434325",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434325",
  abstract =     "We study context-bounded verification of liveness
                 properties of multi-threaded, shared-memory programs,
                 where each thread can spawn additional threads. Our
                 main result shows that context-bounded fair termination
                 is decidable for the model; context-. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "44",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Reynaud:2021:PMS,
  author =       "Alban Reynaud and Gabriel Scherer and Jeremy Yallop",
  title =        "A practical mode system for recursive definitions",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "45:1--45:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434326",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434326",
  abstract =     "In call-by-value languages, some mutually-recursive
                 definitions can be safely evaluated to build recursive
                 functions or cyclic data structures, but some
                 definitions (let rec x = x + 1) contain vicious circles
                 and their evaluation fails at runtime. We \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "45",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Barriere:2021:FVS,
  author =       "Aur{\`e}le Barri{\`e}re and Sandrine Blazy and Olivier
                 Fl{\"u}ckiger and David Pichardie and Jan Vitek",
  title =        "Formally verified speculation and deoptimization in a
                 {JIT} compiler",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "46:1--46:26",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434327",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434327",
  abstract =     "Just-in-time compilers for dynamic languages routinely
                 generate code under assumptions that may be invalidated
                 at run-time, this allows for specialization of program
                 code to the common case in order to avoid unnecessary
                 overheads due to uncommon cases. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "46",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Khyzha:2021:TXT,
  author =       "Artem Khyzha and Ori Lahav",
  title =        "Taming {x86-TSO} persistency",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "47:1--47:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434328",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434328",
  abstract =     "We study the formal semantics of non-volatile memory
                 in the x86-TSO architecture. We show that while the
                 explicit persist operations in the recent model of Raad
                 et al. from POPL'20 only enforce order between writes
                 to the non-volatile memory, it is \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "47",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Almagor:2021:DRP,
  author =       "Shaull Almagor and Toghrul Karimov and Edon Kelmendi
                 and Jo{\"e}l Ouaknine and James Worrell",
  title =        "Deciding $ \omega $-regular properties on linear
                 recurrence sequences",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "48:1--48:24",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434329",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434329",
  abstract =     "We consider the problem of deciding $ \omega $-regular
                 properties on infinite traces produced by linear loops.
                 Here we think of a given loop as producing a single
                 infinite trace that encodes information about the signs
                 of program variables at each time step. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "48",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Vassena:2021:AES,
  author =       "Marco Vassena and Craig Disselkoen and Klaus von
                 Gleissenthall and Sunjay Cauligi and Rami G{\"o}khan
                 K{\i}c{\i} and Ranjit Jhala and Dean Tullsen and Deian
                 Stefan",
  title =        "Automatically eliminating speculative leaks from
                 cryptographic code with {Blade}",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "49:1--49:30",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434330",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/cryptography2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434330",
  abstract =     "We introduce Blade, a new approach to automatically
                 and efficiently eliminate speculative leaks from
                 cryptographic code. Blade is built on the insight that
                 to stop leaks via speculative execution, it suffices to
                 cut the dataflow from expressions that \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "49",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Choudhury:2021:GDT,
  author =       "Pritam Choudhury and Harley {Eades III} and Richard A.
                 Eisenberg and Stephanie Weirich",
  title =        "A graded dependent type system with a usage-aware
                 semantics",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "50:1--50:32",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434331",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434331",
  abstract =     "Graded Type Theory provides a mechanism to track and
                 reason about resource usage in type systems. In this
                 paper, we develop GraD, a novel version of such a
                 graded dependent type system that includes functions,
                 tensor products, additive sums, and a unit \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "50",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Accattoli:2021:EI,
  author =       "Beniamino Accattoli and Ugo {Dal Lago} and Gabriele
                 Vanoni",
  title =        "The (in)efficiency of interaction",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "51:1--51:33",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434332",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434332",
  abstract =     "Evaluating higher-order functional programs through
                 abstract machines inspired by the geometry of the
                 interaction is known to induce space efficiencies, the
                 price being time performances often poorer than those
                 obtainable with traditional, environment-. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "51",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Aguirre:2021:PEC,
  author =       "Alejandro Aguirre and Gilles Barthe and Justin Hsu and
                 Benjamin Lucien Kaminski and Joost-Pieter Katoen and
                 Christoph Matheja",
  title =        "A pre-expectation calculus for probabilistic
                 sensitivity",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "52:1--52:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434333",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434333",
  abstract =     "Sensitivity properties describe how changes to the
                 input of a program affect the output, typically by
                 upper bounding the distance between the outputs of two
                 runs by a monotone function of the distance between the
                 corresponding inputs. When programs are \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "52",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Moy:2021:CRS,
  author =       "Cameron Moy and Ph{\'u}c C. Nguy{\~{\^e}}n and Sam
                 Tobin-Hochstadt and David {Van Horn}",
  title =        "Corpse reviver: sound and efficient gradual typing via
                 contract verification",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "53:1--53:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434334",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434334",
  abstract =     "Gradually typed programming languages permit the
                 incremental addition of static types to untyped
                 programs. To remain sound, languages insert run-time
                 checks at the boundaries between typed and untyped
                 code. Unfortunately, performance studies have shown
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "53",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Lee:2021:CTP,
  author =       "Woosuk Lee",
  title =        "Combining the top-down propagation and bottom-up
                 enumeration for inductive program synthesis",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "54:1--54:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434335",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434335",
  abstract =     "We present an effective method for scalable and
                 general-purpose inductive program synthesis. There have
                 been two main approaches for inductive synthesis:
                 enumerative search, which repeatedly enumerates
                 possible candidate programs, and the top-down
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "54",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Jones:2021:IDR,
  author =       "Eddie Jones and Steven Ramsay",
  title =        "Intensional datatype refinement: with application to
                 scalable verification of pattern-match safety",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "55:1--55:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434336",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434336",
  abstract =     "The pattern-match safety problem is to verify that a
                 given functional program will never crash due to
                 non-exhaustive patterns in its function definitions. We
                 present a refinement type system that can be used to
                 solve this problem. The system extends ML-. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "55",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Abdulla:2021:DRU,
  author =       "Parosh Aziz Abdulla and Mohamed Faouzi Atig and Ahmed
                 Bouajjani and K. Narayan Kumar and Prakash Saivasan",
  title =        "Deciding reachability under persistent {x86-TSO}",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "56:1--56:32",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434337",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434337",
  abstract =     "We address the problem of verifying the reachability
                 problem in programs running under the formal model Px86
                 defined recently by Raad et al. in POPL'20 for the
                 persistent Intel x86 architecture. We prove that this
                 problem is decidable. To achieve that, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "56",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{DiLiberti:2021:FSP,
  author =       "Ivan {Di Liberti} and Fosco Loregian and Chad Nester
                 and Pawe{\l} Soboci{\'n}ski",
  title =        "Functorial semantics for partial theories",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "57:1--57:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434338",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434338",
  abstract =     "We provide a Lawvere-style definition for partial
                 theories, extending the classical notion of equational
                 theory by allowing partially defined operations. As in
                 the classical case, our definition is syntactic: we use
                 an appropriate class of string \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "57",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Jacobs:2021:PPP,
  author =       "Jules Jacobs",
  title =        "Paradoxes of probabilistic programming: and how to
                 condition on events of measure zero with infinitesimal
                 probabilities",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "58:1--58:26",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434339",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434339",
  abstract =     "Abstract Probabilistic programming languages allow
                 programmers to write down conditional probability
                 distributions that represent statistical and machine
                 learning models as programs that use observe
                 statements. These programs are run by accumulating
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "58",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Li:2021:CBI,
  author =       "Yuanbo Li and Qirun Zhang and Thomas Reps",
  title =        "On the complexity of bidirected interleaved
                 {Dyck}-reachability",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "59:1--59:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434340",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434340",
  abstract =     "Many program analyses need to reason about pairs of
                 matching actions, such as call/return, lock/unlock, or
                 set-field/get-field. The family of Dyck languages {
                 D$_k$ }, where D$_k$ has k kinds of parenthesis pairs,
                 can be used to model matching actions as \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "59",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Cockx:2021:TRT,
  author =       "Jesper Cockx and Nicolas Tabareau and Th{\'e}o
                 Winterhalter",
  title =        "The taming of the rew: a type theory with
                 computational assumptions",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "60:1--60:29",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434341",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434341",
  abstract =     "Dependently typed programming languages and proof
                 assistants such as Agda and Coq rely on computation to
                 automatically simplify expressions during type
                 checking. To overcome the lack of certain programming
                 primitives or logical principles in those \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "60",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Schwerter:2021:AGT,
  author =       "Felipe Ba{\~n}ados Schwerter and Alison M. Clark and
                 Khurram A. Jafery and Ronald Garcia",
  title =        "Abstracting gradual typing moving forward: precise and
                 space-efficient",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "POPL",
  pages =        "61:1--61:28",
  month =        jan,
  year =         "2021",
  DOI =          "https://doi.org/10.1145/3434342",
  bibdate =      "Tue Mar 30 08:10:58 MDT 2021",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3434342",
  abstract =     "Abstracting Gradual Typing (AGT) is a systematic
                 approach to designing gradually-typed languages.
                 Languages developed using AGT automatically satisfy the
                 formal semantic criteria for gradual languages
                 identified by Siek et al. Nonetheless, vanilla AGT
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "61",
  fjournal =     "Proceedings of the ACM on Programming Languages",
  journal-URL =  "https://pacmpl.acm.org/",
}

@Article{Qian:2021:CSS,
  author =       "Zesen Qian and G. A. Kavvos and Lars Birkedal",
  title =        "Client-server sessions in linear logic",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "62:1--62:31",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473567",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473567",
  abstract =     "We introduce coexponentials, a new set of modalities
                 for Classical Linear Logic. As duals to exponentials,
                 the coexponentials codify a distributed form of the
                 structural rules of weakening and contraction. This
                 makes them a suitable logical device for \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "62",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Krauter:2021:PST,
  author =       "Nicolas Krauter and Patrick Raaf and Peter Braam and
                 Reza Salkhordeh and Sebastian Erdweg and Andr{\'e}
                 Brinkmann",
  title =        "Persistent software transactional memory in
                 {Haskell}",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "63:1--63:29",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473568",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473568",
  abstract =     "Emerging persistent memory in commodity hardware
                 allows byte-granular accesses to persistent state at
                 memory speeds. However, to prevent inconsistent state
                 in persistent memory due to unexpected system failures,
                 different write-semantics are required \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "63",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Eisenberg:2021:ECR,
  author =       "Richard A. Eisenberg and Guillaume Duboc and Stephanie
                 Weirich and Daniel Lee",
  title =        "An existential crisis resolved: type inference for
                 first-class existential types",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "64:1--64:29",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473569",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473569",
  abstract =     "Despite the great success of inferring and programming
                 with universal types, their dual-existential types-are
                 much harder to work with. Existential types are useful
                 in building abstract types, working with indexed types,
                 and providing first-class \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "64",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Handa:2021:OAD,
  author =       "Shivam Handa and Konstantinos Kallas and Nikos
                 Vasilakis and Martin C. Rinard",
  title =        "An order-aware dataflow model for parallel {Unix}
                 pipelines",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "65:1--65:28",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473570",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473570",
  abstract =     "We present a dataflow model for modelling parallel
                 Unix shell pipelines. To accurately capture the
                 semantics of complex Unix pipelines, the dataflow model
                 is order-aware, i.e., the order in which a node in the
                 dataflow graph consumes inputs from \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "65",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Mevel:2021:FVC,
  author =       "Glen M{\'e}vel and Jacques-Henri Jourdan",
  title =        "Formal verification of a concurrent bounded queue in a
                 weak memory model",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "66:1--66:29",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473571",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473571",
  abstract =     "We use Cosmo, a modern concurrent separation logic, to
                 formally specify and verify an implementation of a
                 multiple-producer multiple-consumer concurrent queue in
                 the setting of the Multicore OCaml weak memory model.
                 We view this result as a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "66",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zakowski:2021:MCE,
  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 =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "67:1--67:30",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473572",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473572",
  abstract =     "This paper presents a novel formal semantics,
                 mechanized in Coq, for a large, sequential subset of
                 the LLVM IR. In contrast to previous approaches, which
                 use relationally-specified operational semantics, this
                 new semantics is based on monadic \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "67",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lazarek:2021:HEB,
  author =       "Lukas Lazarek and Ben Greenman and Matthias Felleisen
                 and Christos Dimoulas",
  title =        "How to evaluate blame for gradual types",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "68:1--68:29",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473573",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473573",
  abstract =     "Programming language theoreticians develop blame
                 assignment systems and prove blame theorems for
                 gradually typed programming languages. Practical
                 implementations of gradual typing almost completely
                 ignore the idea of blame assignment. This contrast
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "68",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Stucki:2021:THO,
  author =       "Sandro Stucki and Paolo G. Giarrusso",
  title =        "A theory of higher-order subtyping with type
                 intervals",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "69:1--69:30",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473574",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473574",
  abstract =     "The calculus of Dependent Object Types (DOT) has
                 enabled a more principled and robust implementation of
                 Scala, but its support for type-level computation has
                 proven insufficient. As a remedy, we propose \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "69",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Serrano:2021:JAC,
  author =       "Manuel Serrano",
  title =        "Of {JavaScript AOT} compilation performance",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "70:1--70:30",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473575",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473575",
  abstract =     "The fastest JavaScript production implementations use
                 just-in-time (JIT) compilation and the vast majority of
                 academic publications about implementations of dynamic
                 languages published during the last two decades focus
                 on JIT compilation. This does not \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "70",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Xie:2021:GEP,
  author =       "Ningning Xie and Daan Leijen",
  title =        "Generalized evidence passing for effect handlers:
                 efficient compilation of effect handlers to {C}",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "71:1--71:30",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473576",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473576",
  abstract =     "This paper studies compilation techniques for
                 algebraic effect handlers. In particular, we present a
                 sequence of refinements of algebraic effects, going via
                 multi-prompt delimited control, _generalized evidence
                 passing_, yield bubbling, and finally a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "71",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kidney:2021:AWS,
  author =       "Donnacha Ois{\'\i}n Kidney and Nicolas Wu",
  title =        "Algebras for weighted search",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "72:1--72:30",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473577",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473577",
  abstract =     "Weighted search is an essential component of many
                 fundamental and useful algorithms. Despite this, it is
                 relatively under explored as a computational effect,
                 receiving not nearly as much attention as either depth-
                 or breadth-first search. This paper \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "72",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Yang:2021:RAE,
  author =       "Zhixuan Yang and Nicolas Wu",
  title =        "Reasoning about effect interaction by fusion",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "73:1--73:29",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473578",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473578",
  abstract =     "Effect handlers can be composed by applying them
                 sequentially, each handling some operations and leaving
                 other operations uninterpreted in the syntax tree.
                 However, the semantics of composed handlers can be
                 subtle---it is well known that different \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "73",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Li:2021:DEP,
  author =       "John M. Li and Andrew W. Appel",
  title =        "Deriving efficient program transformations from
                 rewrite rules",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "74:1--74:29",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473579",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473579",
  abstract =     "An efficient optimizing compiler can perform many
                 cascading rewrites in a single pass, using auxiliary
                 data structures such as variable binding maps, delayed
                 substitutions, and occurrence counts. Such optimizers
                 often perform transformations according \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "74",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zyuzin:2021:CMT,
  author =       "Nikita Zyuzin and Aleksandar Nanevski",
  title =        "Contextual modal types for algebraic effects and
                 handlers",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "75:1--75:29",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473580",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473580",
  abstract =     "Programming languages with algebraic effects often
                 track the computations' effects using type-and-effect
                 systems. In this paper, we propose to view an algebraic
                 effect theory of a computation as a variable context;
                 consequently, we propose to track \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "75",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kahn:2021:AAR,
  author =       "David M. Kahn and Jan Hoffmann",
  title =        "Automatic amortized resource analysis with the quantum
                 physicist's method",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "76:1--76:29",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473581",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473581",
  abstract =     "We present a novel method for working with the
                 physicist's method of amortized resource analysis,
                 which we call the quantum physicist's method. These
                 principles allow for more precise analyses of resources
                 that are not monotonically consumed, like \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "76",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Merigoux:2021:PCP,
  author =       "Denis Merigoux and Nicolas Chataing and Jonathan
                 Protzenko",
  title =        "\pkg{Catala}: a programming language for the law",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "77:1--77:29",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473582",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473582",
  abstract =     "Law at large underpins modern society, codifying and
                 governing many aspects of citizens' daily lives.
                 Oftentimes, law is subject to interpretation, debate
                 and challenges throughout various courts and
                 jurisdictions. But in some other areas, law leaves
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "77",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Elliott:2021:SAD,
  author =       "Conal Elliott",
  title =        "Symbolic and automatic differentiation of languages",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "78:1--78:18",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473583",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473583",
  abstract =     "Formal languages are usually defined in terms of set
                 theory. Choosing type theory instead gives us languages
                 as type-level predicates over strings. Applying a
                 language to a string yields a type whose elements are
                 language membership proofs describing \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "78",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Rocha:2021:PTS,
  author =       "Pedro Rocha and Lu{\'\i}s Caires",
  title =        "Propositions-as-types and shared state",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "79:1--79:30",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473584",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473584",
  abstract =     "We develop a principled integration of shared mutable
                 state into a proposition-as-types linear logic
                 interpretation of a session-based concurrent
                 programming language. While the foundation of type
                 systems for the functional core of programming
                 languages \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "79",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Li:2021:RAG,
  author =       "Yao Li and Li-yao Xia and Stephanie Weirich",
  title =        "Reasoning about the garden of forking paths",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "80:1--80:28",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473585",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473585",
  abstract =     "Lazy evaluation is a powerful tool for functional
                 programmers. It enables the concise expression of
                 on-demand computation and a form of compositionality
                 not available under other evaluation strategies.
                 However, the stateful nature of lazy evaluation
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "80",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Birkedal:2021:TFS,
  author =       "Lars Birkedal and Thomas Dinsdale-Young and Arma{\"e}l
                 Gu{\'e}neau and Guilhem Jaber and Kasper Svendsen and
                 Nikos Tzevelekos",
  title =        "Theorems for free from separation logic
                 specifications",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "81:1--81:29",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473586",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473586",
  abstract =     "Separation logic specifications with abstract
                 predicates intuitively enforce a discipline that
                 constrains when and how calls may be made between a
                 client and a library. Thus a separation logic
                 specification of a library intuitively enforces a
                 protocol \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "81",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Pickard:2021:CDT,
  author =       "Mitchell Pickard and Graham Hutton",
  title =        "Calculating dependently-typed compilers (functional
                 pearl)",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "82:1--82:27",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473587",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473587",
  abstract =     "Compilers are difficult to write, and difficult to get
                 right. Bahr and Hutton recently developed a new
                 technique for calculating compilers directly from
                 specifications of their correctness, which ensures that
                 the resulting compilers are correct-by-. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "82",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Houshmand:2021:PGD,
  author =       "Farzin Houshmand and Mohsen Lesani and Keval Vora",
  title =        "\pkg{Grafs}: declarative graph analytics",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "83:1--83:32",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473588",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473588",
  abstract =     "Graph analytics elicits insights from large graphs to
                 inform critical decisions for business, safety and
                 security. Several large-scale graph processing
                 frameworks feature efficient runtime systems; however,
                 they often provide programming models that are
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "83",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Watanabe:2021:CSH,
  author =       "Yasunari Watanabe and Kiran Gopinathan and George
                 P{\^\i}rlea and Nadia Polikarpova and Ilya Sergey",
  title =        "Certifying the synthesis of heap-manipulating
                 programs",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "84:1--84:29",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473589",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473589",
  abstract =     "Automated deductive program synthesis promises to
                 generate executable programs from concise
                 specifications, along with proofs of correctness that
                 can be independently verified using third-party tools.
                 However, an attempt to exercise this promise using
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "84",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Fromherz:2021:PSP,
  author =       "Aymeric Fromherz and Aseem Rastogi and Nikhil Swamy
                 and Sydney Gibson and Guido Mart{\'\i}nez and Denis
                 Merigoux and Tahina Ramananandro",
  title =        "\pkg{Steel}: proof-oriented programming in a
                 dependently typed concurrent separation logic",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "85:1--85:30",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473590",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473590",
  abstract =     "Steel is a language for developing and proving
                 concurrent programs embedded in \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "85",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Paraskevopoulou:2021:COC,
  author =       "Zoe Paraskevopoulou and John M. Li and Andrew W.
                 Appel",
  title =        "Compositional optimizations for {CertiCoq}",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "86:1--86:30",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473591",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473591",
  abstract =     "Compositional compiler verification is a difficult
                 problem that focuses on separate compilation of program
                 components with possibly different verified compilers.
                 Logical relations are widely used in proving
                 correctness of program transformations in \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "86",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Avanzini:2021:CPT,
  author =       "Martin Avanzini and Gilles Barthe and Ugo {Dal Lago}",
  title =        "On continuation-passing transformations and expected
                 cost analysis",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "87:1--87:30",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473592",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473592",
  abstract =     "We define a continuation-passing style (CPS)
                 translation for a typed $\lambda$-calculus with
                 probabilistic choice, unbounded recursion, and a tick
                 operator --- for modeling cost. The target language is
                 a (non-probabilistic) $\lambda$-calculus, enriched with
                 a type of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "87",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Paszke:2021:GPI,
  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 =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "88:1--88:29",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473593",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473593",
  abstract =     "We present a novel programming language design that
                 attempts to combine the clarity and safety of
                 high-level functional languages with the efficiency and
                 parallelism of low-level numerical languages. We treat
                 arrays as eagerly-memoized functions on \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "88",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Huang:2021:DIU,
  author =       "Xuejing Huang and Bruno C. d. S. Oliveira",
  title =        "Distributing intersection and union types with splits
                 and duality (functional pearl)",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "89:1--89:24",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473594",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473594",
  abstract =     "Subtyping with intersection and union types is
                 nowadays common in many programming languages. From the
                 perspective of logic, the subtyping problem is
                 essentially the problem of determining logical
                 entailment: does a logical statement follow from
                 another \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "89",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Giannarakis:2021:PPP,
  author =       "Nick Giannarakis and Alexandra Silva and David
                 Walker",
  title =        "\pkg{ProbNV}: probabilistic verification of network
                 control planes",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "90:1--90:30",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473595",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473595",
  abstract =     "ProbNV is a new framework for probabilistic network
                 control plane verification that strikes a balance
                 between generality and scalability. ProbNV is general
                 enough to encode a wide range of features from the most
                 common protocols (eBGP and OSPF) and yet \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "90",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Koparkar:2021:ETT,
  author =       "Chaitanya Koparkar and Mike Rainey and Michael Vollmer
                 and Milind Kulkarni and Ryan R. Newton",
  title =        "Efficient tree-traversals: reconciling parallelism and
                 dense data representations",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "91:1--91:29",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473596",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473596",
  abstract =     "Recent work showed that compiling functional programs
                 to use dense, serialized memory representations for
                 recursive algebraic datatypes can yield significant
                 constant-factor speedups for sequential programs. But
                 serializing data in a maximally dense \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "91",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Yanovski:2021:PGS,
  author =       "Joshua Yanovski and Hoang-Hai Dang and Ralf Jung and
                 Derek Dreyer",
  title =        "\pkg{GhostCell}: separating permissions from data in
                 {Rust}",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "92:1--92:30",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473597",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/rust.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473597",
  abstract =     "The Rust language offers a promising approach to safe
                 systems programming based on the principle of aliasing
                 XOR mutability: a value may be either aliased or
                 mutable, but not both at the same time. However, to
                 implement pointer-based data structures \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "92",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Aguirre:2021:HOP,
  author =       "Alejandro Aguirre and Gilles Barthe and Marco Gaboardi
                 and Deepak Garg and Shin-ya Katsumata and Tetsuya
                 Sato",
  title =        "Higher-order probabilistic adversarial computations:
                 categorical semantics and program logics",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "93:1--93:30",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473598",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473598",
  abstract =     "Adversarial computations are a widely studied class of
                 computations where resource-bounded probabilistic
                 adversaries have access to oracles, i.e., probabilistic
                 procedures with private state. These computations arise
                 routinely in several domains, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "93",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chlipala:2021:SBB,
  author =       "Adam Chlipala",
  title =        "Skipping the binder bureaucracy with mixed embeddings
                 in a semantics course (functional pearl)",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "94:1--94:28",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473599",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473599",
  abstract =     "Rigorous reasoning about programs calls for some
                 amount of bureaucracy in managing details like variable
                 binding, but, in guiding students through big ideas in
                 semantics, we might hope to minimize the overhead. We
                 describe our experiment introducing a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "94",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Sekiyama:2021:CTA,
  author =       "Taro Sekiyama and Takeshi Tsukada",
  title =        "{CPS} transformation with affine types for
                 call-by-value implicit polymorphism",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "95:1--95:30",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473600",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473600",
  abstract =     "Transformation of programs into continuation-passing
                 style (CPS) reveals the notion of continuations,
                 enabling many applications such as control operators
                 and intermediate representations in compilers. Although
                 type preservation makes CPS transformation \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "95",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Germane:2021:NSL,
  author =       "Kimball Germane and Jay McCarthy",
  title =        "Newly-single and loving it: improving higher-order
                 must-alias analysis with heap fragments",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "ICFP",
  pages =        "96:1--96:28",
  month =        aug,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3473601",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:41 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3473601",
  abstract =     "Theories of higher-order must-alias analysis, often
                 under the guise of environment analysis, provide deep
                 behavioral insight. But these theories---in particular
                 those that are most insightful otherwise---can reason
                 about recursion only in limited cases. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "96",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Honore:2021:MAA,
  author =       "Wolf Honor{\'e} and Jieung Kim and Ji-Yong Shin and
                 Zhong Shao",
  title =        "Much {ADO} about failures: a fault-aware model for
                 compositional verification of strongly consistent
                 distributed systems",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "97:1--97:31",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485474",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485474",
  abstract =     "Despite recent advances, guaranteeing the correctness
                 of large-scale distributed applications without
                 compromising performance remains a challenging problem.
                 Network and node failures are inevitable and, for some
                 applications, careful control over how \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "97",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lahav:2021:MWM,
  author =       "Ori Lahav and Egor Namakonov and Jonas Oberhauser and
                 Anton Podkopaev and Viktor Vafeiadis",
  title =        "Making weak memory models fair",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "98:1--98:27",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485475",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485475",
  abstract =     "Liveness properties, such as termination, of even the
                 simplest shared-memory concurrent programs under
                 sequential consistency typically require some fairness
                 assumptions about the scheduler. Under weak memory
                 models, we observe that the standard notions \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "98",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Yan:2021:PSS,
  author =       "Pengbo Yan and Toby Murray",
  title =        "\pkg{SecRSL}: security separation logic for {C11}
                 release-acquire concurrency",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "99:1--99:26",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485476",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485476",
  abstract =     "We present Security Relaxed Separation Logic (SecRSL),
                 a separation logic for proving information-flow
                 security of C11 programs in the Release-Acquire
                 fragment with relaxed accesses. SecRSL is the first
                 security logic that (1) supports weak-memory \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "99",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Verbruggen:2021:SPE,
  author =       "Gust Verbruggen and Vu Le and Sumit Gulwani",
  title =        "Semantic programming by example with pre-trained
                 models",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "100:1--100:25",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485477",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485477",
  abstract =     "The ability to learn programs from few examples is a
                 powerful technology with disruptive applications in
                 many domains, as it allows users to automate repetitive
                 tasks in an intuitive way. Existing frameworks on
                 inductive synthesis only perform syntactic \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "100",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Goel:2021:PMB,
  author =       "Aviral Goel and Jan Jecmen and Sebasti{\'a}n Krynski
                 and Olivier Fl{\"u}ckiger and Jan Vitek",
  title =        "Promises are made to be broken: migrating {R} to
                 strict semantics",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "101:1--101:20",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485478",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485478",
  abstract =     "Function calls in the R language do not evaluate their
                 arguments, these are passed to the callee as suspended
                 computations and evaluated if needed. After 25 years of
                 experience with the language, there are very few cases
                 where programmers leverage \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "101",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Karachalias:2021:ECA,
  author =       "Georgios Karachalias and Filip Koprivec and Matija
                 Pretnar and Tom Schrijvers",
  title =        "Efficient compilation of algebraic effect handlers",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "102:1--102:28",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485479",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485479",
  abstract =     "The popularity of algebraic effect handlers as a
                 programming language feature for user-defined
                 computational effects is steadily growing. Yet, even
                 though efficient runtime representations have already
                 been studied, most handler-based programs are still
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "102",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Popescu:2021:SSA,
  author =       "Natalie Popescu and Ziyang Xu and Sotiris Apostolakis
                 and David I. August and Amit Levy",
  title =        "Safer at any speed: automatic context-aware safety
                 enhancement for {Rust}",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "103:1--103:23",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485480",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/rust.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485480",
  abstract =     "Type-safe languages improve application safety by
                 eliminating whole classes of vulnerabilities-such as
                 buffer overflows-by construction. However, this safety
                 sometimes comes with a performance cost. As a result,
                 many modern type-safe languages provide \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "103",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Astorga:2021:SCC,
  author =       "Angello Astorga and Shambwaditya Saha and Ahmad
                 Dinkins and Felicia Wang and P. Madhusudan and Tao
                 Xie",
  title =        "Synthesizing contracts correct modulo a test
                 generator",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "104:1--104:27",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485481",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485481",
  abstract =     "We present an approach to learn contracts for
                 object-oriented programs where guarantees of
                 correctness of the contracts are made with respect to a
                 test generator. Our contract synthesis approach is
                 based on a novel notion of tight contracts and an
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "104",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Yamaguchi:2021:PSS,
  author =       "Masaomi Yamaguchi and Kazutaka Matsuda and Cristina
                 David and Meng Wang",
  title =        "\pkg{Synbit}: synthesizing bidirectional programs
                 using unidirectional sketches",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "105:1--105:31",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485482",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485482",
  abstract =     "We propose a technique for synthesizing bidirectional
                 programs from the corresponding unidirectional code
                 plus a few input/output examples. The core ideas are:
                 (1) constructing a sketch using the given
                 unidirectional program as a specification, and (2)
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "105",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kazerounian:2021:PSS,
  author =       "Milod Kazerounian and Jeffrey S. Foster and Bonan
                 Min",
  title =        "\pkg{SimTyper}: sound type inference for {Ruby} using
                 type equality prediction",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "106:1--106:27",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485483",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485483",
  abstract =     "Many researchers have explored type inference for
                 dynamic languages. However, traditional type inference
                 computes most general types which, for complex type
                 systems-which are often needed to type dynamic
                 languages-can be verbose, complex, and difficult
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "106",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{DePorre:2021:PEB,
  author =       "Kevin {De Porre} and Carla Ferreira and Nuno
                 Pregui{\c{c}}a and Elisa {Gonzalez Boix}",
  title =        "\pkg{ECROs}: building global scale systems from
                 sequential code",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "107:1--107:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485484",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485484",
  abstract =     "To ease the development of geo-distributed
                 applications, replicated data types (RDTs) offer a
                 familiar programming interface while ensuring state
                 convergence, low latency, and high availability.
                 However, RDTs are still designed exclusively by experts
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "107",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Fu:2021:LDL,
  author =       "Weili Fu and Fabian Krause and Peter Thiemann",
  title =        "Label dependent lambda calculus and gradual typing",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "108:1--108:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485485",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485485",
  abstract =     "Dependently-typed programming languages are gaining
                 importance, because they can guarantee a wide range of
                 properties at compile time. Their use in practice is
                 often hampered because programmers have to provide very
                 precise types. Gradual typing is a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "108",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Anderson:2021:EAS,
  author =       "Luke Anderson and Andrew Adams and Karima Ma and
                 Tzu-Mao Li and Tian Jin and Jonathan Ragan-Kelley",
  title =        "Efficient automatic scheduling of imaging and vision
                 pipelines for the {GPU}",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "109:1--109:28",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485486",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485486",
  abstract =     "We present a new algorithm to quickly generate
                 high-performance GPU implementations of complex imaging
                 and vision pipelines, directly from high-level Halide
                 algorithm code. It is fully automatic, requiring no
                 schedule templates or hand-optimized \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "109",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Madsen:2021:RNT,
  author =       "Magnus Madsen and Jaco van de Pol",
  title =        "Relational nullable types with {Boolean} unification",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "110:1--110:28",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485487",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485487",
  abstract =     "We present a simple, practical, and expressive
                 relational nullable type system. A relational nullable
                 type system captures whether an expression may evaluate
                 to null based on its type, but also based on the type
                 of other related expressions. The type \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "110",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Phipps-Costin:2021:SBG,
  author =       "Luna Phipps-Costin and Carolyn Jane Anderson and
                 Michael Greenberg and Arjun Guha",
  title =        "Solver-based gradual type migration",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "111:1--111:27",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485488",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485488",
  abstract =     "Gradually typed languages allow programmers to mix
                 statically and dynamically typed code, enabling them to
                 incrementally reap the benefits of static typing as
                 they add type annotations to their code. However, this
                 type migration process is typically a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "111",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhang:2021:UST,
  author =       "Guoqiang Zhang and Yuanchao Xu and Xipeng Shen and
                 Isil Dillig",
  title =        "{UDF} to {SQL} translation through compositional lazy
                 inductive synthesis",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "112:1--112:26",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485489",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485489",
  abstract =     "Many data processing systems allow SQL queries that
                 call user-defined functions (UDFs) written in
                 conventional programming languages. While such SQL
                 extensions provide convenience and flexibility to
                 users, queries involving UDFs are not as efficient as
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "112",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Patel:2021:VCM,
  author =       "Nisarg Patel and Siddharth Krishna and Dennis Shasha
                 and Thomas Wies",
  title =        "Verifying concurrent multicopy search structures",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "113:1--113:32",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485490",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485490",
  abstract =     "Multicopy search structures such as log-structured
                 merge (LSM) trees are optimized for high
                 insert/update/delete (collectively known as upsert)
                 performance. In such data structures, an upsert on key
                 k, which adds ( k, v ) where v can be a value or a
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "113",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Paraskevopoulou:2021:CCC,
  author =       "Zoe Paraskevopoulou and Anvay Grover",
  title =        "Compiling with continuations, correctly",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "114:1--114:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485491",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485491",
  abstract =     "In this paper we present a novel simulation relation
                 for proving correctness of program transformations that
                 combines syntactic simulations and logical relations.
                 In particular, we establish a new kind of simulation
                 diagram that uses a small-step or big-. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "114",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Atkinson:2021:SBM,
  author =       "Eric Atkinson and Guillaume Baudart and Louis Mandel
                 and Charles Yuan and Michael Carbin",
  title =        "Statically bounded-memory delayed sampling for
                 probabilistic streams",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "115:1--115:28",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485492",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485492",
  abstract =     "Probabilistic programming languages aid developers
                 performing Bayesian inference. These languages provide
                 programming constructs and tools for probabilistic
                 modeling and automated inference. Prior work introduced
                 a probabilistic programming language, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "115",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhou:2021:DDA,
  author =       "Zhe Zhou and Robert Dickerson and Benjamin Delaware
                 and Suresh Jagannathan",
  title =        "Data-driven abductive inference of library
                 specifications",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "116:1--116:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485493",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485493",
  abstract =     "Programmers often leverage data structure libraries
                 that provide useful and reusable abstractions. Modular
                 verification of programs that make use of these
                 libraries naturally rely on specifications that capture
                 important properties about how the library \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "116",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Herklotz:2021:FVH,
  author =       "Yann Herklotz and James D. Pollard and Nadesh
                 Ramanathan and John Wickerson",
  title =        "Formal verification of high-level synthesis",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "117:1--117:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485494",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485494",
  abstract =     "High-level synthesis (HLS), which refers to the
                 automatic compilation of software into hardware, is
                 rapidly gaining popularity. In a world increasingly
                 reliant on application-specific hardware accelerators,
                 HLS promises hardware designs of comparable \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "117",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Yao:2021:PAE,
  author =       "Peisen Yao and Qingkai Shi and Heqing Huang and
                 Charles Zhang",
  title =        "Program analysis via efficient symbolic abstraction",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "118:1--118:32",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485495",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485495",
  abstract =     "This paper concerns the scalability challenges of
                 symbolic abstraction: given a formula $ \varphi$ in a
                 logic L and an abstract domain A, find a most precise
                 element in the abstract domain that over-approximates
                 the meaning of $\varphi$. Symbolic abstraction is an
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "118",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Nandi:2021:RRI,
  author =       "Chandrakana Nandi and Max Willsey and Amy Zhu and Yisu
                 Remy Wang and Brett Saiki and Adam Anderson and Adriana
                 Schulz and Dan Grossman and Zachary Tatlock",
  title =        "Rewrite rule inference using equality saturation",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "119:1--119:28",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485496",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485496",
  abstract =     "Many compilers, synthesizers, and theorem provers rely
                 on rewrite rules to simplify expressions or prove
                 equivalences. Developing rewrite rules can be
                 difficult: rules may be subtly incorrect, profitable
                 rules are easy to miss, and rulesets must be \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "119",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Iorga:2021:SSM,
  author =       "Dan Iorga and Alastair F. Donaldson and Tyler Sorensen
                 and John Wickerson",
  title =        "The semantics of shared memory in {Intel CPU\slash
                 FPGA} systems",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "120:1--120:28",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485497",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485497",
  abstract =     "Heterogeneous CPU/FPGA devices, in which a CPU and an
                 FPGA can execute together while sharing memory, are
                 becoming popular in several computing sectors. In this
                 paper, we study the shared-memory semantics of these
                 devices, with a view to providing a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "120",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Emre:2021:TCS,
  author =       "Mehmet Emre and Ryan Schroeder and Kyle Dewey and Ben
                 Hardekopf",
  title =        "Translating {C} to safer {Rust}",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "121:1--121:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485498",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/rust.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485498",
  abstract =     "Rust is a relatively new programming language that
                 targets efficient and safe systems-level applications.
                 It includes a sophisticated type system that allows for
                 provable memory- and thread-safety, and is explicitly
                 designed to take the place of unsafe \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "121",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Bartha:2021:OGS,
  author =       "S{\'a}ndor Bartha and James Cheney and Vaishak Belle",
  title =        "One down, 699 to go: or, synthesising compositional
                 desugarings",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "122:1--122:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485499",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485499",
  abstract =     "Programming or scripting languages used in real-world
                 systems are seldom designed with a formal semantics in
                 mind from the outset. Therefore, developing
                 well-founded analysis tools for these systems requires
                 reverse-engineering a formal semantics as a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "122",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chaliasos:2021:WTP,
  author =       "Stefanos Chaliasos and Thodoris Sotiropoulos and
                 Georgios-Petros Drosos and Charalambos Mitropoulos and
                 Dimitris Mitropoulos and Diomidis Spinellis",
  title =        "Well-typed programs can go wrong: a study of
                 typing-related bugs in {JVM} compilers",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "123:1--123:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485500",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485500",
  abstract =     "Despite the substantial progress in compiler testing,
                 research endeavors have mainly focused on detecting
                 compiler crashes and subtle miscompilations caused by
                 bugs in the implementation of compiler optimizations.
                 Surprisingly, this growing body of work \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "123",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Viering:2021:MST,
  author =       "Malte Viering and Raymond Hu and Patrick Eugster and
                 Lukasz Ziarek",
  title =        "A multiparty session typing discipline for
                 fault-tolerant event-driven distributed programming",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "124:1--124:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485501",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485501",
  abstract =     "This paper presents a formulation of multiparty
                 session types (MPSTs) for practical fault-tolerant
                 distributed programming. We tackle the challenges faced
                 by session types in the context of distributed systems
                 involving asynchronous and concurrent \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "124",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Goel:2021:WWE,
  author =       "Aviral Goel and Pierre Donat-Bouillud and Filip
                 Krikava and Christoph M. Kirsch and Jan Vitek",
  title =        "What we eval in the shadows: a large-scale study of
                 eval in {R} programs",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "125:1--125:23",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485502",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/s-plus.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485502",
  abstract =     "Most dynamic languages allow users to turn text into
                 code using various functions, often named \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "125",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Malewski:2021:GSD,
  author =       "Stefan Malewski and Michael Greenberg and {\'E}ric
                 Tanter",
  title =        "Gradually structured data",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "126:1--126:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485503",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485503",
  abstract =     "Dynamically-typed languages offer easy interaction
                 with ad hoc data such as JSON and S-expressions;
                 statically-typed languages offer powerful tools for
                 working with structured data, notably algebraic
                 datatypes, which are a core feature of typed \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "126",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Muehlboeck:2021:TSN,
  author =       "Fabian Muehlboeck and Ross Tate",
  title =        "Transitioning from structural to nominal code with
                 efficient gradual typing",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "127:1--127:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485504",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485504",
  abstract =     "Gradual typing is a principled means for mixing typed
                 and untyped code. But typed and untyped code often
                 exhibit different programming patterns. There is
                 already substantial research investigating gradually
                 giving types to code exhibiting typical \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "127",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Henry:2021:CSA,
  author =       "Rawn Henry and Olivia Hsu and Rohan Yadav and Stephen
                 Chou and Kunle Olukotun and Saman Amarasinghe and
                 Fredrik Kjolstad",
  title =        "Compilation of sparse array programming models",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "128:1--128:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485505",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485505",
  abstract =     "This paper shows how to compile sparse array
                 programming languages. A sparse array programming
                 language is an array programming language that supports
                 element-wise application, reduction, and broadcasting
                 of arbitrary functions over dense and sparse \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "128",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Brotzman:2021:PSD,
  author =       "Robert Brotzman and Danfeng Zhang and Mahmut Taylan
                 Kandemir and Gang Tan",
  title =        "\pkg{SpecSafe}: detecting cache side channels in a
                 speculative world",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "129:1--129:28",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485506",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485506",
  abstract =     "The high-profile Spectre attack and its variants have
                 revealed that speculative execution may leave
                 secret-dependent footprints in the cache, allowing an
                 attacker to learn confidential data. However, existing
                 static side-channel detectors either ignore \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "129",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Shen:2021:COD,
  author =       "Xipeng Shen and Guoqiang Zhang and Irene Dea and
                 Samantha Andow and Emilio Arroyo-Fang and Neal Gafter
                 and Johann George and Melissa Grueter and Erik Meijer
                 and Olin Grigsby Shivers and Steffi Stumpos and Alanna
                 Tempest and Christy Warden and Shannon Yang",
  title =        "Coarsening optimization for differentiable
                 programming",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "130:1--130:27",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485507",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485507",
  abstract =     "This paper presents a novel optimization for
                 differentiable programming named coarsening
                 optimization. It offers a systematic way to synergize
                 symbolic differentiation and algorithmic
                 differentiation (AD). Through it, the granularity of
                 the computations \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "130",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Sorensen:2021:STG,
  author =       "Tyler Sorensen and Lucas F. Salvador and Harmit Raval
                 and Hugues Evrard and John Wickerson and Margaret
                 Martonosi and Alastair F. Donaldson",
  title =        "Specifying and testing {GPU} workgroup progress
                 models",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "131:1--131:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485508",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485508",
  abstract =     "As GPU availability has increased and programming
                 support has matured, a wider variety of applications
                 are being ported to these platforms. Many parallel
                 applications contain fine-grained synchronization
                 idioms; as such, their correct execution depends
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "131",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Biswas:2021:PME,
  author =       "Ranadeep Biswas and Diptanshu Kakwani and Jyothi
                 Vedurada and Constantin Enea and Akash Lal",
  title =        "\pkg{MonkeyDB}: effectively testing correctness under
                 weak isolation levels",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "132:1--132:27",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485546",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485546",
  abstract =     "Modern applications, such as social networking systems
                 and e-commerce platforms are centered around using
                 large-scale storage systems for storing and retrieving
                 data. In the presence of concurrent accesses, these
                 storage systems trade off isolation for \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "132",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Burckhardt:2021:DFS,
  author =       "Sebastian Burckhardt and Chris Gillum and David Justo
                 and Konstantinos Kallas and Connor McMahon and
                 Christopher S. Meiklejohn",
  title =        "Durable functions: semantics for stateful serverless",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "133:1--133:27",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485510",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485510",
  abstract =     "Serverless, or Functions-as-a-Service (FaaS), is an
                 increasingly popular paradigm for application
                 development, as it provides implicit elastic scaling
                 and load based billing. However, the weak execution
                 guarantees and intrinsic compute-storage \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "133",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Bavishi:2021:PGP,
  author =       "Rohan Bavishi and Caroline Lemieux and Koushik Sen and
                 Ion Stoica",
  title =        "\pkg{Gauss}: program synthesis by reasoning over
                 graphs",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "134:1--134:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485511",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485511",
  abstract =     "While input-output examples are a natural form of
                 specification for program synthesis engines, they can
                 be imprecise for domains such as table transformations.
                 In this paper, we investigate how extracting
                 readily-available information about the user \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "134",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{He:2021:TSE,
  author =       "Paul He and Eddy Westbrook and Brent Carmer and Chris
                 Phifer and Valentin Robert and Karl Smeltzer and Andrei
                 {\c{S}}tef{\u{a}}nescu and Aaron Tomb and Adam Wick and
                 Matthew Yacavone and Steve Zdancewic",
  title =        "A type system for extracting functional specifications
                 from memory-safe imperative programs",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "135:1--135:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485512",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485512",
  abstract =     "Verifying imperative programs is hard. A key
                 difficulty is that the specification of what an
                 imperative program does is often intertwined with
                 details about pointers and imperative state. Although
                 there are a number of powerful separation logics that
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "135",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Xu:2021:CPC,
  author =       "Haoran Xu and Fredrik Kjolstad",
  title =        "Copy-and-patch compilation: a fast compilation
                 algorithm for high-level languages and bytecode",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "136:1--136:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485513",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485513",
  abstract =     "Fast compilation is important when compilation occurs
                 at runtime, such as query compilers in modern database
                 systems and WebAssembly virtual machines in modern
                 browsers. We present copy-and-patch, an extremely fast
                 compilation technique that also \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "136",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Roth:2021:SSM,
  author =       "Ori Roth",
  title =        "Study of the subtyping machine of nominal subtyping
                 with variance",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "137:1--137:27",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485514",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485514",
  abstract =     "This is a study of the computing power of the
                 subtyping machine behind Kennedy and Pierce's nominal
                 subtyping with variance. We depict the lattice of
                 fragments of Kennedy and Pierce's type system and
                 characterize their computing power in terms of
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "137",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ishimwe:2021:PDA,
  author =       "Didier Ishimwe and KimHao Nguyen and ThanhVu Nguyen",
  title =        "\pkg{Dynaplex}: analyzing program complexity using
                 dynamically inferred recurrence relations",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "138:1--138:23",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485515",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485515",
  abstract =     "Being able to detect program runtime complexity is
                 useful in many tasks (e.g., checking expected
                 performance and identifying potential security
                 vulnerabilities). In this work, we introduce a new
                 dynamic approach for inferring the asymptotic
                 complexity \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "138",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Bao:2021:RTT,
  author =       "Yuyan Bao and Guannan Wei and Oliver Bracevac and
                 Yuxuan Jiang and Qiyang He and Tiark Rompf",
  title =        "Reachability types: tracking aliasing and separation
                 in higher-order functional programs",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "139:1--139:32",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485516",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485516",
  abstract =     "Ownership type systems, based on the idea of enforcing
                 unique access paths, have been primarily focused on
                 objects and top-level classes. However, existing models
                 do not as readily reflect the finer aspects of nested
                 lexical scopes, capturing, or \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "139",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhang:2021:SDS,
  author =       "Jialu Zhang and Ruzica Piskac and Ennan Zhai and
                 Tianyin Xu",
  title =        "Static detection of silent misconfigurations with deep
                 interaction analysis",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "140:1--140:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485517",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485517",
  abstract =     "The behavior of large systems is guided by their
                 configurations: users set parameters in the
                 configuration file to dictate which corresponding part
                 of the system code is executed. However, it is often
                 the case that, although some parameters are set in
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "140",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhou:2021:INM,
  author =       "Ziqiao Zhou and Michael K. Reiter",
  title =        "Interpretable noninterference measurement and its
                 application to processor designs",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "141:1--141:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485518",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485518",
  abstract =     "Noninterference measurement quantifies the secret
                 information that might leak to an adversary from what
                 the adversary can observe and influence about the
                 computation. Static and high-fidelity noninterference
                 measurement has been difficult to scale to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "141",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Vu:2021:ROS,
  author =       "Son Tuan Vu and Albert Cohen and Arnaud {De
                 Grandmaison} and Christophe Guillon and Karine
                 Heydemann",
  title =        "Reconciling optimization with secure compilation",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "142:1--142:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485519",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485519",
  abstract =     "Software protections against side-channel and physical
                 attacks are essential to the development of secure
                 applications. Such protections are meaningful at
                 machine code or micro-architectural level, but they
                 typically do not carry observable semantics at
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "142",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lanzinger:2021:SPC,
  author =       "Florian Lanzinger and Alexander Weigl and Mattias
                 Ulbrich and Werner Dietl",
  title =        "Scalability and precision by combining expressive type
                 systems and deductive verification",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "143:1--143:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485520",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485520",
  abstract =     "Type systems and modern type checkers can be used very
                 successfully to obtain formal correctness guarantees
                 with little specification overhead. However, type
                 systems in practical scenarios have to trade precision
                 for decidability and scalability. Tools \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "143",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Moreira:2021:PVS,
  author =       "Ang{\'e}lica Aparecida Moreira and Guilherme Ottoni
                 and Fernando Magno Quint{\~a}o Pereira",
  title =        "\pkg{VESPA}: static profiling for binary
                 optimization",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "144:1--144:28",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485521",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485521",
  abstract =     "Over the past few years, there has been a surge in the
                 popularity of binary optimizers such as BOLT,
                 Propeller, Janus and HALO. These tools use dynamic
                 profiling information to make optimization decisions.
                 Although effective, gathering runtime data \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "144",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Wolff:2021:MSV,
  author =       "Fabian Wolff and Aurel B{\'\i}l{\'y} and Christoph
                 Matheja and Peter M{\"u}ller and Alexander J. Summers",
  title =        "Modular specification and verification of closures in
                 {Rust}",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "145:1--145:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485522",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/rust.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485522",
  abstract =     "Closures are a language feature supported by many
                 mainstream languages, combining the ability to package
                 up references to code blocks with the possibility of
                 capturing state from the environment of the closure's
                 declaration. Closures are powerful, but complicate
                 understanding and formal reasoning, especially when
                 closure invocations may mutate objects reachable from
                 the captured state or from closure arguments. This
                 paper presents a novel technique for the modular
                 specification and verification of closure-manipulating
                 code in Rust. Our technique combines Rust's type system
                 guarantees and novel specification features to enable
                 formal verification of rich functional properties. It
                 encodes higher-order concerns into a first-order logic,
                 which enables automation via SMT solvers. Our technique
                 is implemented as an extension of the deductive
                 verifier Prusti, with which we have successfully
                 verified many common idioms of closure usage.",
  acknowledgement = ack-nhfb,
  articleno =    "145",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Bram:2021:RSE,
  author =       "Christian Br{\"a}m and Marco Eilers and Peter
                 M{\"u}ller and Robin Sierra and Alexander J. Summers",
  title =        "Rich specifications for {Ethereum} smart contract
                 verification",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "146:1--146:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485523",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/bitcoin.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485523",
  abstract =     "Smart contracts are programs that execute in
                 blockchains such as Ethereum to manipulate digital
                 assets. Since bugs in smart contracts may lead to
                 substantial financial losses, there is considerable
                 interest in formally proving their correctness.
                 However,. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "146",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Tan:2021:MPA,
  author =       "Tian Tan and Yue Li and Xiaoxing Ma and Chang Xu and
                 Yannis Smaragdakis",
  title =        "Making pointer analysis more precise by unleashing the
                 power of selective context sensitivity",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "147:1--147:27",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485524",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485524",
  abstract =     "Traditional context-sensitive pointer analysis is hard
                 to scale for large and complex Java programs. To
                 address this issue, a series of selective
                 context-sensitivity approaches have been proposed and
                 exhibit promising results. In this work, we move one
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "147",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Steele:2021:PLB,
  author =       "Guy L. {Steele Jr.} and Sebastiano Vigna",
  title =        "\pkg{LXM}: better splittable pseudorandom number
                 generators (and almost as fast)",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "148:1--148:31",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485525",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/prng.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485525",
  abstract =     "In 2014, Steele, Lea, and Flood presented SplitMix, an
                 object-oriented pseudorandom number generator (prng)
                 that is quite fast (9 64-bit arithmetic/logical
                 operations per 64 bits generated) and also splittable.
                 A conventional prng object provides a generate method
                 that returns one pseudorandom value and updates the
                 state of the prng; a splittable prng object also has a
                 second operation, split, that replaces the original
                 prng object with two (seemingly) independent prng
                 objects, by creating and returning a new such object
                 and updating the state of the original object.
                 Splittable prng objects make it easy to organize the
                 use of pseudorandom numbers in multithreaded programs
                 structured using fork-join parallelism. This overall
                 strategy still appears to be sound, but the specific
                 arithmetic calculation used for generate in the
                 SplitMix algorithm has some detectable weaknesses, and
                 the period of any one generator is limited to
                 264.\par

                 Here we present the LXM family of prng algorithms. The
                 idea is an old one: combine the outputs of two
                 independent prng algorithms, then (optionally) feed the
                 result to a mixing function. An LXM algorithm uses a
                 linear congruential subgenerator and an F2-linear
                 subgenerator; the examples studied in this paper use a
                 linear congruential generator (LCG) of period 216, 232,
                 264, or 2128 with one of the multipliers recommended by
                 L'Ecuyer or by Steele and Vigna, and an F2-linear
                 xor-based generator (XBG) of the xoshiro family or
                 xoroshiro family as described by Blackman and Vigna.
                 For mixing functions we study the MurmurHash3 finalizer
                 function; variants by David Stafford, Doug Lea, and
                 degski; and the null (identity) mixing
                 function.\par

                 Like SplitMix, LXM provides both a generate operation
                 and a split operation. Also like SplitMix, LXM requires
                 no locking or other synchronization (other than the
                 usual memory fence after instance initialization), and
                 is suitable for use with simd instruction sets because
                 it has no branches or loops.\par

                 We analyze the period and equidistribution properties
                 of LXM generators, and present the results of thorough
                 testing of specific members of this family, using the
                 TestU01 and PractRand test suites, not only on single
                 instances of the algorithm but also for collections of
                 instances, used in parallel, ranging in size from 2 to
                 224. Single instances of LXM that include a strong
                 mixing function appear to have no major weaknesses, and
                 LXM is significantly more robust than SplitMix against
                 accidental correlation in a multithreaded setting. We
                 believe that LXM, like SplitMix, is suitable for
                 ``everyday'' scientific and machine-learning
                 applications (but not cryptographic applications),
                 especially when concurrent threads or distributed
                 processes are involved.",
  acknowledgement = ack-nhfb,
  articleno =    "148",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Cronburg:2021:PPT,
  author =       "Karl Cronburg and Samuel Z. Guyer",
  title =        "\pkg{Permchecker}: a toolchain for debugging memory
                 managers with typestate",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "149:1--149:28",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485526",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485526",
  abstract =     "Dynamic memory managers are a crucial component of
                 almost every modern software system. In addition to
                 implementing efficient allocation and reclamation,
                 memory managers provide the essential abstraction of
                 memory as distinct objects, which underpins \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "149",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Pelenitsyn:2021:TSJ,
  author =       "Artem Pelenitsyn and Julia Belyakova and Benjamin
                 Chung and Ross Tate and Jan Vitek",
  title =        "Type stability in {Julia}: avoiding performance
                 pathologies in {JIT} compilation",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "150:1--150:26",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485527",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/julia.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485527",
  abstract =     "As a scientific programming language, Julia strives
                 for performance but also provides high-level
                 productivity features. To avoid performance
                 pathologies, Julia users are expected to adhere to a
                 coding discipline that enables so-called type
                 stability. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "150",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Jia:2021:DBP,
  author =       "Xiaodong Jia and Ashish Kumar and Gang Tan",
  title =        "A derivative-based parser generator for visibly
                 pushdown grammars",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "151:1--151:24",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485528",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485528",
  abstract =     "In this paper, we present a derivative-based,
                 functional recognizer and parser generator for visibly
                 pushdown grammars. The generated parser accepts
                 ambiguous grammars and produces a parse forest
                 containing all valid parse trees for an input string in
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "151",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Park:2021:GTA,
  author =       "Jiwon Park and Dominik Winterer and Chengyu Zhang and
                 Zhendong Su",
  title =        "Generative type-aware mutation for testing {SMT}
                 solvers",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "152:1--152:19",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485529",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485529",
  abstract =     "We propose Generative Type-Aware Mutation, an
                 effective approach for testing SMT solvers. The key
                 idea is to realize generation through the mutation of
                 expressions rooted with parametric operators from the
                 SMT-LIB specification. Generative Type-Aware \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "152",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ferdowsifard:2021:PLI,
  author =       "Kasra Ferdowsifard and Shraddha Barke and Hila Peleg
                 and Sorin Lerner and Nadia Polikarpova",
  title =        "\pkg{LooPy}: interactive program synthesis with
                 control structures",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "153:1--153:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485530",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485530",
  abstract =     "One vision for program synthesis, and specifically for
                 programming by example (PBE), is an interactive
                 programmer's assistant, integrated into the development
                 environment. To make program synthesis practical for
                 interactive use, prior work on Small-Step \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "153",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Brown:2021:FUM,
  author =       "Michael D. Brown and Matthew Pruett and Robert Bigelow
                 and Girish Mururu and Santosh Pande",
  title =        "Not so fast: understanding and mitigating negative
                 impacts of compiler optimizations on code reuse gadget
                 sets",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "154:1--154:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485531",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485531",
  abstract =     "Despite extensive testing and correctness
                 certification of their functional semantics, a number
                 of compiler optimizations have been shown to violate
                 security guarantees implemented in source code. While
                 prior work has shed light on how such \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "154",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lubin:2021:HST,
  author =       "Justin Lubin and Sarah E. Chasins",
  title =        "How statically-typed functional programmers write
                 code",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "155:1--155:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485532",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485532",
  abstract =     "How working statically-typed functional programmers
                 write code is largely understudied. And yet, a better
                 understanding of developer practices could pave the way
                 for the design of more useful and usable tooling, more
                 ergonomic languages, and more \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "155",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Su:2021:FAF,
  author =       "Ting Su and Yichen Yan and Jue Wang and Jingling Sun
                 and Yiheng Xiong and Geguang Pu and Ke Wang and
                 Zhendong Su",
  title =        "Fully automated functional fuzzing of {Android} apps
                 for detecting non-crashing logic bugs",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "156:1--156:31",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485533",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485533",
  abstract =     "Android apps are GUI-based event-driven software and
                 have become ubiquitous in recent years. Obviously,
                 functional correctness is critical for an app's
                 success. However, in addition to crash bugs,
                 non-crashing functional bugs (in short as \ldots{})",
  acknowledgement = ack-nhfb,
  articleno =    "156",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Jaber:2021:PQM,
  author =       "Nouraldin Jaber and Christopher Wagner and Swen Jacobs
                 and Milind Kulkarni and Roopsha Samanta",
  title =        "\pkg{QuickSilver}: modeling and parameterized
                 verification for distributed agreement-based systems",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "157:1--157:31",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485534",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485534",
  abstract =     "The last decade has sparked several valiant efforts in
                 deductive verification of distributed agreement
                 protocols such as consensus and leader election. Oddly,
                 there have been far fewer verification efforts that go
                 beyond the core protocols and target \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "157",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Rahmani:2021:MMP,
  author =       "Kia Rahmani and Mohammad Raza and Sumit Gulwani and Vu
                 Le and Daniel Morris and Arjun Radhakrishna and Gustavo
                 Soares and Ashish Tiwari",
  title =        "Multi-modal program inference: a marriage of
                 pre-trained language models and component-based
                 synthesis",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "158:1--158:29",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485535",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485535",
  abstract =     "Multi-modal program synthesis refers to the task of
                 synthesizing programs (code) from their specification
                 given in different forms, such as a combination of
                 natural language and examples. Examples provide a
                 precise but incomplete specification, and \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "158",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Barbar:2021:CPS,
  author =       "Mohamad Barbar and Yulei Sui",
  title =        "Compacting points-to sets through object clustering",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "159:1--159:27",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485547",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485547",
  abstract =     "Inclusion-based set constraint solving is the most
                 popular technique for whole-program points-to analysis
                 whereby an analysis is typically formulated as
                 repeatedly resolving constraints between points-to sets
                 of program variables. The set union \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "159",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Gokhale:2021:AMS,
  author =       "Satyajit Gokhale and Alexi Turcotte and Frank Tip",
  title =        "Automatic migration from synchronous to asynchronous
                 {JavaScript APIs}",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "160:1--160:27",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485537",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485537",
  abstract =     "The JavaScript ecosystem provides equivalent
                 synchronous and asynchronous Application Programming
                 Interfaces (APIs) for many commonly used I/O
                 operations. Synchronous APIs involve straightforward
                 sequential control flow that makes them easy to use and
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "160",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Gao:2021:PAO,
  author =       "Xiang Gao and Arjun Radhakrishna and Gustavo Soares
                 and Ridwan Shariffdeen and Sumit Gulwani and Abhik
                 Roychoudhury",
  title =        "\pkg{APIfix}: output-oriented program synthesis for
                 combating breaking changes in libraries",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "161:1--161:27",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485538",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485538",
  abstract =     "Use of third-party libraries is extremely common in
                 application software. The libraries evolve to
                 accommodate new features or mitigate security
                 vulnerabilities, thereby breaking the Application
                 Programming Interface(API) used by the software. Such
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "161",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Pitchanathan:2021:PFF,
  author =       "Arjun Pitchanathan and Christian Ulmann and Michel
                 Weber and Torsten Hoefler and Tobias Grosser",
  title =        "\pkg{FPL}: fast {Presburger} arithmetic through
                 transprecision",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "162:1--162:26",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485539",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485539",
  abstract =     "Presburger arithmetic provides the mathematical core
                 for the polyhedral compilation techniques that drive
                 analytical cache models, loop optimization for ML and
                 HPC, formal verification, and even hardware design.
                 Polyhedral compilation is widely regarded \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "162",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Smaragdakis:2021:SVF,
  author =       "Yannis Smaragdakis and Neville Grech and Sifis
                 Lagouvardos and Konstantinos Triantafyllou and Ilias
                 Tsatiris",
  title =        "Symbolic value-flow static analysis: deep, precise,
                 complete modeling of {Ethereum} smart contracts",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "163:1--163:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485540",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/bitcoin.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485540",
  abstract =     "We present a static analysis approach that combines
                 concrete values and symbolic expressions. This symbolic
                 value-flow (``symvalic'') analysis models program
                 behavior with high precision, e.g., full path
                 sensitivity. To achieve deep modeling of program
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "163",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Bui:2021:RET,
  author =       "Truc Lam Bui and Krishnendu Chatterjee and Tushar
                 Gautam and Andreas Pavlogiannis and Viktor Toman",
  title =        "The reads-from equivalence for the {TSO} and {PSO}
                 memory models",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "164:1--164:30",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485541",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485541",
  abstract =     "The verification of concurrent programs remains an
                 open challenge due to the non-determinism in
                 inter-process communication. One recurring algorithmic
                 problem in this challenge is the consistency
                 verification of concurrent executions. In particular,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "164",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Dura:2021:PJA,
  author =       "Alexandru Dura and Christoph Reichenbach and Emma
                 S{\"o}derberg",
  title =        "\pkg{JavaDL}: automatically incrementalizing {Java}
                 bug pattern detection",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "165:1--165:31",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485542",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485542",
  abstract =     "Static checker frameworks support software developers
                 by automatically discovering bugs that fit
                 general-purpose bug patterns. These frameworks ship
                 with hundreds of detectors for such patterns and allow
                 developers to add custom detectors for their own
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "165",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{AlAwar:2021:PEM,
  author =       "Nader {Al Awar} and Kush Jain and Christopher J.
                 Rossbach and Milos Gligoric",
  title =        "Programming and execution models for parallel bounded
                 exhaustive testing",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "166:1--166:28",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485543",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485543",
  abstract =     "Bounded-exhaustive testing (BET), which exercises a
                 program under test for all inputs up to some bounds, is
                 an effective method for detecting software bugs.
                 Systematic property-based testing is a BET approach
                 where developers write test generation \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "166",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ji:2021:GST,
  author =       "Ruyi Ji and Jingtao Xia and Yingfei Xiong and
                 Zhenjiang Hu",
  title =        "Generalizable synthesis through unification",
  journal =      j-PACMPL,
  volume =       "5",
  number =       "OOPSLA",
  pages =        "167:1--167:28",
  month =        oct,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3485544",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed Mar 2 07:00:43 MST 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3485544",
  abstract =     "The generalizability of PBE solvers is the key to the
                 empirical synthesis performance. Despite the importance
                 of generalizability, related studies on PBE solvers are
                 still limited. In theory, few existing solvers provide
                 theoretical guarantees on \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "167",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Batz:2022:WPP,
  author =       "Kevin Batz and Adrian Gallus and Benjamin Lucien
                 Kaminski and Joost-Pieter Katoen and Tobias Winkler",
  title =        "Weighted programming: a programming paradigm for
                 specifying mathematical models",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "66:1--66:30",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527310",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527310",
  abstract =     "We study weighted programming, a programming paradigm
                 for specifying mathematical models. More specifically,
                 the weighted programs we investigate are like usual
                 imperative programs with two additional features: (1)
                 nondeterministic branching and (2) \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "66",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ferles:2022:SFG,
  author =       "Kostas Ferles and Benjamin Sepanski and Rahul Krishnan
                 and James Bornholt and Isil Dillig",
  title =        "Synthesizing fine-grained synchronization protocols
                 for implicit monitors",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "67:1--67:26",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527311",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527311",
  abstract =     "A monitor is a widely-used concurrent programming
                 abstraction that encapsulates all shared state between
                 threads. Monitors can be classified as being either
                 implicit or explicit depending on the primitives they
                 provide. Implicit monitors are much easier \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "67",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Wang:2022:CGC,
  author =       "Chengpeng Wang and Peisen Yao and Wensheng Tang and
                 Qingkai Shi and Charles Zhang",
  title =        "Complexity-guided container replacement synthesis",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "68:1--68:31",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527312",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527312",
  abstract =     "Containers, such as lists and maps, are fundamental
                 data structures in modern programming languages.
                 However, improper choice of container types may lead to
                 significant performance issues. This paper presents
                 Cres, an approach that automatically \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "68",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Li:2022:LTL,
  author =       "Jialin Li and Andrea Lattuada and Yi Zhou and Jonathan
                 Cameron and Jon Howell and Bryan Parno and Chris
                 Hawblitzel",
  title =        "Linear types for large-scale systems verification",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "69:1--69:28",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527313",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527313",
  abstract =     "Reasoning about memory aliasing and mutation in
                 software verification is a hard problem. This is
                 especially true for systems using SMT-based automated
                 theorem provers. Memory reasoning in SMT verification
                 typically requires a nontrivial amount of manual
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "69",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Labrada:2022:PSG,
  author =       "Elizabeth Labrada and Mat{\'\i}as Toro and {\'E}ric
                 Tanter and Dominique Devriese",
  title =        "Plausible sealing for gradual parametricity",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "70:1--70:28",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527314",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527314",
  abstract =     "Graduality and parametricity have proven to be
                 extremely challenging notions to bring together.
                 Intuitively, enforcing parametricity gradually requires
                 possibly sealing values in order to detect violations
                 of uniform behavior. Toro et al. (2019) argue
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "70",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Mariano:2022:ATI,
  author =       "Benjamin Mariano and Yanju Chen and Yu Feng and Greg
                 Durrett and Isil Dillig",
  title =        "Automated transpilation of imperative to functional
                 code using neural-guided program synthesis",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "71:1--71:27",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527315",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527315",
  abstract =     "While many mainstream languages such as Java, Python,
                 and C\# increasingly incorporate functional APIs to
                 simplify programming and improve
                 parallelization/performance, there are no effective
                 techniques that can be used to automatically translate
                 existing \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "71",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Yan:2022:ILQ,
  author =       "Peng Yan and Hanru Jiang and Nengkun Yu",
  title =        "On incorrectness logic for Quantum programs",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "72:1--72:28",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527316",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527316",
  abstract =     "Bug-catching is important for developing quantum
                 programs. Motivated by the incorrectness logic for
                 classical programs, we propose an incorrectness logic
                 towards a logical foundation for static bug-catching in
                 quantum programming. The validity of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "72",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Liu:2022:CGT,
  author =       "Jiawei Liu and Yuxiang Wei and Sen Yang and Yinlin
                 Deng and Lingming Zhang",
  title =        "Coverage-guided tensor compiler fuzzing with joint
                 {IR}-pass mutation",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "73:1--73:26",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527317",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527317",
  abstract =     "In the past decade, Deep Learning (DL) systems have
                 been widely deployed in various application domains to
                 facilitate our daily life, e.g., natural language
                 processing, healthcare, activity recognition, and
                 autonomous driving. Meanwhile, it is extremely
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "73",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Georges:2022:TCE,
  author =       "A{\"\i}na Linn Georges and Alix Trieu and Lars
                 Birkedal",
  title =        "Le temps des c{\'e}rises: efficient temporal stack
                 safety on capability machines using directed
                 capabilities",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "74:1--74:30",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527318",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527318",
  abstract =     "Capability machines are a type of CPUs that support
                 fine-grained privilege separation using capabilities,
                 machine words that include forms of authority. Formal
                 models of capability machines and associated calling
                 conventions have so far focused on \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "74",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ugare:2022:PTF,
  author =       "Shubham Ugare and Gagandeep Singh and Sasa
                 Misailovic",
  title =        "Proof transfer for fast certification of multiple
                 approximate neural networks",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "75:1--75:29",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527319",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527319",
  abstract =     "Developers of machine learning applications often
                 apply post-training neural network optimizations, such
                 as quantization and pruning, that approximate a neural
                 network to speed up inference and reduce energy
                 consumption, while maintaining high accuracy \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "75",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Brachthauser:2022:ECB,
  author =       "Jonathan Immanuel Brachth{\"a}user and Philipp
                 Schuster and Edward Lee and Aleksander
                 Boruch-Gruszecki",
  title =        "Effects, capabilities, and boxes: from scope-based
                 reasoning to type-based reasoning and back",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "76:1--76:30",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527320",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527320",
  abstract =     "Reasoning about the use of external resources is an
                 important aspect of many practical applications. Effect
                 systems enable tracking such information in types, but
                 at the cost of complicating signatures of common
                 functions. Capabilities coupled with \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "76",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Grech:2022:EAD,
  author =       "Neville Grech and Sifis Lagouvardos and Ilias Tsatiris
                 and Yannis Smaragdakis",
  title =        "{Elipmoc}: advanced decompilation of {Ethereum} smart
                 contracts",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "77:1--77:27",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527321",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/bitcoin.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527321",
  abstract =     "Smart contracts on the Ethereum blockchain greatly
                 benefit from cutting-edge analysis techniques and pose
                 significant challenges. A primary challenge is the
                 extremely low-level representation of deployed
                 contracts. We present Elipmoc, a decompiler for
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "77",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Machiry:2022:CCC,
  author =       "Aravind Machiry and John Kastner and Matt McCutchen
                 and Aaron Eline and Kyle Headley and Michael Hicks",
  title =        "{C} to checked {C} by {3C}",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "78:1--78:29",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527322",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527322",
  abstract =     "Owing to the continued use of C (and C++), spatial
                 safety violations (e.g., buffer overflows) still
                 constitute one of today's most dangerous and prevalent
                 security vulnerabilities. To combat these violations,
                 Checked C extends C with bounds-enforced \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "78",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Dyer:2022:ACP,
  author =       "Tristan Dyer and Tim Nelson and Kathi Fisler and
                 Shriram Krishnamurthi",
  title =        "Applying cognitive principles to model-finding output:
                 the positive value of negative information",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "79:1--79:29",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527323",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527323",
  abstract =     "Model-finders, such as SAT/SMT-solvers and Alloy, are
                 used widely both directly and embedded in
                 domain-specific tools. They support both conventional
                 verification and, unlike other verification tools,
                 property-free exploration. To do this effectively,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "79",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lesani:2022:CVT,
  author =       "Mohsen Lesani and Li-yao Xia and Anders Kaseorg and
                 Christian J. Bell and Adam Chlipala and Benjamin C.
                 Pierce and Steve Zdancewic",
  title =        "{C4}: verified transactional objects",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "80:1--80:31",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527324",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527324",
  abstract =     "Transactional objects combine the performance of
                 classical concurrent objects with the high-level
                 programmability of transactional memory. However,
                 verifying the correctness of transactional objects is
                 tricky, requiring reasoning simultaneously about
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "80",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Le:2022:FRB,
  author =       "Quang Loc Le and Azalea Raad and Jules Villard and
                 Josh Berdine and Derek Dreyer and Peter W. O'Hearn",
  title =        "Finding real bugs in big programs with incorrectness
                 logic",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "81:1--81:27",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527325",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527325",
  abstract =     "Incorrectness Logic (IL) has recently been advanced as
                 a logical theory for compositionally proving the
                 presence of bugs-dual to Hoare Logic, which is used to
                 compositionally prove their absence. Though IL was
                 motivated in large part by the aim of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "81",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Jacobs:2022:PSM,
  author =       "Koen Jacobs and Dominique Devriese and Amin Timany",
  title =        "Purity of an {ST} monad: full abstraction by
                 semantically typed back-translation",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "82:1--82:27",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527326",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527326",
  abstract =     "In 1995, Launchbury and Peyton Jones extended Haskell
                 with an ST monad that allows the programmer to use
                 higher-order mutable state. They informally argued that
                 these state computations were safely encapsulated, and
                 as such, that the rich reasoning \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "82",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Benzaken:2022:TCS,
  author =       "V{\'e}ronique Benzaken and {\'E}velyne Contejean and
                 Mohammed Houssem Hachmaoui and Chantal Keller and Louis
                 Mandel and Avraham Shinnar and J{\'e}r{\^o}me
                 Sim{\'e}on",
  title =        "Translating canonical {SQL} to imperative code in
                 {Coq}",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "83:1--83:27",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527327",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527327",
  abstract =     "SQL is by far the most widely used and implemented
                 query language. Yet, on some key features, such as
                 correlated queries and NULL value semantics, many
                 implementations diverge or contain bugs. We leverage
                 recent advances in the formalization of SQL and
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "83",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Clement:2022:EET,
  author =       "Basile Cl{\'e}ment and Albert Cohen",
  title =        "End-to-end translation validation for the {Halide}
                 language",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "84:1--84:30",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527328",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527328",
  abstract =     "This paper considers the correctness of
                 domain-specific compilers for tensor programming
                 languages through the study of Halide, a popular
                 representative. It describes a translation validation
                 algorithm for affine Halide specifications,
                 independently of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "84",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Pelsmaeker:2022:LPS,
  author =       "Daniel A. A. Pelsmaeker and Hendrik van Antwerpen and
                 Casper Bach Poulsen and Eelco Visser",
  title =        "Language-parametric static semantic code completion",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "85:1--85:30",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527329",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527329",
  abstract =     "Code completion is an editor service in IDEs that
                 proposes code fragments for the user to insert at the
                 caret position in their code. Code completion should be
                 sound and complete. It should be sound, such that it
                 only proposes fragments that do not \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "85",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Paltenghi:2022:BQC,
  author =       "Matteo Paltenghi and Michael Pradel",
  title =        "Bugs in Quantum computing platforms: an empirical
                 study",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "86:1--86:27",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527330",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527330",
  abstract =     "The interest in quantum computing is growing, and with
                 it, the importance of software platforms to develop
                 quantum programs. Ensuring the correctness of such
                 platforms is important, and it requires a thorough
                 understanding of the bugs they typically \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "86",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhang:2022:QSP,
  author =       "Linpeng Zhang and Benjamin Lucien Kaminski",
  title =        "Quantitative strongest post: a calculus for reasoning
                 about the flow of quantitative information",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "87:1--87:29",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527331",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527331",
  abstract =     "We present a novel strongest-postcondition-style
                 calculus for quantitative reasoning about
                 non-deterministic programs with loops. Whereas existing
                 quantitative weakest pre allows reasoning about the
                 value of a quantity after a program terminates on a
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "87",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Liu:2022:SFI,
  author =       "Bozhen Liu and Jeff Huang",
  title =        "{SHARP}: fast incremental context-sensitive pointer
                 analysis for {Java}",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "88:1--88:28",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527332",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527332",
  abstract =     "We present SHARP, an incremental context-sensitive
                 pointer analysis algorithm that scales to real-world
                 large complex Java programs and can also be efficiently
                 parallelized. To our knowledge, SHARP is the first
                 algorithm to tackle context-sensitivity in \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "88",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Shaikhha:2022:FCP,
  author =       "Amir Shaikhha and Mathieu Huot and Jaclyn Smith and
                 Dan Olteanu",
  title =        "Functional collection programming with semi-ring
                 dictionaries",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA1",
  pages =        "89:1--89:33",
  month =        apr,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3527333",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:46 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3527333",
  abstract =     "This paper introduces semi-ring dictionaries, a
                 powerful class of compositional and purely functional
                 collections that subsume other collection types such as
                 sets, multisets, arrays, vectors, and matrices. We
                 developed SDQL, a statically typed language \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "89",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Jacobs:2022:CGM,
  author =       "Jules Jacobs and Stephanie Balzer and Robbert
                 Krebbers",
  title =        "Connectivity graphs: a method for proving deadlock
                 freedom based on separation logic",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "1:1--1:33",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498662",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498662",
  abstract =     "We introduce the notion of a connectivity graph -an
                 abstract representation of the topology of concurrently
                 interacting entities, which allows us to encapsulate
                 generic principles of reasoning about deadlock freedom.
                 Connectivity graphs are parametric in \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Heunen:2022:QIE,
  author =       "Chris Heunen and Robin Kaarsgaard",
  title =        "Quantum information effects",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "2:1--2:27",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498663",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498663",
  abstract =     "We study the two dual quantum information effects to
                 manipulate the amount of information in quantum
                 computation: hiding and allocation. The resulting
                 type-and-effect system is fully expressive for
                 irreversible quantum computing, including measurement.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lim:2022:OPA,
  author =       "Jay P. Lim and Santosh Nagarakatte",
  title =        "One polynomial approximation to produce correctly
                 rounded results of an elementary function for multiple
                 representations and rounding modes",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "3:1--3:28",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498664",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/elefunt.bib;
                 http://www.math.utah.edu/pub/tex/bib/fparith.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498664",
  abstract =     "Mainstream math libraries for floating point (FP) do
                 not produce correctly rounded results for all inputs.
                 In contrast, CR-LIBM and RLIBM provide correctly
                 rounded implementations for a specific FP
                 representation with one rounding mode. Using such
                 libraries for a representation with a new rounding mode
                 or with different precision will result in wrong
                 results due to double rounding. This paper proposes a
                 novel method to generate a single polynomial
                 approximation that produces correctly rounded results
                 for all inputs for multiple rounding modes and multiple
                 precision configurations. To generate a correctly
                 rounded library for n-bits, our key idea is to generate
                 a polynomial approximation for a representation with
                 n+2-bits using the round-to-odd mode. We prove that the
                 resulting polynomial approximation will produce
                 correctly rounded results for all five rounding modes
                 in the standard and for multiple representations with
                 k-bits such that $ |E| + 1 < k \leq n $, where $ |E| $
                 is the number of exponent bits in the representation.
                 Similar to our prior work in the RLIBM project, we
                 approximate the correctly rounded result when we
                 generate the library with n+2-bits using the
                 round-to-odd mode. We also generate polynomial
                 approximations by structuring it as a linear
                 programming problem but propose enhancements to
                 polynomial generation to handle the round-to-odd mode.
                 Our prototype is the first 32-bit float library that
                 produces correctly rounded results with all rounding
                 modes in the IEEE standard for all inputs with a single
                 polynomial approximation. It also produces correctly
                 rounded results for any FP configuration ranging from
                 10-bits to 32-bits while also being faster than
                 mainstream libraries.",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
  keywords =     "correct rounding; elementary functions",
}

@Article{Tan:2022:SRT,
  author =       "Bryan Tan and Benjamin Mariano and Shuvendu K. Lahiri
                 and Isil Dillig and Yu Feng",
  title =        "{SolType}: refinement types for arithmetic overflow in
                 {Solidity}",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "4:1--4:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498665",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fparith.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498665",
  abstract =     "As smart contracts gain adoption in financial
                 transactions, it becomes increasingly important to
                 ensure that they are free of bugs and security
                 vulnerabilities. Of particular relevance in this
                 context are arithmetic overflow bugs, as integers are
                 often used to represent financial assets like account
                 balances. Motivated by this observation, this paper
                 presents SolType, a refinement type system for Solidity
                 that can be used to prevent arithmetic over- and
                 under-flows in smart contracts. SolType allows
                 developers to add refinement type annotations and uses
                 them to prove that arithmetic operations do not lead to
                 over- and under-flows. SolType incorporates a rich
                 vocabulary of refinement terms that allow expressing
                 relationships between integer values and aggregate
                 properties of complex data structures. Furthermore, our
                 implementation, called Solid, incorporates a type
                 inference engine and can automatically infer useful
                 type annotations, including non-trivial contract
                 invariants.\par

                 To evaluate the usefulness of our type system, we use
                 Solid to prove arithmetic safety of a total of 120
                 smart contracts. When used in its fully automated mode
                 (i.e., using Solid's type inference capabilities),
                 Solid is able to eliminate 86.3% of redundant runtime
                 checks used to guard against overflows. We also compare
                 Solid against a state-of-the-art arithmetic safety
                 verifier called VeriSmart and show that Solid has a
                 significantly lower false positive rate, while being
                 significantly faster in terms of verification time.",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ciccone:2022:FTB,
  author =       "Luca Ciccone and Luca Padovani",
  title =        "Fair termination of binary sessions",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "5:1--5:30",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498666",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498666",
  abstract =     "A binary session is a private communication channel
                 that connects two processes, each adhering to a
                 protocol description called session type. In this work,
                 we study the first type system that ensures the fair
                 termination of binary sessions. A session \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Choudhury:2022:SRP,
  author =       "Vikraman Choudhury and Jacek Karwowski and Amr Sabry",
  title =        "Symmetries in reversible programming: from symmetric
                 rig groupoids to reversible programming languages",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "6:1--6:32",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498667",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498667",
  abstract =     "The Pi family of reversible programming languages for
                 boolean circuits is presented as a syntax of
                 combinators witnessing type isomorphisms of algebraic
                 data types. In this paper, we give a denotational
                 semantics for this language, using weak groupoids
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Perera:2022:LVG,
  author =       "Roly Perera and Minh Nguyen and Tomas Petricek and
                 Meng Wang",
  title =        "Linked visualisations via {Galois} dependencies",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "7:1--7:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498668",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498668",
  abstract =     "We present new language-based dynamic analysis
                 techniques for linking visualisations and other
                 structured outputs to data in a fine-grained way,
                 allowing users to explore how data attributes and
                 visual or other output elements are related by
                 selecting \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kesner:2022:FGC,
  author =       "Delia Kesner",
  title =        "A fine-grained computational interpretation of
                 {Girard}'s intuitionistic proof-nets",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "8:1--8:28",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498669",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498669",
  abstract =     "This paper introduces a functional term calculus,
                 called pn, that captures the essence of the operational
                 semantics of Intuitionistic Linear Logic Proof-Nets
                 with a faithful degree of granularity, both statically
                 and dynamically. On the static side, we \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Niu:2022:CAL,
  author =       "Yue Niu and Jonathan Sterling and Harrison Grodin and
                 Robert Harper",
  title =        "A cost-aware logical framework",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "9:1--9:31",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498670",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498670",
  abstract =     "We present calf, a cost-aware logical framework for
                 studying quantitative aspects of functional programs.
                 Taking inspiration from recent work that reconstructs
                 traditional aspects of programming languages in terms
                 of a modal account of phase \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "9",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Krogmeier:2022:LFF,
  author =       "Paul Krogmeier and P. Madhusudan",
  title =        "Learning formulas in finite variable logics",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "10:1--10:28",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498671",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498671",
  abstract =     "We consider grammar-restricted exact learning of
                 formulas and terms in finite variable logics. We
                 propose a novel and versatile automata-theoretic
                 technique for solving such problems. We first show
                 results for learning formulas that classify a set of
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "10",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Madiot:2022:SLH,
  author =       "Jean-Marie Madiot and Fran{\c{c}}ois Pottier",
  title =        "A separation logic for heap space under garbage
                 collection",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "11:1--11:28",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498672",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498672",
  abstract =     "We present SL$\diamond$, a Separation Logic that
                 allows controlling the heap space consumption of a
                 program in the presence of dynamic memory allocation
                 and garbage collection. A user of the logic works with
                 space credits, a resource that is consumed when an
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "11",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kjelstrom:2022:DCI,
  author =       "Adam Husted Kjelstr{\o}m and Andreas Pavlogiannis",
  title =        "The decidability and complexity of interleaved
                 bidirected {Dyck} reachability",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "12:1--12:26",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498673",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498673",
  abstract =     "Dyck reachability is the standard formulation of a
                 large domain of static analyses, as it achieves the
                 sweet spot between precision and efficiency, and has
                 thus been studied extensively. Interleaved Dyck
                 reachability \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "12",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Castagna:2022:TCU,
  author =       "Giuseppe Castagna and Micka{\"e}l Laurent and Kim
                 Nguy{\~{\^e}}n and Matthew Lutze",
  title =        "On type-cases, union elimination, and occurrence
                 typing",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "13:1--13:31",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498674",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498674",
  abstract =     "We extend classic union and intersection type systems
                 with a type-case construction and show that the
                 combination of the union elimination rule of the former
                 and the typing rules for type-cases of our extension
                 encompasses occurrence typing. To apply \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "13",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Wang:2022:IUA,
  author =       "Zi Wang and Aws Albarghouthi and Gautam Prakriya and
                 Somesh Jha",
  title =        "Interval universal approximation for neural networks",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "14:1--14:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498675",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498675",
  abstract =     "To verify safety and robustness of neural networks,
                 researchers have successfully applied abstract
                 interpretation, primarily using the interval abstract
                 domain. In this paper, we study the theoretical power
                 and limits of the interval domain for neural-\ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "14",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Feldman:2022:PDR,
  author =       "Yotam M. Y. Feldman and Mooly Sagiv and Sharon Shoham
                 and James R. Wilcox",
  title =        "Property-directed reachability as abstract
                 interpretation in the monotone theory",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "15:1--15:31",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498676",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498676",
  abstract =     "Inferring inductive invariants is one of the main
                 challenges of formal verification. The theory of
                 abstract interpretation provides a rich framework to
                 devise invariant inference algorithms. One of the
                 latest breakthroughs in invariant inference is
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "15",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhang:2022:RAR,
  author =       "Yizhou Zhang and Nada Amin",
  title =        "Reasoning about ``reasoning about reasoning'':
                 semantics and contextual equivalence for probabilistic
                 programs with nested queries and recursion",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "16:1--16:28",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498677",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498677",
  abstract =     "Metareasoning can be achieved in probabilistic
                 programming languages (PPLs) using agent models that
                 recursively nest inference queries inside inference
                 queries. However, the semantics of this powerful,
                 reflection-like language feature has defied an
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "16",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Baumann:2022:CBV,
  author =       "Pascal Baumann and Rupak Majumdar and Ramanathan S.
                 Thinniyam and Georg Zetzsche",
  title =        "Context-bounded verification of thread pools",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "17:1--17:28",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498678",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498678",
  abstract =     "Thread pooling is a common programming idiom in which
                 a fixed set of worker threads are maintained to execute
                 tasks concurrently. The workers repeatedly pick tasks
                 and execute them to completion. Each task is
                 sequential, with possibly recursive code, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "17",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Sangiorgi:2022:ECT,
  author =       "Davide Sangiorgi",
  title =        "From enhanced coinduction towards enhanced induction",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "18:1--18:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498679",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498679",
  abstract =     "There exist a rich and well-developed theory of
                 enhancements of the coinduction proof method, widely
                 used on behavioural relations such as bisimilarity. We
                 study how to develop an analogous theory for inductive
                 behaviour relations, i.e., relations \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "18",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{DalLago:2022:EPD,
  author =       "Ugo {Dal Lago} and Francesco Gavazzo",
  title =        "Effectful program distancing",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "19:1--19:30",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498680",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498680",
  abstract =     "Semantics is traditionally concerned with program
                 equivalence, in which all pairs of programs which are
                 not equivalent are treated the same, and simply dubbed
                 as incomparable. In recent years, various forms of
                 program metrics have been introduced such \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "19",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lepigre:2022:VVR,
  author =       "Rodolphe Lepigre and Michael Sammler and Kayvan
                 Memarian and Robbert Krebbers and Derek Dreyer and
                 Peter Sewell",
  title =        "{VIP}: verifying real-world {C} idioms with
                 integer-pointer casts",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "20:1--20:32",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498681",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498681",
  abstract =     "Systems code often requires fine-grained control over
                 memory layout and pointers, expressed using low-level (
                 e.g., bitwise) operations on pointer values. Since
                 these operations go beyond what basic pointer
                 arithmetic in C allows, they are performed with
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "20",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Miltner:2022:BSR,
  author =       "Anders Miltner and Adrian Trejo Nu{\~n}ez and Ana
                 Brendel and Swarat Chaudhuri and Isil Dillig",
  title =        "Bottom-up synthesis of recursive functional programs
                 using angelic execution",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "21:1--21:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498682",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498682",
  abstract =     "We present a novel bottom-up method for the synthesis
                 of functional recursive programs. While bottom-up
                 synthesis techniques can work better than top-down
                 methods in certain settings, there is no prior
                 technique for synthesizing recursive programs from
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "21",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Raad:2022:EIX,
  author =       "Azalea Raad and Luc Maranget and Viktor Vafeiadis",
  title =        "Extending {Intel-x86} consistency and persistency:
                 formalising the semantics of {Intel-x86} memory types
                 and non-temporal stores",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "22:1--22:31",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498683",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498683",
  abstract =     "Existing semantic formalisations of the Intel-x86
                 architecture cover only a small fragment of its
                 available features that are relevant for the
                 consistency semantics of multi-threaded programs as
                 well as the persistency semantics of programs
                 interfacing \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "22",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Hirsch:2022:PHO,
  author =       "Andrew K. Hirsch and Deepak Garg",
  title =        "{Pirouette}: higher-order typed functional
                 choreographies",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "23:1--23:27",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498684",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498684",
  abstract =     "We present Pirouette, a language for typed
                 higher-order functional choreographic programming.
                 Pirouette offers programmers the ability to write a
                 centralized functional program and compile it via
                 endpoint projection into programs for each node in a
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "23",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ikebuchi:2022:CDS,
  author =       "Mirai Ikebuchi and Andres Erbsen and Adam Chlipala",
  title =        "Certifying derivation of state machines from
                 coroutines",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "24:1--24:31",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498685",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498685",
  abstract =     "One of the biggest implementation challenges in
                 security-critical network protocols is nested state
                 machines. In practice today, state machines are either
                 implemented manually at a low level, risking bugs
                 easily missed in audits; or are written using
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "24",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Wang:2022:VCC,
  author =       "Yuting Wang and Ling Zhang and Zhong Shao and
                 J{\'e}r{\'e}mie Koenig",
  title =        "Verified compilation of {C} programs with a nominal
                 memory model",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "25:1--25:31",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498686",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498686",
  abstract =     "Memory models play an important role in verified
                 compilation of imperative programming languages. A
                 representative one is the block-based memory model of
                 CompCert---the state-of-the-art verified C compiler.
                 Despite its success, the abstraction over \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "25",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Jia:2022:SVQ,
  author =       "Xiaodong Jia and Andre Kornell and Bert Lindenhovius
                 and Michael Mislove and Vladimir Zamdzhiev",
  title =        "Semantics for variational Quantum programming",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "26:1--26:31",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498687",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498687",
  abstract =     "We consider a programming language that can manipulate
                 both classical and quantum information. Our language is
                 type-safe and designed for variational quantum
                 programming, which is a hybrid classical-quantum
                 computational paradigm. The classical \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "26",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kolosick:2022:ITN,
  author =       "Matthew Kolosick and Shravan Narayan and Evan Johnson
                 and Conrad Watt and Michael LeMay and Deepak Garg and
                 Ranjit Jhala and Deian Stefan",
  title =        "Isolation without taxation: near-zero-cost transitions
                 for {WebAssembly} and {SFI}",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "27:1--27:30",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498688",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498688",
  abstract =     "Software sandboxing or software-based fault isolation
                 (SFI) is a lightweight approach to building secure
                 systems out of untrusted components. Mozilla, for
                 example, uses SFI to harden the Firefox browser by
                 sandboxing third-party libraries, and companies
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "27",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Gaher:2022:SSL,
  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 =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "28:1--28:31",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498689",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498689",
  abstract =     "Today's compilers employ a variety of non-trivial
                 optimizations to achieve good performance. One key
                 trick compilers use to justify transformations of
                 concurrent programs is to assume that the source
                 program has no data races: if it does, they cause the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "28",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhang:2022:ILK,
  author =       "Cheng Zhang and Arthur Azevedo de Amorim and Marco
                 Gaboardi",
  title =        "On incorrectness logic and {Kleene} algebra with top
                 and tests",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "29:1--29:30",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498690",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498690",
  abstract =     "Kleene algebra with tests (KAT) is a foundational
                 equational framework for reasoning about programs,
                 which has found applications in program
                 transformations, networking and compiler optimizations,
                 among many other areas. In his seminal work, Kozen
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "29",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Yuan:2022:TSR,
  author =       "Charles Yuan and Christopher McNally and Michael
                 Carbin",
  title =        "{Twist}: sound reasoning for purity and entanglement
                 in Quantum programs",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "30:1--30:32",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498691",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498691",
  abstract =     "Quantum programming languages enable developers to
                 implement algorithms for quantum computers that promise
                 computational breakthroughs in classically intractable
                 tasks. Programming quantum computers requires awareness
                 of entanglement, the phenomenon in \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "30",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{DalLago:2022:RTE,
  author =       "Ugo {Dal Lago} and Francesco Gavazzo",
  title =        "A relational theory of effects and coeffects",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "31:1--31:28",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498692",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498692",
  abstract =     "Graded modal types systems and coeffects are becoming
                 a standard formalism to deal with context-dependent,
                 usage-sensitive computations, especially when combined
                 with computational effects. From a semantic
                 perspective, effectful and coeffectful \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "31",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Pujet:2022:OEN,
  author =       "Lo{\"\i}c Pujet and Nicolas Tabareau",
  title =        "Observational equality: now for good",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "32:1--32:27",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498693",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498693",
  abstract =     "Building on the recent extension of dependent type
                 theory with a universe of definitionally
                 proof-irrelevant types, we introduce TTobs, a new type
                 theory based on the setoidal interpretation of
                 dependent type theory. TTobs equips every type with an
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "32",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ohman:2022:VRC,
  author =       "Joakim {\"O}hman and Aleksandar Nanevski",
  title =        "Visibility reasoning for concurrent snapshot
                 algorithms",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "33:1--33:30",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498694",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498694",
  abstract =     "Visibility relations have been proposed by Henzinger
                 et al. as an abstraction for proving linearizability of
                 concurrent algorithms that obtains modular and reusable
                 proofs. This is in contrast to the customary approach
                 based on exhibiting the algorithm'. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "33",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Raad:2022:CIS,
  author =       "Azalea Raad and Josh Berdine and Derek Dreyer and
                 Peter W. O'Hearn",
  title =        "Concurrent incorrectness separation logic",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "34:1--34:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498695",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498695",
  abstract =     "Incorrectness separation logic (ISL) was recently
                 introduced as a theory of under-approximate reasoning,
                 with the goal of proving that compositional bug
                 catchers find actual bugs. However, ISL only considers
                 sequential programs. Here, we develop \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "34",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhang:2022:RM,
  author =       "Yihong Zhang and Yisu Remy Wang and Max Willsey and
                 Zachary Tatlock",
  title =        "Relational e-matching",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "35:1--35:22",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498696",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498696",
  abstract =     "We present a new approach to e-matching based on
                 relational join; in particular, we apply recent
                 database query execution techniques to guarantee
                 worst-case optimal run time. Compared to the
                 conventional backtracking approach that always searches
                 the e-. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "35",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Le:2022:QIS,
  author =       "Xuan-Bach Le and Shang-Wei Lin and Jun Sun and David
                 Sanan",
  title =        "A Quantum interpretation of separating conjunction for
                 local reasoning of Quantum programs based on separation
                 logic",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "36:1--36:27",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498697",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498697",
  abstract =     "It is well-known that quantum programs are not only
                 complicated to design but also challenging to verify
                 because the quantum states can have exponential size
                 and require sophisticated mathematics to encode and
                 manipulate. To tackle the state-space \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "36",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Blanvillain:2022:TLP,
  author =       "Olivier Blanvillain and Jonathan Immanuel
                 Brachth{\"a}user and Maxime Kjaer and Martin Odersky",
  title =        "Type-level programming with match types",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "37:1--37:24",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498698",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498698",
  abstract =     "Type-level programming is becoming more and more
                 popular in the realm of functional programming.
                 However, the combination of type-level programming and
                 subtyping remains largely unexplored in practical
                 programming languages. This paper presents match
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "37",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Loehr:2022:SMP,
  author =       "Devon Loehr and David Walker",
  title =        "Safe, modular packet pipeline programming",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "38:1--38:28",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498699",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498699",
  abstract =     "The P4 language and programmable switch hardware, like
                 the Intel Tofino, have made it possible for network
                 engineers to write new programs that customize
                 operation of computer networks, thereby improving
                 performance, fault-tolerance, energy use, and
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "38",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Jang:2022:MMU,
  author =       "Junyoung Jang and Samuel G{\'e}lineau and Stefan
                 Monnier and Brigitte Pientka",
  title =        "{Moebius}: metaprogramming using contextual types: the
                 stage where system f can pattern match on itself",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "39:1--39:27",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498700",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498700",
  abstract =     "We describe the foundation of the metaprogramming
                 language, Moebius, which supports the generation of
                 polymorphic code and, more importantly, the analysis of
                 polymorphic code via pattern matching. Moebius has two
                 main ingredients: (1) we exploit \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "39",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Eichholz:2022:DTD,
  author =       "Matthias Eichholz and Eric Hayden Campbell and
                 Matthias Krebs and Nate Foster and Mira Mezini",
  title =        "Dependently-typed data plane programming",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "40:1--40:28",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498701",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498701",
  abstract =     "Programming languages like P4 enable specifying the
                 behavior of network data planes in software. However,
                 with increasingly powerful and complex applications
                 running in the network, the risk of faults also
                 increases. Hence, there is growing recognition
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "40",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chistikov:2022:SCC,
  author =       "Dmitry Chistikov and Rupak Majumdar and Philipp
                 Schepper",
  title =        "Subcubic certificates for {CFL} reachability",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "41:1--41:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498702",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498702",
  abstract =     "Many problems in interprocedural program analysis can
                 be modeled as the context-free language (CFL)
                 reachability problem on graphs and can be solved in
                 cubic time. Despite years of efforts, there are no
                 known truly sub-cubic algorithms for this problem.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "41",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Vale:2022:LOB,
  author =       "Arthur Oliveira Vale and Paul-Andr{\'e} Melli{\`e}s
                 and Zhong Shao and J{\'e}r{\'e}mie Koenig and L{\'e}o
                 Stefanesco",
  title =        "Layered and object-based game semantics",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "42:1--42:32",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498703",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498703",
  abstract =     "Large-scale software verification relies critically on
                 the use of compositional languages, semantic models,
                 specifications, and verification techniques. Recent
                 work on certified abstraction layers synthesizes game
                 semantics, the refinement calculus, and \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "42",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Muller:2022:PGP,
  author =       "Mark Niklas M{\"u}ller and Gleb Makarchuk and
                 Gagandeep Singh and Markus P{\"u}schel and Martin
                 Vechev",
  title =        "{PRIMA}: general and precise neural network
                 certification via scalable convex hull approximations",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "43:1--43:33",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498704",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498704",
  abstract =     "Formal verification of neural networks is critical for
                 their safe adoption in real-world applications.
                 However, designing a precise and scalable verifier
                 which can handle different activation functions,
                 realistic network architectures and relevant \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "43",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kammar:2022:FAM,
  author =       "Ohad Kammar and Shin-ya Katsumata and Philip Saville",
  title =        "Fully abstract models for effectful $ \lambda
                 $-calculi via category-theoretic logical relations",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "44:1--44:28",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498705",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498705",
  abstract =     "We present a construction which, under suitable
                 assumptions, takes a model of Moggi's computational $
                 \lambda $-calculus with sum types, effect operations
                 and primitives, and yields a model that is adequate and
                 fully abstract. The construction, which uses the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "44",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chen:2022:SSC,
  author =       "Taolue Chen and Alejandro Flores-Lamas and Matthew
                 Hague and Zhilei Han and Denghang Hu and Shuanglong Kan
                 and Anthony W. Lin and Philipp R{\"u}mmer and Zhilin
                 Wu",
  title =        "Solving string constraints with Regex-dependent
                 functions through transducers with priorities and
                 variables",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "45:1--45:31",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498707",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/string-matching.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498707",
  abstract =     "Regular expressions are a classical concept in formal
                 language theory. Regular expressions in programming
                 languages (RegEx) such as JavaScript, feature
                 non-standard semantics of operators (e.g. greedy/lazy
                 Kleene star), as well as additional features \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "45",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Muller:2022:SPP,
  author =       "Stefan K. Muller",
  title =        "Static prediction of parallel computation graphs",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "46:1--46:31",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498708",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498708",
  abstract =     "Many algorithms for analyzing parallel programs, for
                 example to detect deadlocks or data races or to
                 calculate the execution cost, are based on a model
                 variously known as a cost graph, computation graph or
                 dependency graph, which captures the parallel
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "46",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Porncharoenwase:2022:FFS,
  author =       "Sorawee Porncharoenwase and Luke Nelson and Xi Wang
                 and Emina Torlak",
  title =        "A formal foundation for symbolic evaluation with
                 merging",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "47:1--47:28",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498709",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498709",
  abstract =     "Reusable symbolic evaluators are a key building block
                 of solver-aided verification and synthesis tools. A
                 reusable evaluator reduces the semantics of all paths
                 in a program to logical constraints, and a client tool
                 uses these constraints to formulate a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "47",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Krawiec:2022:PCA,
  author =       "Faustyna Krawiec and Simon Peyton Jones and Neel
                 Krishnaswami and Tom Ellis and Richard A. Eisenberg and
                 Andrew Fitzgibbon",
  title =        "Provably correct, asymptotically efficient,
                 higher-order reverse-mode automatic differentiation",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "48:1--48:30",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498710",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498710",
  abstract =     "In this paper, we give a simple and efficient
                 implementation of reverse-mode automatic
                 differentiation, which both extends easily to
                 higher-order functions, and has run time and memory
                 consumption linear in the run time of the original
                 program. In \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "48",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kokologiannakis:2022:TSO,
  author =       "Michalis Kokologiannakis and Iason Marmanis and
                 Vladimir Gladstein and Viktor Vafeiadis",
  title =        "Truly stateless, optimal dynamic partial order
                 reduction",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "49:1--49:28",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498711",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498711",
  abstract =     "Dynamic partial order reduction (DPOR) verifies
                 concurrent programs by exploring all their
                 interleavings up to some equivalence relation, such as
                 the Mazurkiewicz trace equivalence. Doing so involves a
                 complex trade-off between space and time. Existing
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "49",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Padon:2022:IDP,
  author =       "Oded Padon and James R. Wilcox and Jason R. Koenig and
                 Kenneth L. McMillan and Alex Aiken",
  title =        "Induction duality: primal-dual search for invariants",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "50:1--50:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498712",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498712",
  abstract =     "Many invariant inference techniques reason
                 simultaneously about states and predicates, and it is
                 well-known that these two kinds of reasoning are in
                 some sense dual to each other. We present a new formal
                 duality between states and predicates, and use it
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "50",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ye:2022:OAD,
  author =       "Qianchuan Ye and Benjamin Delaware",
  title =        "Oblivious algebraic data types",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "51:1--51:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498713",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498713",
  abstract =     "Secure computation allows multiple parties to compute
                 joint functions over private data without leaking any
                 sensitive data, typically using powerful cryptographic
                 techniques. Writing secure applications using these
                 techniques directly can be challenging,. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "51",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{He:2022:PIR,
  author =       "Wenlei He and Juli{\'a}n Mestre and Sergey Pupyrev and
                 Lei Wang and Hongtao Yu",
  title =        "Profile inference revisited",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "52:1--52:24",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498714",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498714",
  abstract =     "Profile-guided optimization (PGO) is an important
                 component in modern compilers. By allowing the compiler
                 to leverage the program's dynamic behavior, it can
                 often generate substantially faster binaries.
                 Sampling-based profiling is the state-of-the-art
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "52",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Fiore:2022:FMS,
  author =       "Marcelo Fiore and Dmitrij Szamozvancev",
  title =        "Formal metatheory of second-order abstract syntax",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "53:1--53:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498715",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498715",
  abstract =     "Despite extensive research both on the theoretical and
                 practical fronts, formalising, reasoning about, and
                 implementing languages with variable binding is still a
                 daunting endeavour --- repetitive boilerplate and the
                 overly complicated metatheory of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "53",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Jeffrey:2022:LSC,
  author =       "Alan Jeffrey and James Riely and Mark Batty and Simon
                 Cooksey and Ilya Kaysin and Anton Podkopaev",
  title =        "The leaky semicolon: compositional semantic
                 dependencies for relaxed-memory concurrency",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "54:1--54:30",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498716",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498716",
  abstract =     "Program logics and semantics tell a pleasant story
                 about sequential composition: when executing (S1;S2),
                 we first execute S1 then S2. To improve performance,
                 however, processors execute instructions out of order,
                 and compilers reorder programs even more \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "54",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Liu:2022:VTP,
  author =       "Amanda Liu and Gilbert Louis Bernstein and Adam
                 Chlipala and Jonathan Ragan-Kelley",
  title =        "Verified tensor-program optimization via high-level
                 scheduling rewrites",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "55:1--55:28",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498717",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498717",
  abstract =     "We present a lightweight Coq framework for optimizing
                 tensor kernels written in a pure, functional array
                 language. Optimizations rely on user scheduling using
                 series of verified, semantics-preserving rewrites.
                 Unusually for compilation targeting \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "55",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Laurel:2022:DNA,
  author =       "Jacob Laurel and Rem Yang and Gagandeep Singh and Sasa
                 Misailovic",
  title =        "A dual number abstraction for static analysis of
                 {Clarke} {Jacobians}",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "56:1--56:30",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498718",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498718",
  abstract =     "We present a novel abstraction for bounding the Clarke
                 Jacobian of a Lipschitz continuous, but not necessarily
                 differentiable function over a local input region. To
                 do so, we leverage a novel abstract domain built upon
                 dual numbers, adapted to soundly \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "56",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Bao:2022:SLN,
  author =       "Jialu Bao and Marco Gaboardi and Justin Hsu and Joseph
                 Tassarotti",
  title =        "A separation logic for negative dependence",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "57:1--57:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498719",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498719",
  abstract =     "Formal reasoning about hashing-based probabilistic
                 data structures often requires reasoning about random
                 variables where when one variable gets larger (such as
                 the number of elements hashed into one bucket), the
                 others tend to be smaller (like the \ldots{})",
  acknowledgement = ack-nhfb,
  articleno =    "57",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Jeon:2022:RCC,
  author =       "Minseok Jeon and Hakjoo Oh",
  title =        "Return of {CFA}: call-site sensitivity can be superior
                 to object sensitivity even for object-oriented
                 programs",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "58:1--58:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498720",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498720",
  abstract =     "In this paper, we challenge the commonly-accepted
                 wisdom in static analysis that object sensitivity is
                 superior to call-site sensitivity for object-oriented
                 programs. In static analysis of object-oriented
                 programs, object sensitivity has been \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "58",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Campion:2022:PCA,
  author =       "Marco Campion and Mila {Dalla Preda} and Roberto
                 Giacobazzi",
  title =        "{Partial (In)Completeness} in abstract interpretation:
                 limiting the imprecision in program analysis",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "59:1--59:31",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498721",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498721",
  abstract =     "Imprecision is inherent in any decidable (sound)
                 approximation of undecidable program properties. In
                 abstract interpretation this corresponds to the release
                 of false alarms, e.g., when it is used for program
                 analysis and program verification. As all \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "59",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{K:2022:SCH,
  author =       "Hari Govind V. K. and Sharon Shoham and Arie
                 Gurfinkel",
  title =        "Solving constrained {Horn} clauses modulo algebraic
                 data types and recursive functions",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "60:1--60:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498722",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498722",
  abstract =     "This work addresses the problem of verifying
                 imperative programs that manipulate data structures,
                 e.g., Rust programs. Data structures are usually
                 modeled by Algebraic Data Types (ADTs) in verification
                 conditions. Inductive invariants of such programs
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "60",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Xie:2022:SCS,
  author =       "Ningning Xie and Matthew Pickering and Andres L{\"o}h
                 and Nicolas Wu and Jeremy Yallop and Meng Wang",
  title =        "Staging with class: a specification for typed template
                 {Haskell}",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "61:1--61:30",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498723",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498723",
  abstract =     "Multi-stage programming using typed code quotation is
                 an established technique for writing optimizing code
                 generators with strong type-safety guarantees.
                 Unfortunately, quotation in Haskell interacts poorly
                 with type classes, making it difficult to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "61",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Li:2022:EAD,
  author =       "Yuanbo Li and Kris Satya and Qirun Zhang",
  title =        "Efficient algorithms for dynamic bidirected
                 {Dyck}-reachability",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "62:1--62:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498724",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498724",
  abstract =     "Dyck-reachability is a fundamental formulation for
                 program analysis, which has been widely used to capture
                 properly-matched-parenthesis program properties such as
                 function calls/returns and field writes/reads.
                 Bidirected Dyck-reachability is a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "62",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Tsukada:2022:SMC,
  author =       "Takeshi Tsukada and Hiroshi Unno",
  title =        "Software model-checking as cyclic-proof search",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "63:1--63:29",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498725",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498725",
  abstract =     "This paper shows that a variety of software
                 model-checking algorithms can be seen as proof-search
                 strategies for a non-standard proof system, known as a
                 cyclic proof system. Our use of the cyclic proof system
                 as a logical foundation of software model \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "63",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Hou:2022:LPT,
  author =       "Kuen-Bang Hou (Favonia) and Zhuyang Wang",
  title =        "Logarithm and program testing",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "64:1--64:26",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498726",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498726",
  abstract =     "Randomized property-based testing has gained much
                 attention recently, but most frameworks stop short at
                 polymorphic properties. Although Bernardy et al. have
                 developed a theory to reduce a wide range of
                 polymorphic properties to monomorphic ones, it
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "64",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Karimov:2022:WDA,
  author =       "Toghrul Karimov and Engel Lefaucheux and Jo{\"e}l
                 Ouaknine and David Purser and Anton Varonka and Markus
                 A. Whiteland and James Worrell",
  title =        "What's decidable about linear loops?",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "POPL",
  pages =        "65:1--65:25",
  month =        jan,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3498727",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Thu May 26 06:32:48 MDT 2022",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3498727",
  abstract =     "We consider the MSO model-checking problem for simple
                 linear loops, or equivalently discrete-time linear
                 dynamical systems, with semialgebraic predicates (i.e.,
                 Boolean combinations of polynomial inequalities on the
                 variables). We place no restrictions \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "65",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ramsey:2022:BRR,
  author =       "Norman Ramsey",
  title =        "Beyond Relooper: recursive translation of unstructured
                 control flow to structured control flow (functional
                 pearl)",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "90:1--90:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547621",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547621",
  abstract =     "In many compilers, control flow is represented using
                 an arbitrary directed graph. But in some interesting
                 target languages, including JavaScript \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "90",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Koppel:2022:SEP,
  author =       "James Koppel and Zheng Guo and Edsko de Vries and
                 Armando Solar-Lezama and Nadia Polikarpova",
  title =        "Searching entangled program spaces",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "91:1--91:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547622",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547622",
  abstract =     "Many problem domains, including program synthesis and
                 rewrite-based optimization, require searching
                 astronomically large spaces of programs. Existing
                 approaches \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "91",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Materzok:2022:GCG,
  author =       "Marek Materzok",
  title =        "Generating circuits with generators",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "92:1--92:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3549821",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3549821",
  abstract =     "The most widely used languages and methods used for
                 designing digital hardware fall into two rough
                 categories. One of them, register transfer level (RTL),
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "92",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Bahr:2022:MCC,
  author =       "Patrick Bahr and Graham Hutton",
  title =        "Monadic compiler calculation (functional pearl)",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "93:1--93:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547624",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547624",
  abstract =     "Bahr and Hutton recently developed a new approach to
                 calculating correct compilers directly from
                 specifications of their correctness. However, the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "93",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Biernacka:2022:SEI,
  author =       "Ma{\l}gorzata Biernacka and Witold Charatonik and
                 Tomasz Drab",
  title =        "A simple and efficient implementation of strong call
                 by need by an abstract machine",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "94:1--94:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3549822",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3549822",
  abstract =     "We present an abstract machine for a strong
                 call-by-need strategy in the lambda calculus. The
                 machine has been derived automatically from a
                 higher-order \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "94",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Spiwack:2022:LQT,
  author =       "Arnaud Spiwack and Csongor Kiss and Jean-Philippe
                 Bernardy and Nicolas Wu and Richard A. Eisenberg",
  title =        "Linearly qualified types: generic inference for
                 capabilities and uniqueness",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "95:1--95:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547626",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547626",
  abstract =     "A linear parameter must be consumed exactly once in
                 the body of its function. When declaring resources such
                 as file handles and manually managed \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "95",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Eremondi:2022:PEG,
  author =       "Joseph Eremondi and Ronald Garcia and {\'E}ric
                 Tanter",
  title =        "Propositional equality for gradual dependently typed
                 programming",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "96:1--96:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547627",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547627",
  abstract =     "Gradual dependent types can help with the incremental
                 adoption of dependently typed code by providing a
                 principled semantics for imprecise types and proofs,
                 where \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "96",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Keuchel:2022:VSE,
  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 =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "97:1--97:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547628",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547628",
  abstract =     "Verifying soundness of symbolic execution-based
                 program verifiers is a significant challenge. This is
                 especially true if the resulting tool needs to be
                 usable \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "97",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ko:2022:DGP,
  author =       "Hsiang-Shang Ko and Liang-Ting Chen and Tzu-Chi Lin",
  title =        "Datatype-generic programming meets elaborator
                 reflection",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "98:1--98:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547629",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547629",
  abstract =     "Datatype-generic programming is natural and useful in
                 dependently typed languages such as Agda. However,
                 datatype-generic libraries in Agda are not reused as
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "98",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Yoon:2022:FRA,
  author =       "Irene Yoon and Yannick Zakowski and Steve Zdancewic",
  title =        "Formal reasoning about layered monadic interpreters",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "99:1--99:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547630",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547630",
  abstract =     "Monadic computations built by interpreting, or
                 handling, operations of a free monad are a compelling
                 formalism for modeling language semantics and defining
                 the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "99",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Spies:2022:LCR,
  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 =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "100:1--100:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547631",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547631",
  abstract =     "In the past two decades, step-indexed logical
                 relations and separation logics have both come to play
                 a major role in semantics and verification research.
                 More \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "100",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Li:2022:PAT,
  author =       "Yao Li and Stephanie Weirich",
  title =        "Program adverbs and {Tl{\"o}n} embeddings",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "101:1--101:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547632",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547632",
  abstract =     "Free monads (and their variants) have become a popular
                 general-purpose tool for representing the semantics of
                 effectful programs in proof assistants. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "101",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Rivera:2022:SVP,
  author =       "Elijah Rivera and Shriram Krishnamurthi",
  title =        "Structural versus pipeline composition of higher-order
                 functions (experience report)",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "102:1--102:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547633",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547633",
  abstract =     "In teaching students to program with compositions of
                 higher-order functions, we have encountered a sharp
                 distinction in the difficulty of problems as perceived
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "102",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lorenzen:2022:RCF,
  author =       "Anton Lorenzen and Daan Leijen",
  title =        "Reference counting with frame limited reuse",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "103:1--103:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547634",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547634",
  abstract =     "The recently introduced _Perceus_ algorithm can
                 automatically insert reference count instructions such
                 that the resulting (cycle-free) program is _garbage
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "103",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Nguyen:2022:MPM,
  author =       "Minh Nguyen and Roly Perera and Meng Wang and Nicolas
                 Wu",
  title =        "Modular probabilistic models via algebraic effects",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "104:1--104:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547635",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547635",
  abstract =     "Probabilistic programming languages (PPLs) allow
                 programmers to construct statistical models and then
                 simulate data or perform inference over them. Many PPLs
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "104",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{vanderRest:2022:CUA,
  author =       "Cas van der Rest and Wouter Swierstra",
  title =        "A completely unique account of enumeration",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "105:1--105:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547636",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547636",
  abstract =     "How can we enumerate the inhabitants of an algebraic
                 datatype? This paper explores a datatype generic
                 solution that works for all regular types and indexed
                 families. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "105",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ostermann:2022:IEL,
  author =       "Klaus Ostermann and David Binder and Ingo Skupin and
                 Tim S{\"u}berkr{\"u}b and Paul Downen",
  title =        "Introduction and elimination, left and right",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "106:1--106:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547637",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547637",
  abstract =     "Functional programming language design has been shaped
                 by the framework of natural deduction, in which
                 language constructs are divided into \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "106",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Jacobs:2022:MGF,
  author =       "Jules Jacobs and Stephanie Balzer and Robbert
                 Krebbers",
  title =        "Multiparty {GV}: functional multiparty session types
                 with certified deadlock freedom",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "107:1--107:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547638",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547638",
  abstract =     "Session types have recently been integrated with
                 functional languages, bringing message-passing
                 concurrency to functional programming. Channel
                 endpoints \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "107",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Thomson:2022:FIA,
  author =       "Patrick Thomson and Rob Rix and Nicolas Wu and Tom
                 Schrijvers",
  title =        "Fusing industry and academia at {GitHub} (experience
                 report)",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "108:1--108:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547639",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547639",
  abstract =     "GitHub hosts hundreds of millions of code repositories
                 written in hundreds of different programming languages.
                 In addition to its hosting services, GitHub provides
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "108",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ullrich:2022:DUE,
  author =       "Sebastian Ullrich and Leonardo de Moura",
  title =        "`do' unchained: embracing local imperativity in a
                 purely functional language (functional pearl)",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "109:1--109:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547640",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547640",
  abstract =     "Purely functional programming languages pride
                 themselves with reifying effects that are implicit in
                 imperative languages into reusable and composable
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "109",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kovacs:2022:SCT,
  author =       "Andr{\'a}s Kov{\'a}cs",
  title =        "Staged compilation with two-level type theory",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "110:1--110:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547641",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547641",
  abstract =     "The aim of staged compilation is to enable
                 metaprogramming in a way such that we have guarantees
                 about the well-formedness of code output, and we can
                 also \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "110",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Emrich:2022:CBT,
  author =       "Frank Emrich and Jan Stolarek and James Cheney and Sam
                 Lindley",
  title =        "Constraint-based type inference for {FreezeML}",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "111:1--111:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547642",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547642",
  abstract =     "FreezeML is a new approach to first-class polymorphic
                 type inference that employs term annotations to control
                 when and how polymorphic types are instantiated
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "111",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Vasilenko:2022:SCC,
  author =       "Elizaveta Vasilenko and Niki Vazou and Gilles Barthe",
  title =        "Safe couplings: coupled refinement types",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "112:1--112:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547643",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547643",
  abstract =     "We enhance refinement types with mechanisms to reason
                 about relational properties of probabilistic
                 computations. Our mechanisms, which are inspired
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "112",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Escot:2022:PGP,
  author =       "Lucas Escot and Jesper Cockx",
  title =        "Practical generic programming over a universe of
                 native datatypes",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "113:1--113:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547644",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547644",
  abstract =     "Datatype-generic programming makes it possible to
                 define a construction once and apply it to a large
                 class of datatypes. It is often used to avoid code
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "113",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Quiring:2022:ABE,
  author =       "Benjamin Quiring and John Reppy and Olin Shivers",
  title =        "Analyzing binding extent in {3CPS}",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "114:1--114:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547645",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547645",
  abstract =     "To date, the most effective approach to compiling
                 strict, higher-order functional languages (such as
                 OCaml, Scheme, and SML) has been to use \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "114",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Westrick:2022:EDN,
  author =       "Sam Westrick and Jatin Arora and Umut A. Acar",
  title =        "Entanglement detection with near-zero cost",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "115:1--115:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547646",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547646",
  abstract =     "Recent research on parallel functional programming has
                 culminated in a provably efficient (in work and space)
                 parallel memory manager, which has been \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "115",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ho:2022:ARV,
  author =       "Son Ho and Jonathan Protzenko",
  title =        "{Aeneas}: Rust verification by functional
                 translation",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "116:1--116:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547647",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/rust.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547647",
  abstract =     "We present Aeneas, a new verification toolchain for
                 Rust programs based on a lightweight functional
                 translation. We leverage Rust's rich region-based type
                 system to eliminate memory reasoning for a large class
                 of Rust programs, as long as they do not rely on
                 interior mutability or unsafe code. Doing so, we
                 relieve the proof engineer of the burden of
                 memory-based reasoning, allowing them to instead focus
                 on functional properties of their code.\par

                 The first contribution of Aeneas is a new approach to
                 borrows and controlled aliasing. We propose a pure,
                 functional semantics for LLBC, a Low-Level Borrow
                 Calculus that captures a large subset of Rust programs.
                 Our semantics is value-based, meaning there is no
                 notion of memory, addresses or pointer arithmetic. Our
                 semantics is also ownership-centric, meaning that we
                 enforce soundness of borrows via a semantic criterion
                 based on loans rather than through a syntactic
                 type-based lifetime discipline. We claim that our
                 semantics captures the essence of the borrow mechanism
                 rather than its current implementation in the Rust
                 compiler.\par

                 The second contribution of Aeneas is a translation from
                 LLBC to a pure lambda-calculus. This allows the user to
                 reason about the original Rust program through the
                 theorem prover of their choice, and fulfills our
                 promise of enabling lightweight verification of Rust
                 programs. To deal with the well-known technical
                 difficulty of terminating a borrow, we rely on a novel
                 approach, in which we approximate the borrow graph in
                 the presence of function calls. This in turn allows us
                 to perform the translation using a new technical device
                 called backward functions.\par

                 We implement our toolchain in a mixture of Rust and
                 OCaml; our chief case study is a low-level, resizing
                 hash table, for which we prove functional correctness,
                 the first such result in Rust. Our evaluation shows
                 significant gains of verification productivity for the
                 programmer. This paper therefore establishes a new
                 point in the design space of Rust verification
                 toolchains, one that aims to verify Rust programs
                 simply, and at scale.\par

                 Rust goes to great lengths to enforce static control of
                 aliasing; the proof engineer should not waste any time
                 on memory reasoning when so much already comes ``for
                 free''!",
  acknowledgement = ack-nhfb,
  articleno =    "116",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Koppel:2022:ADC,
  author =       "James Koppel and Jackson Kearl and Armando
                 Solar-Lezama",
  title =        "Automatically deriving control-flow graph generators
                 from operational semantics",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "117:1--117:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547648",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547648",
  abstract =     "We develop the first theory of control-flow graphs
                 from first principles, and use it to create an
                 algorithm for automatically synthesizing many variants
                 of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "117",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Valliappan:2022:NFS,
  author =       "Nachiappan Valliappan and Fabian Ruch and Carlos
                 Tom{\'e} Corti{\~n}as",
  title =        "Normalization for fitch-style modal calculi",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "118:1--118:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547649",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547649",
  abstract =     "Fitch-style modal lambda calculi enable programming
                 with necessity modalities in a typed lambda calculus by
                 extending the typing context with a delimiting
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "118",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Accattoli:2022:MTR,
  author =       "Beniamino Accattoli and Ugo {Dal Lago} and Gabriele
                 Vanoni",
  title =        "Multi types and reasonable space",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "119:1--119:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547650",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547650",
  abstract =     "Accattoli, Dal Lago, and Vanoni have recently proved
                 that the space used by the Space KAM, a variant of the
                 Krivine abstract machine, is a reasonable space
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "119",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Barthe:2022:FCF,
  author =       "Gilles Barthe and Rapha{\"e}lle Crubill{\'e} and Ugo
                 {Dal Lago} and Francesco Gavazzo",
  title =        "On {Feller} continuity and full abstraction",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "120:1--120:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547651",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547651",
  abstract =     "We study the nature of applicative bisimilarity in
                 $\lambda$-calculi endowed with operators for sampling
                 from contin- uous distributions. On the one hand, we
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "120",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Accattoli:2022:TCV,
  author =       "Beniamino Accattoli and Giulio Guerrieri",
  title =        "The theory of call-by-value solvability",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "121:1--121:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547652",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547652",
  abstract =     "The semantics of the untyped (call-by-name)
                 lambda-calculus is a well developed field built around
                 the concept of solvable terms, which are elegantly
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "121",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Hoang:2022:RTH,
  author =       "Tram Hoang and Anton Trunov and Leonidas Lampropoulos
                 and Ilya Sergey",
  title =        "Random testing of a higher-order blockchain language
                 (experience report)",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "122:1--122:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547653",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547653",
  abstract =     "We describe our experience of using property-based
                 testing---an approach for automatically generating
                 random inputs to check executable program \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "122",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Katsumata:2022:FPG,
  author =       "Shin-ya Katsumata and Dylan McDermott and Tarmo
                 Uustalu and Nicolas Wu",
  title =        "Flexible presentations of graded monads",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "123:1--123:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547654",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547654",
  abstract =     "A large class of monads used to model computational
                 effects have natural presentations by operations and
                 equations, for example, the list monad can be
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "123",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Maillard:2022:RGT,
  author =       "Kenji Maillard and Meven Lennon-Bertrand and Nicolas
                 Tabareau and {\'E}ric Tanter",
  title =        "A reasonably gradual type theory",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "ICFP",
  pages =        "124:1--124:??",
  month =        aug,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3547655",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:35 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3547655",
  abstract =     "Gradualizing the Calculus of Inductive Constructions
                 (CIC) involves dealing with subtle tensions between
                 normalization, graduality, and conservativity with
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "124",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ritter:2022:AAI,
  author =       "Fabian Ritter and Sebastian Hack",
  title =        "{AnICA}: analyzing inconsistencies in
                 microarchitectural code analyzers",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "125:1--125:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563288",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563288",
  abstract =     "Microarchitectural code analyzers, i.e., tools that
                 estimate the throughput of machine code basic blocks,
                 are important utensils in the tool belt of performance
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "125",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Xie:2022:FCN,
  author =       "Ningning Xie and Youyou Cong and Kazuki Ikemori and
                 Daan Leijen",
  title =        "First-class names for effect handlers",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "126:1--126:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563289",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563289",
  abstract =     "Algebraic effects and handlers are a promising
                 technique for incorporating composable computational
                 effects into functional programming \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "126",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Liu:2022:CVT,
  author =       "Mengqi Liu and Zhong Shao and Hao Chen and Man-Ki Yoon
                 and Jung-Eun Kim",
  title =        "Compositional virtual timelines: verifying
                 dynamic-priority partitions with algorithmic temporal
                 isolation",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "127:1--127:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563290",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563290",
  abstract =     "Real-time systems power safety-critical applications
                 that require strong isolation among each other. Such
                 isolation needs to be enforced at two orthogonal
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "127",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Goldstein:2022:PR,
  author =       "Harrison Goldstein and Benjamin C. Pierce",
  title =        "Parsing randomness",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "128:1--128:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563291",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563291",
  abstract =     "Random data generators can be thought of as parsers of
                 streams of randomness. This perspective on generators
                 for random data structures is established folklore in
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "128",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Haas:2022:CCT,
  author =       "Thomas Haas and Roland Meyer and Hern{\'a}n Ponce de
                 Le{\'o}n",
  title =        "{CAAT}: consistency as a theory",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "129:1--129:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563292",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563292",
  abstract =     "We propose a family of logical theories for capturing
                 an abstract notion of consistency and show how to build
                 a generic and efficient theory solver that works
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "129",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ahrens:2022:RAD,
  author =       "Emma Ahrens and Marius Bozga and Radu Iosif and
                 Joost-Pieter Katoen",
  title =        "Reasoning about distributed reconfigurable systems",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "130:1--130:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563293",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563293",
  abstract =     "This paper presents a Hoare-style calculus for formal
                 reasoning about reconfiguration programs of distributed
                 systems. Such programs create and delete \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "130",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Sun:2022:CED,
  author =       "Yaozhu Sun and Utkarsh Dhandhania and Bruno C. d. S.
                 Oliveira",
  title =        "Compositional embeddings of domain-specific
                 languages",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "131:1--131:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563294",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563294",
  abstract =     "A common approach to defining domain-specific
                 languages (DSLs) is via a direct embedding into a host
                 language. There are several well-known techniques to
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "131",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Liu:2022:SLI,
  author =       "Hongming Liu and Hongfei Fu and Zhiyong Yu and Jiaxin
                 Song and Guoqiang Li",
  title =        "Scalable linear invariant generation with {Farkas}'
                 lemma",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "132:1--132:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563295",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563295",
  abstract =     "Invariant generation is a classical problem to
                 automatically generate invariants to aid the formal
                 analysis of programs. In this work, we consider the
                 problem of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "132",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ritschel:2022:CGD,
  author =       "Nico Ritschel and Felipe Fronchetti and Reid Holmes
                 and Ronald Garcia and David C. Shepherd",
  title =        "Can guided decomposition help end-users write larger
                 block-based programs? {A} mobile robot experiment",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "133:1--133:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563296",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563296",
  abstract =     "Block-based programming environments, already popular
                 in computer science education, have been successfully
                 used to make programming accessible to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "133",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Yuan:2022:TDS,
  author =       "Charles Yuan and Michael Carbin",
  title =        "Tower: data structures in Quantum superposition",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "134:1--134:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563297",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563297",
  abstract =     "Emerging quantum algorithms for problems such as
                 element distinctness, subset sum, and closest pair
                 demonstrate computational advantages by relying on
                 abstract \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "134",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{DOsualdo:2022:PHC,
  author =       "Emanuele D'Osualdo and Azadeh Farzan and Derek
                 Dreyer",
  title =        "Proving hypersafety compositionally",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "135:1--135:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563298",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563298",
  abstract =     "Hypersafety properties of arity n are program
                 properties that relate n traces of a program (or, more
                 generally, traces of n programs). Classic examples
                 include \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "135",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Liu:2022:BSG,
  author =       "Si Liu and Jose Meseguer and Peter Csaba {\"O}lveczky
                 and Min Zhang and David Basin",
  title =        "Bridging the semantic gap between qualitative and
                 quantitative models of distributed systems",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "136:1--136:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563299",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563299",
  abstract =     "Today's distributed systems must satisfy both
                 qualitative and quantitative properties. These
                 properties are analyzed using very different formal
                 frameworks: \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "136",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Sela:2022:CS,
  author =       "Gal Sela and Erez Petrank",
  title =        "Concurrent size",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "137:1--137:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563300",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563300",
  abstract =     "The size of a data structure (i.e., the number of
                 elements in it) is a widely used property of a data
                 set. However, for concurrent programs, obtaining a
                 correct size \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "137",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Bierhoff:2022:WNW,
  author =       "Kevin Bierhoff",
  title =        "Wildcards need witness protection",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "138:1--138:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563301",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563301",
  abstract =     "In this paper, we show that the unsoundness discovered
                 by Amin and Tate (2016) in Java's wildcards is
                 avoidable, even in the absence of a nullness-aware type
                 system. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "138",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhang:2022:OLP,
  author =       "Yuhao Zhang and Yasharth Bajpai and Priyanshu Gupta
                 and Ameya Ketkar and Miltiadis Allamanis and Titus
                 Barik and Sumit Gulwani and Arjun Radhakrishna and
                 Mohammad Raza and Gustavo Soares and Ashish Tiwari",
  title =        "Overwatch: learning patterns in code edit sequences",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "139:1--139:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563302",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563302",
  abstract =     "Integrated Development Environments (IDEs) provide
                 tool support to automate many source code editing
                 tasks. Traditionally, IDEs use only the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "139",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zwaan:2022:ITC,
  author =       "Aron Zwaan and Hendrik van Antwerpen and Eelco
                 Visser",
  title =        "Incremental type-checking for free: using scope graphs
                 to derive incremental type-checkers",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "140:1--140:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563303",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563303",
  abstract =     "Fast analysis response times in IDEs are essential for
                 a good editor experience. Incremental type-checking can
                 provide that in a scalable fashion. However, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "140",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Parreaux:2022:MPT,
  author =       "Lionel Parreaux and Chun Yin Chau",
  title =        "{MLstruct}: principal type inference in a {Boolean}
                 algebra of structural types",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "141:1--141:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563304",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563304",
  abstract =     "Intersection and union types are becoming more popular
                 by the day, entering the mainstream in programming
                 languages like TypeScript and Scala 3. Yet, no
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "141",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Hoeflich:2022:HIK,
  author =       "Joshua Hoeflich and Robert Bruce Findler and Manuel
                 Serrano",
  title =        "Highly illogical, {Kirk}: spotting type mismatches in
                 the large despite broken contracts, unsound types, and
                 too many linters",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "142:1--142:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563305",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563305",
  abstract =     "The DefinitelyTyped repository hosts type declarations
                 for thousands of JavaScript libraries. Given the lack
                 of formal connection between the types and the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "142",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Sivaraman:2022:DDL,
  author =       "Aishwarya Sivaraman and Alex Sanchez-Stern and Bretton
                 Chen and Sorin Lerner and Todd Millstein",
  title =        "Data-driven lemma synthesis for interactive proofs",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "143:1--143:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563306",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563306",
  abstract =     "Interactive proofs of theorems often require auxiliary
                 helper lemmas to prove the desired theorem. Existing
                 approaches for automatically synthesizing helper
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "143",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chen:2022:TDS,
  author =       "Qiaochu Chen and Shankara Pailoor and Celeste Barnaby
                 and Abby Criswell and Chenglong Wang and Greg Durrett
                 and I{\c{s}}il Dillig",
  title =        "Type-directed synthesis of visualizations from natural
                 language queries",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "144:1--144:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563307",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563307",
  abstract =     "We propose a new technique based on program synthesis
                 for automatically generating visualizations from
                 natural language queries. Our method \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "144",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chen:2022:SPO,
  author =       "Yanju Chen and Yuepeng Wang and Maruth Goyal and James
                 Dong and Yu Feng and I{\c{s}}il Dillig",
  title =        "Synthesis-powered optimization of smart contracts via
                 data type refactoring",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "145:1--145:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563308",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563308",
  abstract =     "Since executing a smart contract on the Ethereum
                 blockchain costs money (measured in gas ), smart
                 contract developers spend significant effort in
                 reducing gas \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "145",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Li:2022:VCQ,
  author =       "Liyi Li and Finn Voichick and Kesha Hietala and
                 Yuxiang Peng and Xiaodi Wu and Michael Hicks",
  title =        "Verified compilation of quantum oracles",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "146:1--146:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563309",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563309",
  abstract =     "Quantum algorithms often apply classical operations,
                 such as arithmetic or predicate checks, over a quantum
                 superposition of classical data; these so-called
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "146",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Mishra:2022:SGC,
  author =       "Ashish Mishra and Suresh Jagannathan",
  title =        "Specification-guided component-based synthesis from
                 effectful libraries",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "147:1--147:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563310",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563310",
  abstract =     "Component-based synthesis seeks to build programs
                 using the APIs provided by a set of libraries.
                 Oftentimes, these APIs have effects, which make it
                 challenging \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "147",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Titzer:2022:FPI,
  author =       "Ben L. Titzer",
  title =        "A fast in-place interpreter for {WebAssembly}",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "148:1--148:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563311",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563311",
  abstract =     "WebAssembly (Wasm) is a compact, well-specified
                 bytecode format that offers a portable compilation
                 target with near-native execution speed. The bytecode
                 format was specifically designed to be fast to parse,
                 validate, and compile, positioning itself as a portable
                 alternative to native code. It was pointedly not
                 designed to be interpreted directly. Instead, design
                 considerations at the time focused on competing with
                 native code, utilizing optimizing compilers as the
                 primary execution tier. Yet, in JIT scenarios,
                 compilation time and memory consumption critically
                 impact application startup, leading many Wasm engines
                 to later deploy faster single-pass (baseline)
                 compilers. Though faster, baseline compilers still take
                 time and waste code space for infrequently executed
                 code. A typical interpreter being infeasible, some
                 engines resort to compiling Wasm not to machine code,
                 but to a more compact, but easy to interpret
                 format. This still takes time and wastes
                 memory. Instead, we introduce in this article a fast
                 in-place interpreter for WebAssembly, where no rewrite
                 and no separate format is necessary. Our evaluation
                 shows that in-place interpretation of Wasm code is
                 space-efficient and fast, achieving performance on-par
                 with interpreting a custom-designed internal
                 format. This fills a hole in the execution tier space
                 for Wasm, allowing for even faster startup and lower
                 memory footprint than previous engine configurations.",
  acknowledgement = ack-nhfb,
  articleno =    "148",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhao:2022:SEE,
  author =       "Zihan Zhao and Sidi Mohamed Beillahi and Ryan Song and
                 Yuxi Cai and Andreas Veneris and Fan Long",
  title =        "{SigVM}: enabling event-driven execution for truly
                 decentralized smart contracts",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "149:1--149:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563312",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563312",
  abstract =     "This paper presents SigVM, the first blockchain
                 virtual machine that extends EVM to support an
                 event-driven execution model, enabling developers to
                 build truly \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "149",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Abuah:2022:SLS,
  author =       "Chik{\'e} Abuah and David Darais and Joseph P. Near",
  title =        "{Solo}: a lightweight static analysis for differential
                 privacy",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "150:1--150:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563313",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563313",
  abstract =     "Existing approaches for statically enforcing
                 differential privacy in higher order languages use
                 either linear or relational refinement types. A barrier
                 to adoption for \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "150",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Blaudeau:2022:CFS,
  author =       "Cl{\'e}ment Blaudeau and Fengyun Liu",
  title =        "A conceptual framework for safe object initialization:
                 a principled and mechanized soundness proof of the
                 {Celsius} model",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "151:1--151:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563314",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563314",
  abstract =     "An object under initialization does not fulfill its
                 class specification yet and can be unsafe to use as it
                 may have uninitialized fields. It can sometimes be
                 useful to call \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "151",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Moiseenko:2022:MCM,
  author =       "Evgenii Moiseenko and Michalis Kokologiannakis and
                 Viktor Vafeiadis",
  title =        "Model checking for a multi-execution memory model",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "152:1--152:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563315",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563315",
  abstract =     "Multi-execution memory models, such as Promising and
                 Weakestmo, are an advanced class of weak memory
                 consistency models that justify certain outcomes of a
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "152",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chitre:2022:RTE,
  author =       "Khushboo Chitre and Piyus Kedia and Rahul Purandare",
  title =        "The road not taken: exploring alias analysis based
                 optimizations missed by the compiler",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "153:1--153:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563316",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563316",
  abstract =     "Context-sensitive inter-procedural alias analyses are
                 more precise than intra-procedural alias analyses.
                 However, context-sensitive inter-procedural alias
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "153",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Mackay:2022:NSR,
  author =       "Julian Mackay and Susan Eisenbach and James Noble and
                 Sophia Drossopoulou",
  title =        "Necessity specifications for robustness",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "154:1--154:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563317",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563317",
  abstract =     "Robust modules guarantee to do only what they are
                 supposed to do --- even in the presence of untrusted
                 malicious clients, and considering not just the direct
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "154",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Frumin:2022:BSP,
  author =       "Dan Frumin and Emanuele D'Osualdo and Bas van den
                 Heuvel and Jorge A. P{\'e}rez",
  title =        "A bunch of sessions: a propositions-as-sessions
                 interpretation of bunched implications in channel-based
                 concurrency",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "155:1--155:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563318",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563318",
  abstract =     "The emergence of propositions-as-sessions, a
                 Curry--Howard correspondence between propositions of
                 Linear Logic and session types for concurrent
                 processes, has \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "155",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Bianchini:2022:CSM,
  author =       "Riccardo Bianchini and Francesco Dagnino and Paola
                 Giannini and Elena Zucca and Marco Servetto",
  title =        "Coeffects for sharing and mutation",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "156:1--156:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563319",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563319",
  abstract =     "In type-and-coeffect systems, contexts are enriched by
                 coeffects modeling how they are actually used,
                 typically through annotations on single variables.
                 Coeffects are \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "156",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Dexter:2022:EOD,
  author =       "Philip Dexter and Yu David Liu and Kenneth Chiu",
  title =        "The essence of online data processing",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "157:1--157:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563320",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563320",
  abstract =     "Data processing systems are a fundamental component of
                 the modern computing stack. These systems are routinely
                 deployed online: they continuously receive the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "157",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Sun:2022:CPP,
  author =       "Zhihang Sun and Hongyu Fan and Fei He",
  title =        "Consistency-preserving propagation for {SMT} solving
                 of concurrent program verification",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "158:1--158:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563321",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563321",
  abstract =     "The happens-before orders have been widely adopted to
                 model thread interleaving behaviors of concurrent
                 programs. A dedicated ordering theory solver,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "158",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zou:2022:OFR,
  author =       "Daming Zou and Yuchen Gu and Yuanfeng Shi and MingZhe
                 Wang and Yingfei Xiong and Zhendong Su",
  title =        "Oracle-free repair synthesis for floating-point
                 programs",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "159:1--159:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563322",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/fparith.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563322",
  abstract =     "The floating-point representation provides widely-used
                 data types (such as ``float'' and ``double'') for
                 modern numerical software. Numerical errors are
                 inherent due to floating-point's approximate nature,
                 and pose an important, well-known challenge. It is
                 nontrivial to fix/repair numerical code to reduce
                 numerical errors --- it requires either numerical
                 expertise (for manual fixing) or high-precision oracles
                 (for automatic repair); both are difficult
                 requirements. To tackle this challenge, this paper
                 introduces a principled dynamic approach that is fully
                 automated and oracle-free for effectively repairing
                 floating-point errors. The key of our approach is the
                 novel notion of micro-structure that characterizes
                 structural patterns of floating-point errors. We
                 leverage micro-structures' statistical information on
                 floating-point errors to effectively guide repair
                 synthesis and validation. Compared with existing
                 state-of-the-art repair approaches, our work is fully
                 automatic and has the distinctive benefit of not
                 relying on the difficult to obtain high-precision
                 oracles. Evaluation results on 36 commonly-used
                 numerical programs show that our approach is highly
                 efficient and effective: (1) it is able to synthesize
                 repairs instantaneously, and (2) versus the original
                 programs, the repaired programs have orders of
                 magnitude smaller floating-point errors, while having
                 faster runtime performance",
  acknowledgement = ack-nhfb,
  articleno =    "159",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kirisame:2022:OHL,
  author =       "Marisa Kirisame and Pranav Shenoy and Pavel
                 Panchekha",
  title =        "Optimal heap limits for reducing browser memory use",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "160:1--160:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563323",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563323",
  abstract =     "Garbage-collected language runtimes carefully tune
                 heap limits to reduce garbage collection time and
                 memory usage. However, there's a trade-off: a lower
                 heap \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "160",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Laurel:2022:GCA,
  author =       "Jacob Laurel and Rem Yang and Shubham Ugare and Robert
                 Nagel and Gagandeep Singh and Sasa Misailovic",
  title =        "A general construction for abstract interpretation of
                 higher-order automatic differentiation",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "161:1--161:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563324",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563324",
  abstract =     "We present a novel, general construction to abstractly
                 interpret higher-order automatic differentiation (AD).
                 Our construction allows one to instantiate an abstract
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "161",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Wu:2022:SVG,
  author =       "Haoze Wu and Clark Barrett and Mahmood Sharif and Nina
                 Narodytska and Gagandeep Singh",
  title =        "Scalable verification of {GNN}-based job schedulers",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "162:1--162:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563325",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563325",
  abstract =     "Recently, Graph Neural Networks (GNNs) have been
                 applied for scheduling jobs over clusters, achieving
                 better performance than hand-crafted heuristics.
                 Despite \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "162",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Dardinier:2022:FRU,
  author =       "Thibault Dardinier and Peter M{\"u}ller and Alexander
                 J. Summers",
  title =        "Fractional resources in unbounded separation logic",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "163:1--163:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563326",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563326",
  abstract =     "Many separation logics support fractional permissions
                 to distinguish between read and write access to a heap
                 location, for instance, to allow concurrent reads while
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "163",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Bavishi:2022:NRL,
  author =       "Rohan Bavishi and Harshit Joshi and Jos{\'e}
                 Cambronero and Anna Fariha and Sumit Gulwani and Vu Le
                 and Ivan Radi{\v{c}}ek and Ashish Tiwari",
  title =        "Neurosymbolic repair for low-code formula languages",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "164:1--164:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563327",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563327",
  abstract =     "Most users of low-code platforms, such as Excel and
                 PowerApps, write programs in domain-specific formula
                 languages to carry out nontrivial tasks. Often users
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "164",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chaliasos:2022:SIA,
  author =       "Stefanos Chaliasos and Arthur Gervais and Benjamin
                 Livshits",
  title =        "A study of inline assembly in {Solidity} smart
                 contracts",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "165:1--165:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563328",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563328",
  abstract =     "The Solidity programming language is the most widely
                 used language for smart contract development. Improving
                 smart contracts' correctness, security, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "165",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Jin:2022:NAS,
  author =       "Charles Jin and Phitchaya Mangpo Phothilimthana and
                 Sudip Roy",
  title =        "Neural architecture search using property guided
                 synthesis",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "166:1--166:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563329",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563329",
  abstract =     "Neural architecture search (NAS) has become an
                 increasingly important tool within the deep learning
                 community in recent years, yielding many practical
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "166",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Sakkas:2022:SNP,
  author =       "Georgios Sakkas and Madeline Endres and Philip J. Guo
                 and Westley Weimer and Ranjit Jhala",
  title =        "{Seq2Parse}: neurosymbolic parse error repair",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "167:1--167:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563330",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563330",
  abstract =     "We present Seq2Parse, a language-agnostic
                 neurosymbolic approach to automatically repairing parse
                 errors. Seq2Parse is based on the insight that Symbolic
                 Error \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "167",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ellis:2022:GGG,
  author =       "Stephen Ellis and Shuofei Zhu and Nobuko Yoshida and
                 Linhai Song",
  title =        "Generic go to go: dictionary-passing,
                 monomorphisation, and hybrid",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "168:1--168:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563331",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563331",
  abstract =     "Go is a popular statically-typed industrial
                 programming language. To aid the type safe reuse of
                 code, the recent Go release (Go 1.18) published early
                 2022 includes \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "168",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Muduli:2022:SMF,
  author =       "Sujit Kumar Muduli and Subhajit Roy",
  title =        "Satisfiability modulo fuzzing: a synergistic
                 combination of {SMT} solving and fuzzing",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "169:1--169:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563332",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563332",
  abstract =     "Programming languages and software engineering tools
                 routinely encounter components that are difficult to
                 reason on via formal techniques or whose \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "169",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Sundararajah:2022:UUL,
  author =       "Kirshanthan Sundararajah and Charitha Saumya and
                 Milind Kulkarni",
  title =        "{UniRec}: a unimodular-like framework for nested
                 recursions and loops",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "170:1--170:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563333",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563333",
  abstract =     "Scheduling transformations reorder operations in a
                 program to improve locality and/or parallelism. There
                 are mature loop transformation frameworks such
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "170",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kalita:2022:SAT,
  author =       "Pankaj Kumar Kalita and Sujit Kumar Muduli and Loris
                 D'Antoni and Thomas Reps and Subhajit Roy",
  title =        "Synthesizing abstract transformers",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "171:1--171:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563334",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563334",
  abstract =     "This paper addresses the problem of creating abstract
                 transformers automatically. The method we present
                 automates the construction of static analyzers in
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "171",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Choudhury:2022:MCA,
  author =       "Pritam Choudhury",
  title =        "Monadic and comonadic aspects of dependency analysis",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "172:1--172:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563335",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563335",
  abstract =     "Dependency analysis is vital to several applications
                 in computer science. It lies at the essence of secure
                 information flow analysis, binding-time analysis,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "172",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Laddad:2022:KSC,
  author =       "Shadaj Laddad and Conor Power and Mae Milano and Alvin
                 Cheung and Joseph M. Hellerstein",
  title =        "{Katara}: synthesizing {CRDTs} with verified lifting",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "173:1--173:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563336",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563336",
  abstract =     "Conflict-free replicated data types (CRDTs) are a
                 promising tool for designing scalable,
                 coordination-free distributed systems. However,
                 constructing correct \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "173",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Meyer:2022:CPL,
  author =       "Roland Meyer and Thomas Wies and Sebastian Wolff",
  title =        "A concurrent program logic with a future and history",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "174:1--174:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563337",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563337",
  abstract =     "Verifying fine-grained optimistic concurrent programs
                 remains an open problem. Modern program logics provide
                 abstraction mechanisms and compositional \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "174",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chou:2022:CDS,
  author =       "Stephen Chou and Saman Amarasinghe",
  title =        "Compilation of dynamic sparse tensor algebra",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "175:1--175:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563338",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563338",
  abstract =     "Many applications, from social network graph analytics
                 to control flow analysis, compute on sparse data that
                 evolves over the course of program execution.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "175",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Shi:2022:IED,
  author =       "Qingkai Shi and Yongchao Wang and Peisen Yao and
                 Charles Zhang",
  title =        "Indexing the extended {Dyck-CFL} reachability for
                 context-sensitive program analysis",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "176:1--176:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563339",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563339",
  abstract =     "Many context-sensitive dataflow analyses can be
                 formulated as an extended Dyck-CFL reachability
                 problem, where function calls and returns are modeled
                 as \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "176",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kolesar:2022:CEN,
  author =       "John C. Kolesar and Ruzica Piskac and William T.
                 Hallahan",
  title =        "Checking equivalence in a non-strict language",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "177:1--177:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563340",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563340",
  abstract =     "Program equivalence checking is the task of confirming
                 that two programs have the same behavior on
                 corresponding inputs. We develop a calculus based on
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "177",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Moosbrugger:2022:MPL,
  author =       "Marcel Moosbrugger and Miroslav Stankovi{\v{c}} and
                 Ezio Bartocci and Laura Kov{\'a}cs",
  title =        "This is the moment for probabilistic loops",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "178:1--178:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563341",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563341",
  abstract =     "We present a novel static analysis technique to derive
                 higher moments for program variables for a large class
                 of probabilistic loops with potentially uncountable
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "178",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Boruch-Gruszecki:2022:CDT,
  author =       "Aleksander Boruch-Gruszecki and Rados{\l}aw Wa{\'s}ko
                 and Yichen Xu and Lionel Parreaux",
  title =        "A case for {DOT}: theoretical foundations for objects
                 with pattern matching and {GADT}-style reasoning",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "179:1--179:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563342",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563342",
  abstract =     "Many programming languages in the OO tradition now
                 support pattern matching in some form. Historical
                 examples include Scala and Ceylon, with the more recent
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "179",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lei:2022:TTR,
  author =       "Yuxiang Lei and Yulei Sui and Shuo Ding and Qirun
                 Zhang",
  title =        "Taming transitive redundancy for context-free language
                 reachability",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "180:1--180:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563343",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563343",
  abstract =     "Given an edge-labeled graph, context-free language
                 reachability (CFL-reachability) computes reachable node
                 pairs by deriving new edges and adding them to the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "180",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Susag:2022:SER,
  author =       "Zachary Susag and Sumit Lahiri and Justin Hsu and
                 Subhajit Roy",
  title =        "Symbolic execution for randomized programs",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "181:1--181:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563344",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563344",
  abstract =     "We propose a symbolic execution method for programs
                 that can draw random samples. In contrast to existing
                 work, our method can verify randomized programs with
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "181",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhu:2022:BFA,
  author =       "Fengmin Zhu and Michael Sammler and Rodolphe Lepigre
                 and Derek Dreyer and Deepak Garg",
  title =        "{BFF}: foundational and automated verification of
                 bitfield-manipulating programs",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "182:1--182:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563345",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563345",
  abstract =     "Low-level systems code often needs to interact with
                 data, such as page table entries or network packet
                 headers, in which multiple pieces of information are
                 packaged \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "182",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ghica:2022:HLE,
  author =       "Dan Ghica and Sam Lindley and Marcos Maro{\~n}as Bravo
                 and Maciej Pir{\'o}g",
  title =        "High-level effect handlers in {C++}",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "183:1--183:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563445",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563445",
  abstract =     "Effect handlers allow the programmer to implement
                 computational effects, such as custom error handling,
                 various forms of lightweight concurrency, and
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "183",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Atkinson:2022:SSI,
  author =       "Eric Atkinson and Charles Yuan and Guillaume Baudart
                 and Louis Mandel and Michael Carbin",
  title =        "Semi-symbolic inference for efficient streaming
                 probabilistic programming",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "184:1--184:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563347",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563347",
  abstract =     "A streaming probabilistic program receives a stream of
                 observations and produces a stream of distributions
                 that are conditioned on these observations. Efficient
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "184",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Krogmeier:2022:SAU,
  author =       "Paul Krogmeier and Zhengyao Lin and Adithya Murali and
                 P. Madhusudan",
  title =        "Synthesizing axiomatizations using logic learning",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "185:1--185:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563348",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563348",
  abstract =     "Axioms and inference rules form the foundation of
                 deductive systems and are crucial in the study of
                 reasoning with logics over structures. Historically,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "185",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chen:2022:VDM,
  author =       "Adam Chen and Parisa Fathololumi and Eric Koskinen and
                 Jared Pincus",
  title =        "{Veracity}: declarative multicore programming with
                 commutativity",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "186:1--186:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563349",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563349",
  abstract =     "There is an ongoing effort to provide programming
                 abstractions that ease the burden of exploiting
                 multicore hardware. Many programming abstractions
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "186",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Garg:2022:SCQ,
  author =       "Pranav Garg and Srinivasan H. Sengamedu",
  title =        "Synthesizing code quality rules from examples",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "187:1--187:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563350",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563350",
  abstract =     "Static Analysis tools have rules for several code
                 quality issues and these rules are created by experts
                 manually. In this paper, we address the problem of
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "187",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Nieto:2022:MVO,
  author =       "Abel Nieto and L{\'e}on Gondelman and Alban Reynaud
                 and Amin Timany and Lars Birkedal",
  title =        "Modular verification of op-based {CRDTs} in separation
                 logic",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "188:1--188:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563351",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563351",
  abstract =     "Operation-based Conflict-free Replicated Data Types
                 (op-based CRDTs) are a family of distributed data
                 structures where all operations are designed to
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "188",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Dalvandi:2022:IVR,
  author =       "Sadegh Dalvandi and Brijesh Dongol",
  title =        "Implementing and verifying release--acquire
                 transactional memory in {C11}",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "189:1--189:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563352",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563352",
  abstract =     "Transactional memory (TM) is an intensively studied
                 synchronisation paradigm with many proposed
                 implementations in software and hardware, and
                 combinations \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "189",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chowdhary:2022:FSE,
  author =       "Sangeeta Chowdhary and Santosh Nagarakatte",
  title =        "Fast shadow execution for debugging numerical errors
                 using error free transformations",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "190:1--190:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563353",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563353",
  abstract =     "This paper proposes, EFTSanitizer, a fast shadow
                 execution framework for detecting and debugging
                 numerical errors during late stages of testing
                 especially for \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "190",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Murali:2022:MGS,
  author =       "Adithya Murali and Lucas Pe{\~n}a and Eion Blanchard
                 and Christof L{\"o}ding and P. Madhusudan",
  title =        "Model-guided synthesis of inductive lemmas for {FOL}
                 with least fixpoints",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "191:1--191:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563354",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563354",
  abstract =     "Recursively defined linked data structures embedded in
                 a pointer-based heap and their properties are naturally
                 expressed in pure first-order logic with least fixpoint
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "191",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{vanderRest:2022:ITD,
  author =       "Cas van der Rest and Casper Bach Poulsen and Arjen
                 Rouvoet and Eelco Visser and Peter Mosses",
  title =        "Intrinsically-typed definitional interpreters {\`a} la
                 carte",
  journal =      j-PACMPL,
  volume =       "6",
  number =       "OOPSLA2",
  pages =        "192:1--192:??",
  month =        oct,
  year =         "2022",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3563355",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Sat Mar 11 09:08:36 MST 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3563355",
  abstract =     "Specifying and mechanically verifying type safe
                 programming languages requires significant effort. This
                 effort can in theory be reduced by defining and reusing
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "192",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Pulte:2023:CVS,
  author =       "Christopher Pulte and Dhruv C. Makwana and Thomas
                 Sewell and Kayvan Memarian and Peter Sewell and Neel
                 Krishnaswami",
  title =        "{CN}: Verifying Systems {C} Code with Separation-Logic
                 Refinement Types",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "1:1--1:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571194",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571194",
  abstract =     "Despite significant progress in the verification of
                 hypervisors, operating systems, and compilers, and in
                 verification tooling, there exists a wide gap
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Aguirre:2023:SIL,
  author =       "Alejandro Aguirre and Lars Birkedal",
  title =        "Step-Indexed Logical Relations for Countable
                 Nondeterminism and Probabilistic Choice",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "2:1--2:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571195",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571195",
  abstract =     "Developing denotational models for higher-order
                 languages that combine probabilistic and
                 nondeterministic choice is known to be very
                 challenging. In this paper, we \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "2",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Abreu:2023:TBA,
  author =       "Pedro Abreu and Benjamin Delaware and Alex Hubers and
                 Christa Jenkins and J. Garrett Morris and Aaron Stump",
  title =        "A Type-Based Approach to Divide-and-Conquer Recursion
                 in {Coq}",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "3:1--3:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571196",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571196",
  abstract =     "This paper proposes a new approach to writing and
                 verifying divide-and-conquer programs in Coq. Extending
                 the rich line of previous work on algebraic \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "3",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Wang:2023:CSL,
  author =       "Yanjun Wang and Zixuan Li and Chuan Jiang and Xiaokang
                 Qiu and Sanjay Rao",
  title =        "Comparative Synthesis: Learning Near-Optimal Network
                 Designs by Query",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "4:1--4:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571197",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571197",
  abstract =     "When managing wide-area networks, network architects
                 must decide how to balance multiple conflicting
                 metrics, and ensure fair allocations to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lew:2023:ASA,
  author =       "Alexander K. Lew and Mathieu Huot and Sam Staton and
                 Vikash K. Mansinghka",
  title =        "{ADEV}: Sound Automatic Differentiation of Expected
                 Values of Probabilistic Programs",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "5:1--5:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571198",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571198",
  abstract =     "Optimizing the expected values of probabilistic
                 processes is a central problem in computer science and
                 its applications, arising in fields ranging from
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kobayashi:2023:HZV,
  author =       "Naoki Kobayashi and Kento Tanahashi and Ryosuke Sato
                 and Takeshi Tsukada",
  title =        "{HFL(Z)} Validity Checking for Automated Program
                 Verification",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "6:1--6:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571199",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571199",
  abstract =     "We propose an automated method for checking the
                 validity of a formula of HFL(Z), a higher-order logic
                 with fixpoint operators and integers. Combined with
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Bembenek:2023:SAS,
  author =       "Aaron Bembenek and Michael Greenberg and Stephen
                 Chong",
  title =        "From {SMT} to {ASP}: Solver-Based Approaches to
                 Solving {Datalog} Synthesis-as-Rule-Selection
                 Problems",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "7:1--7:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571200",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571200",
  abstract =     "Given a set of candidate Datalog rules, the Datalog
                 synthesis-as-rule-selection problem chooses a subset of
                 these rules that satisfies a specification (such as an
                 \ldots{})",
  acknowledgement = ack-nhfb,
  articleno =    "7",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kerinec:2023:WPR,
  author =       "Axel Kerinec and Giulio Manzonetto and Federico
                 Olimpieri",
  title =        "Why Are Proofs Relevant in Proof-Relevant Models?",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "8:1--8:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571201",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571201",
  abstract =     "Relational models of $\lambda$-calculus can be
                 presented as type systems, the relational
                 interpretation of a $\lambda$-term being given by the
                 set of its typings. Within a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Barriere:2023:FVN,
  author =       "Aur{\`e}le Barri{\`e}re and Sandrine Blazy and David
                 Pichardie",
  title =        "Formally Verified Native Code Generation in an
                 Effectful {JIT}: Turning the {CompCert} Backend into a
                 Formally Verified {JIT} Compiler",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "9:1--9:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571202",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571202",
  abstract =     "Modern Just-in-Time compilers (or JITs) typically
                 interleave several mechanisms to execute a program. For
                 faster startup times and to observe the initial
                 behavior \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "9",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Day:2023:EPS,
  author =       "Joel D. Day and Vijay Ganesh and Nathan Grewal and
                 Florin Manea",
  title =        "On the Expressive Power of String Constraints",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "10:1--10:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571203",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571203",
  abstract =     "We investigate properties of strings which are
                 expressible by canonical types of string constraints.
                 Specifically, we consider a landscape of 20 logical
                 theories, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "10",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Fu:2023:PQD,
  author =       "Peng Fu and Kohei Kishida and Neil J. Ross and Peter
                 Selinger",
  title =        "Proto-Quipper with Dynamic Lifting",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "11:1--11:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571204",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571204",
  abstract =     "Quipper is a functional programming language for
                 quantum computing. Proto-Quipper is a family of
                 languages aiming to provide a formal foundation for
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "11",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lee:2023:SAP,
  author =       "Wonyeol Lee and Xavier Rival and Hongseok Yang",
  title =        "Smoothness Analysis for Probabilistic Programs with
                 Application to Optimised Variational Inference",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "12:1--12:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571205",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571205",
  abstract =     "We present a static analysis for discovering
                 differentiable or more generally smooth parts of a
                 given probabilistic program, and show how the analysis
                 can be used \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "12",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kallas:2023:EMA,
  author =       "Konstantinos Kallas and Haoran Zhang and Rajeev Alur
                 and Sebastian Angel and Vincent Liu",
  title =        "Executing Microservice Applications on Serverless,
                 Correctly",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "13:1--13:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571206",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571206",
  abstract =     "While serverless platforms substantially simplify the
                 provisioning, configuration, and management of cloud
                 applications, implementing correct services on
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "13",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Cao:2023:BLB,
  author =       "David Cao and Rose Kunkel and Chandrakana Nandi and
                 Max Willsey and Zachary Tatlock and Nadia Polikarpova",
  title =        "\pkg{babble}: Learning Better Abstractions with
                 {E}-Graphs and Anti-unification",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "14:1--14:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571207",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571207",
  abstract =     "Library learning compresses a given corpus of programs
                 by extracting common structure from the corpus into
                 reusable library functions. Prior work on library
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "14",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Michael:2023:MSE,
  author =       "Alexandra E. Michael and Anitha Gollamudi and Jay
                 Bosamiya and Evan Johnson and Aidan Denlinger and Craig
                 Disselkoen and Conrad Watt and Bryan Parno and Marco
                 Patrignani and Marco Vassena and Deian Stefan",
  title =        "{MSWasm}: Soundly Enforcing Memory-Safe Execution of
                 Unsafe Code",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "15:1--15:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571208",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571208",
  abstract =     "Most programs compiled to WebAssembly (Wasm) today are
                 written in unsafe languages like C and C++.
                 Unfortunately, memory-unsafe C code remains \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "15",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lu:2023:GSC,
  author =       "Sirui Lu and Rastislav Bod{\'\i}k",
  title =        "\pkg{Grisette}: Symbolic Compilation as a Functional
                 Programming Library",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "16:1--16:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571209",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571209",
  abstract =     "The development of constraint solvers simplified
                 automated reasoning about programs and shifted the
                 engineering burden to implementing symbolic \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "16",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Pitts:2023:LNS,
  author =       "Andrew M. Pitts",
  title =        "Locally Nameless Sets",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "17:1--17:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571210",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571210",
  abstract =     "This paper provides a new mathematical foundation for
                 the locally nameless representation of syntax with
                 binders, one informed by nominal techniques. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "17",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Rioux:2023:BBO,
  author =       "Nick Rioux and Xuejing Huang and Bruno C. d. S.
                 Oliveira and Steve Zdancewic",
  title =        "A Bowtie for a Beast: Overloading, Eta Expansion, and
                 Extensible Data Types in {F$ \bowtie $}",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "18:1--18:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571211",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571211",
  abstract =     "The typed merge operator offers the promise of a
                 compositional style of statically-typed programming in
                 which solutions to the expression problem arise
                 naturally. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "18",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kokologiannakis:2023:KAW,
  author =       "Michalis Kokologiannakis and Ori Lahav and Viktor
                 Vafeiadis",
  title =        "\pkg{Kater}: Automating Weak Memory Model Metatheory
                 and Consistency Checking",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "19:1--19:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571212",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571212",
  abstract =     "The metatheory of axiomatic weak memory models covers
                 questions like the correctness of compilation mappings
                 from one model to another and the correctness of
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "19",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Antonopoulos:2023:AAR,
  author =       "Timos Antonopoulos and Eric Koskinen and Ton Chanh Le
                 and Ramana Nagasamudram and David A. Naumann and Minh
                 Ngo",
  title =        "An Algebra of Alignment for Relational Verification",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "20:1--20:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571213",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571213",
  abstract =     "Relational verification encompasses information flow
                 security, regression verification, translation
                 validation for compilers, and more. Effective
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "20",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Gu:2023:OCS,
  author =       "Yu Gu and Takeshi Tsukada and Hiroshi Unno",
  title =        "Optimal {CHC} Solving via Termination Proofs",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "21:1--21:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571214",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571214",
  abstract =     "Motivated by applications to open program reasoning
                 such as maximal specification inference, this paper
                 studies optimal CHC solving, a problem to compute
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "21",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Goncharov:2023:THO,
  author =       "Sergey Goncharov and Stefan Milius and Lutz
                 Schr{\"o}der and Stelios Tsampas and Henning Urbat",
  title =        "Towards a Higher-Order Mathematical Operational
                 Semantics",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "22:1--22:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571215",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571215",
  abstract =     "Compositionality proofs in higher-order languages are
                 notoriously involved, and general semantic frameworks
                 guaranteeing compositionality are hard to come
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "22",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kim:2023:UL,
  author =       "Jinwoo Kim and Loris D{\textquotesingle}Antoni and
                 Thomas Reps",
  title =        "Unrealizability Logic",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "23:1--23:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571216",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571216",
  abstract =     "We consider the problem of establishing that a
                 program-synthesis problem is unrealizable (i.e., has no
                 solution in a given search space of programs). Prior
                 work on \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "23",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Castellan:2023:GCM,
  author =       "Simon Castellan and Pierre Clairambault",
  title =        "The Geometry of Causality: Multi-token Geometry of
                 Interaction and Its Causal Unfolding",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "24:1--24:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571217",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571217",
  abstract =     "We introduce a multi-token machine for Idealized
                 Parallel Algol (IPA), a higher-order concurrent
                 programming language with shared state and semaphores.
                 Our \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "24",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Moine:2023:HLS,
  author =       "Alexandre Moine and Arthur Chargu{\'e}raud and
                 Fran{\c{c}}ois Pottier",
  title =        "A High-Level Separation Logic for Heap Space under
                 Garbage Collection",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "25:1--25:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571218",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571218",
  abstract =     "We present a Separation Logic with space credits for
                 reasoning about heap space in a sequential
                 call-by-value lambda-calculus equipped with garbage
                 collection \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "25",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{DOsualdo:2023:PDL,
  author =       "Emanuele D{\textquotesingle}Osualdo and Azalea Raad
                 and Viktor Vafeiadis",
  title =        "The Path to Durable Linearizability",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "26:1--26:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571219",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571219",
  abstract =     "There is an increasing body of literature proposing
                 new and efficient persistent versions of concurrent
                 data structures ensuring that a consistent state
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "26",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Sammler:2023:DDA,
  author =       "Michael Sammler and Simon Spies and Youngju Song and
                 Emanuele D{\textquotesingle}Osualdo and Robbert
                 Krebbers and Deepak Garg and Derek Dreyer",
  title =        "{DimSum}: a Decentralized Approach to Multi-language
                 Semantics and Verification",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "27:1--27:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571220",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571220",
  abstract =     "Prior work on multi-language program verification has
                 achieved impressive results, including the
                 compositional verification of complex compilers. But
                 the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "27",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Hainry:2023:GNP,
  author =       "Emmanuel Hainry and Romain P{\'e}choux",
  title =        "A General Noninterference Policy for Polynomial Time",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "28:1--28:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571221",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571221",
  abstract =     "We introduce a new noninterference policy to capture
                 the class of functions computable in polynomial time on
                 an object-oriented programming language. This
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "28",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhou:2023:CFV,
  author =       "Li Zhou and Gilles Barthe and Pierre-Yves Strub and
                 Junyi Liu and Mingsheng Ying",
  title =        "{CoqQ}: Foundational Verification of Quantum
                 Programs",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "29:1--29:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571222",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571222",
  abstract =     "CoqQ is a framework for reasoning about quantum
                 programs in the Coq proof assistant. Its main
                 components are: a deeply embedded quantum programming
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "29",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Gancher:2023:CCE,
  author =       "Joshua Gancher and Kristina Sojakova and Xiong Fan and
                 Elaine Shi and Greg Morrisett",
  title =        "A Core Calculus for Equational Proofs of Cryptographic
                 Protocols",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "30:1--30:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571223",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571223",
  abstract =     "Many proofs of interactive cryptographic protocols
                 (e.g., as in Universal Composability) operate by
                 proving the protocol at hand to be \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "30",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Xu:2023:MTD,
  author =       "Han Xu and Xuejing Huang and Bruno C. d. S. Oliveira",
  title =        "Making a Type Difference: Subtraction on Intersection
                 Types as Generalized Record Operations",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "31:1--31:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571224",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571224",
  abstract =     "In programming languages with records, objects, or
                 traits, it is common to have operators that allow
                 dropping, updating or renaming some components.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "31",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Voichick:2023:QUL,
  author =       "Finn Voichick and Liyi Li and Robert Rand and Michael
                 Hicks",
  title =        "\pkg{Qunity}: a Unified Language for Quantum and
                 Classical Computing",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "32:1--32:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571225",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571225",
  abstract =     "We introduce Qunity, a new quantum programming
                 language designed to treat quantum computing as a
                 natural generalization of classical \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "32",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Cambronero:2023:FSP,
  author =       "Jos{\'e} Cambronero and Sumit Gulwani and Vu Le and
                 Daniel Perelman and Arjun Radhakrishna and Clint Simon
                 and Ashish Tiwari",
  title =        "\pkg{FlashFill++}: Scaling Programming by Example by
                 Cutting to the Chase",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "33:1--33:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571226",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571226",
  abstract =     "Programming-by-Examples (PBE) involves synthesizing an
                 ``intended program'' from a small set of user-provided
                 input-output examples. A key PBE strategy has
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "33",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ding:2023:WUP,
  author =       "Shuo Ding and Qirun Zhang",
  title =        "Witnessability of Undecidable Problems",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "34:1--34:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571227",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571227",
  abstract =     "Many problems in programming language theory and
                 formal methods are undecidable, so they cannot be
                 solved precisely. Practical techniques for dealing with
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "34",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Li:2023:SSS,
  author =       "Yuanbo Li and Qirun Zhang and Thomas Reps",
  title =        "Single-Source-Single-Target Interleaved-{Dyck}
                 Reachability via Integer Linear Programming",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "35:1--35:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571228",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571228",
  abstract =     "An interleaved-Dyck (InterDyck) language consists of
                 the interleaving of two or more Dyck languages, where
                 each Dyck language represents a set of strings of
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "35",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Jacobs:2023:HOL,
  author =       "Jules Jacobs and Stephanie Balzer",
  title =        "Higher-Order Leak and Deadlock Free Locks",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "36:1--36:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571229",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571229",
  abstract =     "Reasoning about concurrent programs is challenging,
                 especially if data is shared among threads. Program
                 correctness can be violated by the presence of data
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "36",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Alur:2023:RTS,
  author =       "Rajeev Alur and Caleb Stanford and Christopher
                 Watson",
  title =        "A Robust Theory of Series Parallel Graphs",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "37:1--37:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571230",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571230",
  abstract =     "Motivated by distributed data processing applications,
                 we introduce a class of labeled directed acyclic graphs
                 constructed using sequential and parallel \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "37",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Vale:2023:CTL,
  author =       "Arthur Oliveira Vale and Zhong Shao and Yixuan Chen",
  title =        "A Compositional Theory of Linearizability",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "38:1--38:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571231",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571231",
  abstract =     "Compositionality is at the core of programming
                 languages research and has become an important goal
                 toward scalable verification of large systems.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "38",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Song:2023:CCR,
  author =       "Youngju Song and Minki Cho and Dongjae Lee and
                 Chung-Kil Hur and Michael Sammler and Derek Dreyer",
  title =        "Conditional Contextual Refinement",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "39:1--39:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571232",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571232",
  abstract =     "Much work in formal verification of low-level systems
                 is based on one of two approaches: refinement or
                 separation logic. These two approaches have \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "39",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Leijen:2023:TRM,
  author =       "Daan Leijen and Anton Lorenzen",
  title =        "Tail Recursion Modulo Context: an Equational
                 Approach",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "40:1--40:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571233",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571233",
  abstract =     "The tail-recursion modulo cons transformation can
                 rewrite functions that are not quite tail-recursive
                 into a tail-recursive form that can be \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "40",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Bowers:2023:TSL,
  author =       "Matthew Bowers and Theo X. Olausson and Lionel Wong
                 and Gabriel Grand and Joshua B. Tenenbaum and Kevin
                 Ellis and Armando Solar-Lezama",
  title =        "Top-Down Synthesis for Library Learning",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "41:1--41:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571234",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571234",
  abstract =     "This paper introduces corpus-guided top-down synthesis
                 as a mechanism for synthesizing library functions that
                 capture common functionality from a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "41",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Popescu:2023:ATP,
  author =       "Andrei Popescu and Dmitriy Traytel",
  title =        "Admissible Types-to-{PERs} Relativization in
                 Higher-Order Logic",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "42:1--42:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571235",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571235",
  abstract =     "Relativizing statements in Higher-Order Logic (HOL)
                 from types to sets is useful for improving productivity
                 when working with HOL-based interactive theorem
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "42",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Radul:2023:YOL,
  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 =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "43:1--43:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571236",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571236",
  abstract =     "Automatic differentiation (AD) is conventionally
                 understood as a family of distinct algorithms, rooted
                 in two ``modes''-forward and reverse-which are
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "43",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kincaid:2023:WLM,
  author =       "Zachary Kincaid and Nicolas Koh and Shaowei Zhu",
  title =        "When Less Is More: Consequence-Finding in a Weak
                 Theory of Arithmetic",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "44:1--44:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571237",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571237",
  abstract =     "This paper presents a theory of non-linear
                 integer/real arithmetic and algorithms for reasoning
                 about this theory. The theory can be conceived of as an
                 extension of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "44",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{AlThokair:2023:DRD,
  author =       "Mosaad {Al Thokair} and Minjian Zhang and Umang Mathur
                 and Mahesh Viswanathan",
  title =        "Dynamic Race Detection with {$ O(1) $} Samples",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "45:1--45:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571238",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571238",
  abstract =     "Happens before-based dynamic analysis is the go-to
                 technique for detecting data races in large scale
                 software projects due to the absence of false positive
                 reports. \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "45",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Dash:2023:AML,
  author =       "Swaraj Dash and Younesse Kaddar and Hugo Paquet and
                 Sam Staton",
  title =        "Affine Monads and Lazy Structures for {Bayesian}
                 Programming",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "46:1--46:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571239",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571239",
  abstract =     "We show that streams and lazy data structures are a
                 natural idiom for programming with infinite-dimensional
                 Bayesian methods such as Poisson \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "46",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chen:2023:DSB,
  author =       "Zilin Chen and Ambroise Lafont and Liam
                 O{\textquotesingle}Connor and Gabriele Keller and Craig
                 McLaughlin and Vincent Jackson and Christine
                 Rizkallah",
  title =        "\pkg{Dargent}: a Silver Bullet for Verified Data
                 Layout Refinement",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "47:1--47:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571240",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571240",
  abstract =     "Systems programmers need fine-grained control over the
                 memory layout of data structures, both to produce
                 performant code and to comply with well-defined
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "47",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhou:2023:RSA,
  author =       "Litao Zhou and Yaoda Zhou and Bruno C. d. S.
                 Oliveira",
  title =        "Recursive Subtyping for All",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "48:1--48:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571241",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571241",
  abstract =     "Recursive types and bounded quantification are
                 prominent features in many modern programming
                 languages, such as Java, C\#, Scala or TypeScript.
                 Unfortunately, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "48",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Farzan:2023:SCV,
  author =       "Azadeh Farzan and Dominik Klumpp and Andreas
                 Podelski",
  title =        "Stratified Commutativity in Verification Algorithms
                 for Concurrent Programs",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "49:1--49:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571242",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571242",
  abstract =     "The importance of exploiting commutativity relations
                 in verification algorithms for concurrent programs is
                 well-known. They can help simplify the proof and
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "49",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Li:2023:TPD,
  author =       "Jianlin Li and Leni Ven and Pengyuan Shi and Yizhou
                 Zhang",
  title =        "Type-Preserving, Dependence-Aware Guide Generation for
                 Sound, Effective Amortized Probabilistic Inference",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "50:1--50:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571243",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571243",
  abstract =     "In probabilistic programming languages (PPLs), a
                 critical step in optimization-based inference methods
                 is constructing, for a given model program, a trainable
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "50",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Arrial:2023:QID,
  author =       "Victor Arrial and Giulio Guerrieri and Delia Kesner",
  title =        "Quantitative Inhabitation for Different {Lambda}
                 Calculi in a Unifying Framework",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "51:1--51:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571244",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571244",
  abstract =     "We solve the inhabitation problem for a language
                 called $\lambda !$, a subsuming paradigm (inspired by
                 call-by-push-value) being able to encode, among others,
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "51",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Jacobs:2023:FCB,
  author =       "Jules Jacobs and Thorsten Wi{\ss}mann",
  title =        "Fast Coalgebraic Bisimilarity Minimization",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "52:1--52:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571245",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571245",
  abstract =     "Coalgebraic bisimilarity minimization generalizes
                 classical automaton minimization to a large class of
                 automata whose transition structure is \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "52",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Singh:2023:OAL,
  author =       "Abhishek Kr Singh and Ori Lahav",
  title =        "An Operational Approach to Library Abstraction under
                 Relaxed Memory Concurrency",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "53:1--53:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571246",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571246",
  abstract =     "Concurrent data structures and synchronization
                 mechanisms implemented by expert developers are
                 indispensable for modular software development. In
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "53",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Smeding:2023:EDN,
  author =       "Tom J. Smeding and Matthijs I. L. V{\'a}k{\'a}r",
  title =        "Efficient Dual-Numbers Reverse {AD} via Well-Known
                 Program Transformations",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "54:1--54:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571247",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571247",
  abstract =     "Where dual-numbers forward-mode automatic
                 differentiation (AD) pairs each scalar value with its
                 tangent value, dual-numbers reverse-mode AD \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "54",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{DiGiusto:2023:POV,
  author =       "Cinzia {Di Giusto} and Davide Ferr{\'e} and Laetitia
                 Laversa and Etienne Lozes",
  title =        "A Partial Order View of Message-Passing Communication
                 Models",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "55:1--55:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571248",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571248",
  abstract =     "There is a wide variety of message-passing
                 communication models, ranging from synchronous
                 ``rendez-vous'' communications to fully \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "55",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Das:2023:CFA,
  author =       "Ria Das and Joshua B. Tenenbaum and Armando
                 Solar-Lezama and Zenna Tavares",
  title =        "Combining Functional and Automata Synthesis to
                 Discover Causal Reactive Programs",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "56:1--56:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571249",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571249",
  abstract =     "We present a new algorithm that synthesizes functional
                 reactive programs from observation data. The key
                 novelty is to iterate between a functional synthesis",
  acknowledgement = ack-nhfb,
  articleno =    "56",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Hou:2023:OTA,
  author =       "Kuen-Bang Hou (Favonia) and Carlo Angiuli and Reed
                 Mullanix",
  title =        "An Order-Theoretic Analysis of Universe Polymorphism",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "57:1--57:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571250",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571250",
  abstract =     "We present a novel formulation of universe
                 polymorphism in dependent type theory in terms of
                 monads on the category of strict partial orders, and a
                 novel \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "57",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Palmkvist:2023:SRA,
  author =       "Viktor Palmkvist and Elias Castegren and Philipp
                 Haller and David Broman",
  title =        "Statically Resolvable Ambiguity",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "58:1--58:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571251",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571251",
  abstract =     "Traditionally, a grammar defining the syntax of a
                 programming language is typically both context free and
                 unambiguous. However, recent work suggests that an
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "58",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Koutris:2023:FGC,
  author =       "Paraschos Koutris and Shaleen Deep",
  title =        "The Fine-Grained Complexity of {CFL} Reachability",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "59:1--59:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571252",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571252",
  abstract =     "Many problems in static program analysis can be
                 modeled as the context-free language (CFL) reachability
                 problem on directed labeled graphs. The CFL \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "59",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Klimis:2023:TBC,
  author =       "Vasileios Klimis and Jack Clark and Alan Baker and
                 David Neto and John Wickerson and Alastair F.
                 Donaldson",
  title =        "Taking Back Control in an Intermediate Representation
                 for {GPU} Computing",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "60:1--60:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571253",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571253",
  abstract =     "We describe our experiences successfully applying
                 lightweight formal methods to substantially improve and
                 reformulate an important part of Standard \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "60",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chappe:2023:CTR,
  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 =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "61:1--61:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571254",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571254",
  abstract =     "This paper introduces ctrees, a monad for modeling
                 nondeterministic, recursive, and impure programs in
                 Coq. Inspired by Xia et al.'s itrees, this novel data
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "61",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Poulsen:2023:HAM,
  author =       "Casper Bach Poulsen and Cas van der Rest",
  title =        "Hefty Algebras: Modular Elaboration of Higher-Order
                 Algebraic Effects",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "62:1--62:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571255",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571255",
  abstract =     "Algebraic effects and handlers is an increasingly
                 popular approach to programming with effects. An
                 attraction of the approach is its modularity:
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "62",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Gavazzo:2023:EQR,
  author =       "Francesco Gavazzo and Cecilia {Di Florio}",
  title =        "Elements of Quantitative Rewriting",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "63:1--63:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571256",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571256",
  abstract =     "We introduce a general theory of quantitative and
                 metric rewriting systems, namely systems with a
                 rewriting relation enriched over quantales modelling
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "63",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Bonchi:2023:DCR,
  author =       "Filippo Bonchi and Alessandro {Di Giorgio} and Alessio
                 Santamaria",
  title =        "Deconstructing the Calculus of Relations with Tape
                 Diagrams",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "64:1--64:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571257",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571257",
  abstract =     "Rig categories with finite biproducts are categories
                 with two monoidal products, where one is a biproduct
                 and the other distributes over it. In this work we
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "64",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lemerre:2023:STA,
  author =       "Matthieu Lemerre",
  title =        "{SSA} Translation Is an Abstract Interpretation",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "65:1--65:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571258",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571258",
  abstract =     "Static single assignment (SSA) form is a popular
                 intermediate representation that helps implement useful
                 static analyses, including global value numbering
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "65",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Das:2023:PRA,
  author =       "Ankush Das and Di Wang and Jan Hoffmann",
  title =        "Probabilistic Resource-Aware Session Types",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "66:1--66:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571259",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571259",
  abstract =     "Session types guarantee that message-passing processes
                 adhere to predefined communication protocols. Prior
                 work on session types has focused on \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "66",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Batz:2023:CAE,
  author =       "Kevin Batz and Benjamin Lucien Kaminski and
                 Joost-Pieter Katoen and Christoph Matheja and Lena
                 Verscht",
  title =        "A Calculus for Amortized Expected Runtimes",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "67:1--67:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571260",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571260",
  abstract =     "We develop a weakest-precondition-style calculus {\`a}
                 la Dijkstra for reasoning about amortized expected
                 runtimes of randomized algorithms with access to
                 dynamic memory",
  acknowledgement = ack-nhfb,
  articleno =    "67",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Hunt:2023:RSS,
  author =       "Sebastian Hunt and David Sands and Sandro Stucki",
  title =        "Reconciling {Shannon} and {Scott} with a Lattice of
                 Computable Information",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "68:1--68:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571740",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/bibnet/authors/s/shannon-claude-elwood.bib;
                 http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571740",
  abstract =     "This paper proposes a reconciliation of two different
                 theories of information. The first, originally proposed
                 in a lesser-known work by Claude Shannon (some five
                 years after the publication of his celebrated
                 quantitative theory of communication), describes how
                 the information content of channels can be described
                 qualitatively, but still abstractly, in terms of
                 information elements, where information elements can be
                 viewed as equivalence relations over the data source
                 domain. Shannon showed that these elements have a
                 partial ordering, expressing when one information
                 element is more informative than another, and that
                 these partially ordered information elements form a
                 complete lattice. In the context of security and
                 information flow this structure has been independently
                 rediscovered several times, and used as a foundation
                 for understanding and reasoning about information
                 flow.\par

                 The second theory of information is Dana Scott's domain
                 theory, a mathematical framework for giving meaning to
                 programs as continuous functions over a particular
                 topology. Scott's partial ordering also represents when
                 one element is more informative than another, but in
                 the sense of computational progress --- i.e. when one
                 element is a more defined or evolved version of
                 another.\par

                 To give a satisfactory account of information flow in
                 computer programs it is necessary to consider both
                 theories together, in order to understand not only what
                 information is conveyed by a program (viewed as a
                 channel, {\`a} la Shannon) but also how the precision
                 with which that information can be observed is
                 determined by the definedness of its encoding ({\`a} la
                 Scott). To this end we show how these theories can be
                 fruitfully combined, by defining the Lattice of
                 Computable Information (LoCI), a lattice of preorders
                 rather than equivalence relations. LoCI retains the
                 rich lattice structure of Shannon's theory, filters out
                 elements that do not make computational sense, and
                 refines the remaining information elements to reflect
                 how Scott's ordering captures possible varieties in the
                 way that information is presented.\par

                 We show how the new theory facilitates the first
                 general definition of termination-insensitive
                 information flow properties, a weakened form of
                 information flow property commonly targeted by static
                 program analyses.",
  acknowledgement = ack-nhfb,
  articleno =    "68",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Jochems:2023:HOM,
  author =       "Jerome Jochems and Eddie Jones and Steven Ramsay",
  title =        "Higher-Order {MSL} {Horn} Constraints",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "69:1--69:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571262",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571262",
  abstract =     "The monadic shallow linear (MSL) class is a decidable
                 fragment of first-order Horn clauses that was
                 discovered and rediscovered around the turn of the
                 century, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "69",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lee:2023:ISS,
  author =       "Woosuk Lee and Hangyeol Cho",
  title =        "Inductive Synthesis of Structurally Recursive
                 Functional Programs from Non-recursive Expressions",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "70:1--70:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571263",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571263",
  abstract =     "We present a novel approach to synthesizing recursive
                 functional programs from input-output examples.
                 Synthesizing a recursive function is challenging
                 because \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "70",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Sekiyama:2023:TVA,
  author =       "Taro Sekiyama and Hiroshi Unno",
  title =        "Temporal Verification with Answer-Effect Modification:
                 Dependent Temporal Type-and-Effect System with
                 Delimited Continuations",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "71:1--71:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571264",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571264",
  abstract =     "Type-and-effect systems are a widely used approach to
                 program verification, verifying the result of a
                 computation using types, and its behavior using
                 effects. This \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "71",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Unno:2023:MPD,
  author =       "Hiroshi Unno and Tachio Terauchi and Yu Gu and Eric
                 Koskinen",
  title =        "Modular Primal-Dual Fixpoint Logic Solving for
                 Temporal Verification",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "72:1--72:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571265",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571265",
  abstract =     "We present a novel approach to deciding the validity
                 of formulas in first-order fixpoint logic with
                 background theories and arbitrarily nested inductive
                 and \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "72",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Baumann:2023:CBV,
  author =       "Pascal Baumann and Moses Ganardi and Rupak Majumdar
                 and Ramanathan S. Thinniyam and Georg Zetzsche",
  title =        "Context-Bounded Verification of Context-Free
                 Specifications",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "73:1--73:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571266",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571266",
  abstract =     "A fundamental problem in refinement verification is to
                 check that the language of behaviors of an
                 implementation is included in the language of the
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "73",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Pujet:2023:IOE,
  author =       "Lo{\"\i}c Pujet and Nicolas Tabareau",
  title =        "Impredicative Observational Equality",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "POPL",
  pages =        "74:1--74:??",
  month =        jan,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3571739",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:16 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3571739",
  abstract =     "In dependent type theory, impredicativity is a
                 powerful logical principle that allows the definition
                 of propositions that quantify over arbitrarily large
                 types, potentially \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "74",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Li:2023:AFT,
  author =       "Shaohua Li and Zhendong Su",
  title =        "Accelerating Fuzzing through Prefix-Guided Execution",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "75:1--75:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586027",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586027",
  abstract =     "Coverage-guided fuzzing is one of the most effective
                 approaches for discovering software defects and
                 vulnerabilities. It executes all mutated tests from
                 seed inputs to \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "75",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Wang:2023:SCL,
  author =       "Chenglin Wang and Fangzhen Lin",
  title =        "Solving Conditional Linear Recurrences for Program
                 Verification: The Periodic Case",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "76:1--76:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586028",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586028",
  abstract =     "In program verification, one method for reasoning
                 about loops is to convert them into sets of
                 recurrences, and then try to solve these recurrences by
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "76",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lin:2023:GPC,
  author =       "Zhengyao Lin and Xiaohong Chen and Minh-Thai Trinh and
                 John Wang and Grigore Ro{\c{s}}u",
  title =        "Generating Proof Certificates for a Language-Agnostic
                 Deductive Program Verifier",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "77:1--77:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586029",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586029",
  abstract =     "Previous work on rewriting and reachability logic
                 establishes a vision for a language-agnostic program
                 verifier, which takes three inputs: a program, its
                 formal \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "77",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Barke:2023:GCH,
  author =       "Shraddha Barke and Michael B. James and Nadia
                 Polikarpova",
  title =        "Grounded Copilot: How Programmers Interact with
                 Code-Generating Models",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "78:1--78:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586030",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586030",
  abstract =     "Powered by recent advances in code-generating models,
                 AI assistants like Github Copilot promise to change the
                 face of programming forever. But what is \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "78",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Gheri:2023:HMS,
  author =       "Lorenzo Gheri and Nobuko Yoshida",
  title =        "Hybrid Multiparty Session Types: Compositionality for
                 Protocol Specification through Endpoint Projection",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "79:1--79:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586031",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586031",
  abstract =     "Multiparty session types (MPST) are a specification
                 and verification framework for distributed
                 message-passing systems. The communication protocol of
                 the \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "79",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Krogmeier:2023:LDL,
  author =       "Paul Krogmeier and P. Madhusudan",
  title =        "Languages with Decidable Learning: a Meta-theorem",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "80:1--80:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586032",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586032",
  abstract =     "We study expression learning problems with syntactic
                 restrictions and introduce the class of finite-aspect
                 checkable languages to characterize symbolic languages
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "80",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Wagner:2023:EBV,
  author =       "Christopher Wagner and Nouraldin Jaber and Roopsha
                 Samanta",
  title =        "Enabling Bounded Verification of Doubly-Unbounded
                 Distributed Agreement-Based Systems via Bounded
                 Regions",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "81:1--81:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586033",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586033",
  abstract =     "The ubiquity of distributed agreement protocols, such
                 as consensus, has galvanized interest in verification
                 of such protocols as well as applications built on top
                 of \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "81",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Wang:2023:UCT,
  author =       "Bo Wang and Aashish Kolluri and Ivica Nikoli{\'c} and
                 Teodora Baluta and Prateek Saxena",
  title =        "User-Customizable Transpilation of Scripting
                 Languages",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "82:1--82:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586034",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586034",
  abstract =     "A transpiler converts code from one programming
                 language to another. Many practical uses of transpilers
                 require the user to be able to guide or customize
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "82",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhang:2023:BOO,
  author =       "Xing Zhang and Guanchen Guo and Xiao He and Zhenjiang
                 Hu",
  title =        "Bidirectional Object-Oriented Programming: Towards
                 Programmatic and Direct Manipulation of Objects",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "83:1--83:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586035",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586035",
  abstract =     "Many bidirectional programming languages, which are
                 mainly functional and relational, have been designed to
                 support writing programs that run in both forward
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "83",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ye:2023:GPL,
  author =       "Wenjia Ye and Mat{\'{\i}}as Toro and Federico Olmedo",
  title =        "A Gradual Probabilistic {Lambda} Calculus",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "84:1--84:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586036",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586036",
  abstract =     "Probabilistic programming languages have recently
                 gained a lot of attention, in particular due to their
                 applications in domains such as machine learning
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "84",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Lattuada:2023:VVR,
  author =       "Andrea Lattuada and Travis Hance and Chanhee Cho and
                 Matthias Brun and Isitha Subasinghe and Yi Zhou and Jon
                 Howell and Bryan Parno and Chris Hawblitzel",
  title =        "{Verus}: Verifying {Rust} Programs using Linear Ghost
                 Types",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "85:1--85:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586037",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/rust.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586037",
  abstract =     "The Rust programming language provides a powerful type
                 system that checks linearity and borrowing, allowing
                 code to safely manipulate memory without garbage
                 collection and making Rust ideal for developing
                 low-level, high-assurance systems. For such systems,
                 formal verification can be useful to prove functional
                 correctness properties beyond type safety. This paper
                 presents Verus, an SMT-based tool for formally
                 verifying Rust programs. With Verus, programmers
                 express proofs and specifications using the Rust
                 language, allowing proofs to take advantage of Rust's
                 linear types and borrow checking. We show how this
                 allows proofs to manipulate linearly typed permissions
                 that let Rust code safely manipulate memory, pointers,
                 and concurrent resources. Verus organizes proofs and
                 specifications using a novel mode system that
                 distinguishes specifications, which are not checked for
                 linearity and borrowing, from executable code and
                 proofs, which are checked for linearity and borrowing.
                 We formalize Verus' linearity, borrowing, and modes in
                 a small lambda calculus, for which we prove type safety
                 and termination of specifications and proofs. We
                 demonstrate Verus on a series of examples, including
                 pointer-manipulating code (an xor-based doubly linked
                 list), code with interior mutability, and concurrent
                 code.",
  acknowledgement = ack-nhfb,
  articleno =    "85",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhou:2023:FPT,
  author =       "Jie Zhou and John Criswell and Michael Hicks",
  title =        "Fat Pointers for Temporal Memory Safety of {C}",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "86:1--86:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586038",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586038",
  abstract =     "Temporal memory safety bugs, especially use-after-free
                 and double free bugs, pose a major security threat to C
                 programs. Real-world exploits utilizing these bugs
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "86",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Kang:2023:MCB,
  author =       "Chan Gu Kang and Hakjoo Oh",
  title =        "Modular Component-Based Quantum Circuit Synthesis",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "87:1--87:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586039",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586039",
  abstract =     "In this article, we present a novel method for
                 synthesizing quantum circuits from user-supplied
                 components. Given input-output state vectors and
                 component \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "87",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Fox:2023:VMA,
  author =       "Anthony C. J. Fox and Gareth Stockwell and Shale Xiong
                 and Hanno Becker and Dominic P. Mulligan and Gustavo
                 Petri and Nathan Chong",
  title =        "A Verification Methodology for the {Arm\reg}
                 Confidential Computing Architecture: From a Secure
                 Specification to Safe Implementations",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "88:1--88:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586040",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586040",
  abstract =     "We present Arm's efforts in verifying the
                 specification and prototype reference implementation of
                 the Realm Management Monitor (RMM), an essential
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "88",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Menz:2023:CSD,
  author =       "Jan Menz and Andrew K. Hirsch and Peixuan Li and
                 Deepak Garg",
  title =        "Compositional Security Definitions for Higher-Order
                 Where Declassification",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "89:1--89:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586041",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586041",
  abstract =     "To ensure programs do not leak private data, we often
                 want to be able to provide formal guarantees ensuring
                 such data is handled correctly. Often, we cannot keep
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "89",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Shapira:2023:DLR,
  author =       "Yuval Shapira and Eran Avneri and Dana
                 Drachsler-Cohen",
  title =        "Deep Learning Robustness Verification for Few-Pixel
                 Attacks",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "90:1--90:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586042",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586042",
  abstract =     "While successful, neural networks have been shown to
                 be vulnerable to adversarial example attacks. In
                 {L$_0$} adversarial attacks, also known as few-pixel
                 attacks, \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "90",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Mulder:2023:PAL,
  author =       "Ike Mulder and Robbert Krebbers",
  title =        "Proof Automation for Linearizability in Separation
                 Logic",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "91:1--91:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586043",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586043",
  abstract =     "Recent advances in concurrent separation logic enabled
                 the formal verification of increasingly sophisticated
                 fine-grained ( i.e., lock-free) concurrent programs.
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "91",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{LeGlaunec:2023:REM,
  author =       "Alexis {Le Glaunec} and Lingkun Kong and Konstantinos
                 Mamouras",
  title =        "Regular Expression Matching using Bit Vector
                 Automata",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "92:1--92:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586044",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/string-matching.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586044",
  abstract =     "Regular expressions (regexes) are ubiquitous in modern
                 software. There is a variety of implementation
                 techniques for regex matching, which can be roughly
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "92",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zilberstein:2023:OLU,
  author =       "Noam Zilberstein and Derek Dreyer and Alexandra
                 Silva",
  title =        "Outcome Logic: a Unifying Foundation for Correctness
                 and Incorrectness Reasoning",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "93:1--93:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586045",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586045",
  abstract =     "Program logics for bug-finding (such as the recently
                 introduced Incorrectness Logic) have framed correctness
                 and incorrectness as dual concepts requiring different
                 logical \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "93",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Emre:2023:ALT,
  author =       "Mehmet Emre and Peter Boyland and Aesha Parekh and
                 Ryan Schroeder and Kyle Dewey and Ben Hardekopf",
  title =        "Aliasing Limits on Translating {C} to Safe {Rust}",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "94:1--94:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586046",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
                 http://www.math.utah.edu/pub/tex/bib/rust.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586046",
  abstract =     "The Rust language was created to provide safe
                 low-level systems programming. There is both industrial
                 and academic interest in the problem of
                 (semi-)automatically translating C code to Rust in
                 order to exploit Rust's safety guarantees. We study the
                 effectiveness and limitations of existing techniques
                 for automatically translating unsafe raw pointers (in
                 Rust programs translated from C) into safe Rust
                 references via ownership and lifetime inference. Our
                 novel evaluation methodology enables our study to
                 extend beyond prior studies, and to discover new
                 information contradicting the conclusions of prior
                 studies. We find that existing translation methods are
                 severely limited by a lack of precision in the Rust
                 compiler's safety checker, causing many safe pointer
                 manipulations to be labeled as potentially unsafe.
                 Leveraging this information, we propose methods for
                 improving translation, based on encoding the results of
                 a more precise analysis in a manner that is
                 understandable to an unmodified Rust compiler. We
                 implement one of our proposed methods, increasing the
                 number of pointers that can be translated to safe Rust
                 references by 75\% over the baseline (from 12\% to 21\%
                 of all pointers).",
  acknowledgement = ack-nhfb,
  articleno =    "94",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Zhang:2023:ATF,
  author =       "Guoqiang Zhang and Benjamin Mariano and Xipeng Shen
                 and I{\c{s}}{\i}l Dillig",
  title =        "Automated Translation of Functional Big Data Queries
                 to {SQL}",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "95:1--95:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586047",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586047",
  abstract =     "Big data analytics frameworks like Apache Spark and
                 Flink enable users to implement queries over large,
                 distributed databases using functional APIs. In recent
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "95",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Yuan:2023:LPM,
  author =       "Yongwei Yuan and Scott Guest and Eric Griffis and
                 Hannah Potter and David Moon and Cyrus Omar",
  title =        "Live Pattern Matching with Typed Holes",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "96:1--96:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586048",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586048",
  abstract =     "Several modern programming systems, including GHC
                 Haskell, Agda, Idris, and Hazel, support typed holes.
                 Assigning static and, to varying degree, dynamic
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "96",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Xu:2023:PLM,
  author =       "Zhenyang Xu and Yongqiang Tian and Mengxiao Zhang and
                 Gaosen Zhao and Yu Jiang and Chengnian Sun",
  title =        "Pushing the Limit of $1$-Minimality of
                 Language-Agnostic Program Reduction",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "97:1--97:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586049",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586049",
  abstract =     "Program reduction has demonstrated its usefulness in
                 facilitating debugging language implementations in
                 practice, by minimizing bug-triggering programs. There
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "97",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Chiang:2023:ERP,
  author =       "David Chiang and Colin McDonald and Chung-chieh Shan",
  title =        "Exact Recursive Probabilistic Programming",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "98:1--98:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586050",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586050",
  abstract =     "Recursive calls over recursive data are useful for
                 generating probability distributions, and probabilistic
                 programming allows computations over these \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "98",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Feng:2023:LBP,
  author =       "Shenghua Feng and Mingshuai Chen and Han Su and
                 Benjamin Lucien Kaminski and Joost-Pieter Katoen and
                 Naijun Zhan",
  title =        "Lower Bounds for Possibly Divergent Probabilistic
                 Programs",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "99:1--99:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586051",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586051",
  abstract =     "We present a new proof rule for verifying lower bounds
                 on quantities of probabilistic programs. Our proof rule
                 is not confined to almost-surely terminating \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "99",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Goharshady:2023:AGA,
  author =       "Amir Kafshdar Goharshady and S. Hitarth and Fatemeh
                 Mohammadi and Harshit Jitendra Motwani",
  title =        "Algebro-geometric Algorithms for Template-Based
                 Synthesis of Polynomial Programs",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "100:1--100:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586052",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586052",
  abstract =     "Template-based synthesis, also known as sketching, is
                 a localized approach to program synthesis in which the
                 programmer provides not only a specification, but also
                 a \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "100",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Winter:2023:RTB,
  author =       "Levin N. Winter and Florena Buse and Daan de Graaf and
                 Klaus von Gleissenthall and Burcu Kulahcioglu Ozkan",
  title =        "Randomized Testing of {Byzantine} Fault Tolerant
                 Algorithms",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "101:1--101:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586053",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586053",
  abstract =     "Byzantine fault-tolerant algorithms promise agreement
                 on a correct value, even if a subset of processes can
                 deviate from the algorithm arbitrarily. While these
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "101",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Dardinier:2023:VPI,
  author =       "Thibault Dardinier and Gaurav Parthasarathy and Peter
                 M{\"u}ller",
  title =        "Verification-Preserving Inlining in Automatic
                 Separation Logic Verifiers",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "102:1--102:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586054",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586054",
  abstract =     "Bounded verification has proved useful to detect bugs
                 and to increase confidence in the correctness of a
                 program. In contrast to unbounded verification,
                 reasoning \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "102",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Ji:2023:IOG,
  author =       "Ruyi Ji and Chaozhe Kong and Yingfei Xiong and
                 Zhenjiang Hu",
  title =        "Improving Oracle-Guided Inductive Synthesis by
                 Efficient Question Selection",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "103:1--103:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586055",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586055",
  abstract =     "Oracle-guided inductive synthesis (OGIS) is a
                 widely-used framework to apply program synthesis
                 techniques in practice. The question selection problem
                 aims at \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "103",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Muller:2023:BDS,
  author =       "Marius M{\"u}ller and Philipp Schuster and Jonathan
                 Immanuel Brachth{\"a}user and Klaus Ostermann",
  title =        "Back to Direct Style: Typed and Tight",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "104:1--104:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586056",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586056",
  abstract =     "Translating programs into continuation-passing style
                 is a well-studied tool to explicitly deal with the
                 control structure of programs. This is useful, for
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "104",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}

@Article{Roth:2023:FAF,
  author =       "Ori Roth and Yossi Gil",
  title =        "Fluent {APIs} in Functional Languages",
  journal =      j-PACMPL,
  volume =       "7",
  number =       "OOPSLA1",
  pages =        "105:1--105:??",
  month =        apr,
  year =         "2023",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3586057",
  ISSN =         "2475-1421 (electronic)",
  ISSN-L =       "2475-1421",
  bibdate =      "Wed May 17 09:16:15 MDT 2023",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3586057",
  abstract =     "Fluent API is an object-oriented pattern for elegant
                 APIs and embedded DSLs. A smart fluent API can enforce
                 the API protocol or DSL syntax at compile time. Since
                 \ldots{}",
  acknowledgement = ack-nhfb,
  articleno =    "105",
  fjournal =     "Proceedings of the ACM on Programming Languages
                 (PACMPL)",
  journal-URL =  "https://dl.acm.org/loi/pacmpl",
}