@Preamble{"\input bibnames.sty" #
"\def \TM {${}^{\sc TM}$}" #
"\ifx \undefined \bioname \def \bioname #1{{{\em #1\/}}} \fi" #
"\ifx \undefined \Dbar \def \Dbar {\leavevmode\raise0.2ex\hbox{--}\kern-0.5emD} \fi" #
"\ifx \undefined \dbar \def \dbar {\leavevmode\raise0.2ex\hbox{--}\kern-0.5emd} \fi"
}
@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/|"}
@String{j-PACMPL = "Proceedings of the ACM on Programming
Languages (PACMPL)"}
@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'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'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'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'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",
}
@Article{Matsuda:2023:EU,
author = "Kazutaka Matsuda and Samantha Frohlich and Meng Wang
and Nicolas Wu",
title = "Embedding by Unembedding",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "189:1--189:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607830",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607830",
abstract = "Embedding is a language development technique that
implements the object language as a library in a host
language. There are many advantages of \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "189",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Katsura:2023:HOP,
author = "Hiroyuki Katsura and Naoki Kobayashi and Ryosuke
Sato",
title = "Higher-Order Property-Directed Reachability",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "190:1--190:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607831",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607831",
abstract = "The property-directed reachability (PDR) has been used
as a successful method for automated verification of
first-order transition systems. We propose \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "190",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Fowler:2023:SDP,
author = "Simon Fowler and Duncan Paul Attard and Franciszek
Sowul and Simon J. Gay and Phil Trinder",
title = "Special Delivery: Programming with Mailbox Types",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "191:1--191:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607832",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607832",
abstract = "The asynchronous and unidirectional communication
model supported by mailboxes is a key reason for the
success of actor languages like Erlang \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "191",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Bourgeat:2023:FIS,
author = "Thomas Bourgeat and Ian Clester and Andres Erbsen and
Samuel Gruetter and Pratap Singh and Andy Wright and
Adam Chlipala",
title = "Flexible Instruction-Set Semantics via Abstract Monads
(Experience Report)",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "192:1--192:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607833",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607833",
abstract = "Instruction sets, from families like x86 and ARM, are
at the center of many ambitious formal-methods
projects. Many verification, synthesis, \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "192",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Varshosaz:2023:FST,
author = "Mahsa Varshosaz and Mohsen Ghaffari and Einar Broch
Johnsen and Andrzej W{\k{a}}sowski",
title = "Formal Specification and Testing for Reinforcement
Learning",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "193:1--193:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607835",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607835",
abstract = "The development process for reinforcement learning
applications is still exploratory rather than
systematic. This exploratory nature reduces \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "193",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lazarek:2023:HEB,
author = "Lukas Lazarek and Ben Greenman and Matthias Felleisen
and Christos Dimoulas",
title = "How to Evaluate Blame for Gradual Types, {Part 2}",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "194:1--194:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607836",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607836",
abstract = "Equipping an existing programming language with a
gradual type system requires two major steps. The first
and most visible one in academia is \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "194",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ghalayini:2023:ERT,
author = "Jad Elkhaleq Ghalayini and Neel Krishnaswami",
title = "Explicit Refinement Types",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "195:1--195:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607837",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607837",
abstract = "We present $ \lambda_{\rm ert} $, a type theory
supporting refinement types with {\em explicit proofs}.
Instead of solving refinement constraints with an
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "195",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Castagna:2023:TRM,
author = "Giuseppe Castagna",
title = "Typing Records, Maps, and Structs",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "196:1--196:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607838",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607838",
abstract = "Records are finite functions from keys to values. In
this work we focus on two main distinct usages of
records: structs and maps. The former associate
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "196",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Amin:2023:LLU,
author = "Nada Amin and John Burnham and Fran{\c{c}}ois Garillot
and Rosario Gennaro and Chhi'm{\`e}d K{\"u}nzang and
Daniel Rogozin and Cameron Wong",
title = "{LURK}: {Lambda}, the Ultimate Recursive Knowledge
(Experience Report)",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "197:1--197:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607839",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607839",
abstract = "We introduce Lurk, a new LISP-based programming
language for zk-SNARKs. Traditional approaches to
programming over zero-knowledge proofs \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "197",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lorenzen:2023:FFP,
author = "Anton Lorenzen and Daan Leijen and Wouter Swierstra",
title = "{FP$^2$}: Fully in-Place Functional Programming",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "198:1--198:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607840",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607840",
abstract = "As functional programmers we always face a dilemma:
should we write purely functional code, or sacrifice
purity for efficiency and resort to in-place \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "198",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Scott:2023:TRV,
author = "Ryan G. Scott and Mike Dodds and Ivan Perez and Alwyn
E. Goodloe and Robert Dockins",
title = "Trustworthy Runtime Verification via Bisimulation
(Experience Report)",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "199:1--199:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607841",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607841",
abstract = "When runtime verification is used to monitor
safety-critical systems, it is essential that
monitoring code behaves correctly. The Copilot runtime
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "199",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Goldstein:2023:RRG,
author = "Harrison Goldstein and Samantha Frohlich and Meng Wang
and Benjamin C. Pierce",
title = "Reflecting on Random Generation",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "200:1--200:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607842",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607842",
abstract = "Expert users of property-based testing often labor to
craft random generators that encode detailed knowledge
about what it means for a test input to be valid and
interesting. Fortunately, the fruits of this labor can
also be put to other uses. In the bidirectional
programming literature, for example, generators have
been repurposed as validity checkers, while Python's
Hypothesis library uses the same structures for
shrinking and mutating test inputs.\par
To unify and generalize these uses and many others, we
propose reflective generators, a new foundation for
random data generators that can ``reflect'' on an input
value to calculate the random choices that could have
been made to produce it. Reflective generators combine
ideas from two existing abstractions: free generators
and partial monadic profunctors. They can be used to
implement and enhance the aforementioned shrinking and
mutation algorithms, generalizing them to work for any
values that can be produced by the generator, not just
ones for which a trace of the generator's execution is
available. Beyond shrinking and mutation, reflective
generators generalize a published algorithm for
example-based generation, and they can also be used as
checkers, partial value completers, and other kinds of
test data producers.",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "200",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Hubers:2023:GPE,
author = "Alex Hubers and J. Garrett Morris",
title = "Generic Programming with Extensible Data Types: Or,
Making Ad Hoc Extensible Data Types Less Ad Hoc",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "201:1--201:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607843",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607843",
abstract = "We present a novel approach to generic programming
over extensible data types. Row types capture the
structure of records and variants, and can \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "201",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ho:2023:MCS,
author = "Son Ho and Aymeric Fromherz and Jonathan Protzenko",
title = "Modularity, Code Specialization, and Zero-Cost
Abstractions for Program Verification",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "202:1--202:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607844",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607844",
abstract = "For all the successes in verifying low-level,
efficient, security-critical code, little has been said
or studied about the structure, architecture and
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "202",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Augustsson:2023:VCC,
author = "Lennart Augustsson and Joachim Breitner and Koen
Claessen and Ranjit Jhala and Simon Peyton Jones and
Olin Shivers and Guy L. {Steele Jr.} and Tim Sweeney",
title = "The Verse Calculus: a Core Calculus for Deterministic
Functional Logic Programming",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "203:1--203:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607845",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607845",
abstract = "Functional logic languages have a rich literature, but
it is tricky to give them a satisfying semantics. In
this paper we describe the Verse calculus, VC,
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "203",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lutze:2023:YPE,
author = "Matthew Lutze and Magnus Madsen and Philipp Schuster
and Jonathan Immanuel Brachth{\"a}user",
title = "With or Without You: Programming with Effect
Exclusion",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "204:1--204:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607846",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607846",
abstract = "Type and effect systems have been successfully used to
statically reason about effects in many different
domains, including region-based memory \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "204",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Bahr:2023:AMF,
author = "Patrick Bahr and Rasmus Ejlers M{\o}gelberg",
title = "Asynchronous Modal {FRP}",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "205:1--205:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607847",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607847",
abstract = "Over the past decade, a number of languages for
functional reactive programming (FRP) have been
suggested, which use modal types to \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "205",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Sieczkowski:2023:GFG,
author = "Filip Sieczkowski and Mateusz Pyzik and Dariusz
Biernacki",
title = "A General Fine-Grained Reduction Theory for Effect
Handlers",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "206:1--206:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607848",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607848",
abstract = "Effect handlers are a modern and increasingly popular
approach to structuring computational effects in
functional programming \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "206",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Shen:2023:HFC,
author = "Gan Shen and Shun Kashiwa and Lindsey Kuper",
title = "{HasChor}: Functional Choreographic Programming for
All (Functional Pearl)",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "207:1--207:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607849",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607849",
abstract = "Choreographic programming is an emerging paradigm for
programming distributed systems. In choreographic
programming, the programmer \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "207",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Yang:2023:MMM,
author = "Zhixuan Yang and Nicolas Wu",
title = "Modular Models of Monoids with Operations",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "208:1--208:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607850",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607850",
abstract = "Inspired by algebraic effects and the principle of
notions of computations as monoids, we study a
categorical framework for equational \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "208",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Xie:2023:MSC,
author = "Ningning Xie and Leo White and Olivier Nicole and
Jeremy Yallop",
title = "{MacoCaml}: Staging Composable and Compilable Macros",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "209:1--209:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607851",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607851",
abstract = "We introduce MacoCaml, a new design and implementation
of compile-time code generation for the OCaml language.
MacoCaml features a novel \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "209",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Liu:2023:DTP,
author = "Yiyun Liu and Stephanie Weirich",
title = "Dependently-Typed Programming with Logical Equality
Reflection",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "210:1--210:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607852",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607852",
abstract = "In dependently-typed functional programming languages
that allow general recursion, programs used as proofs
must be evaluated to \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "210",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Breitner:2023:MFF,
author = "Joachim Breitner",
title = "More Fixpoints! (Functional Pearl)",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "211:1--211:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607853",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607853",
abstract = "Haskell's laziness allows the programmer to solve some
problems naturally and declaratively via recursive
equations. Unfortunately, if the input is \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "211",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Thiemann:2023:ITS,
author = "Peter Thiemann",
title = "Intrinsically Typed Sessions with Callbacks
(Functional Pearl)",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "212:1--212:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607854",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607854",
abstract = "All formalizations of session types rely on linear
types for soundness as session-typed communication
channels must change their type at every \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "212",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Bahr:2023:CCC,
author = "Patrick Bahr and Graham Hutton",
title = "Calculating Compilers for Concurrency",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "213:1--213:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607855",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607855",
abstract = "Choice trees have recently been introduced as a
general structure for defining the semantics of
programming languages with a wide variety \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "213",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Jacobs:2023:DSP,
author = "Jules Jacobs and Jonas Kastberg Hinrichsen and Robbert
Krebbers",
title = "Dependent Session Protocols in Separation Logic from
First Principles (Functional Pearl)",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "214:1--214:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607856",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607856",
abstract = "We develop an account of dependent session protocols
in concurrent separation logic for a functional
language with message-passing. Inspired by \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "214",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lu:2023:WHW,
author = "Kuang-Chen Lu and Shriram Krishnamurthi and Kathi
Fisler and Ethel Tshukudu",
title = "What Happens When Students Switch (Functional)
Languages (Experience Report)",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "215:1--215:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607857",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607857",
abstract = "When novice programming students already know one
programming language and have to learn another, what
issues do they run into? We specifically \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "215",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Baudon:2023:BSM,
author = "Tha{\"\i}s Baudon and Gabriel Radanne and Laure
Gonnord",
title = "Bit-Stealing Made Legal: Compilation for Custom Memory
Representations of Algebraic Data Types",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "216:1--216:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607858",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607858",
abstract = "Initially present only in functional languages such as
OCaml and Haskell, Algebraic Data Types (ADTs) have now
become pervasive in \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "216",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Gondelman:2023:VRN,
author = "L{\'e}on Gondelman and Jonas Kastberg Hinrichsen and
M{\'a}rio Pereira and Amin Timany and Lars Birkedal",
title = "Verifying Reliable Network Components in a Distributed
Separation Logic with Dependent Separation Protocols",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "217:1--217:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607859",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607859",
abstract = "We present a foundationally verified implementation of
a reliable communication library for asynchronous
client-server communication, \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "217",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Shi:2023:EEP,
author = "Jessica Shi and Alperen Keles and Harrison Goldstein
and Benjamin C. Pierce and Leonidas Lampropoulos",
title = "{Etna}: an Evaluation Platform for Property-Based
Testing (Experience Report)",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "218:1--218:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607860",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607860",
abstract = "Property- based testing is a mainstay of functional
programming, boasting a rich literature, an
enthusiastic user community, and an abundance
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "218",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Elliott:2023:TC,
author = "Conal Elliott",
title = "Timely Computation",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "219:1--219:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607861",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607861",
abstract = "This paper addresses the question ``what is a digital
circuit?'' in relation to the fundamentally analog
nature of actual (physical) circuits. A simple
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "219",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Abel:2023:GMD,
author = "Andreas Abel and Nils Anders Danielsson and Oskar
Eriksson",
title = "A Graded Modal Dependent Type Theory with a Universe
and Erasure, Formalized",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "220:1--220:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607862",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607862",
abstract = "We present a graded modal type theory, a dependent
type theory with grades that can be used to enforce
various properties of the code. The theory has
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "220",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Keidel:2023:CBF,
author = "Sven Keidel and Sebastian Erdweg and Tobias
Homb{\"u}cher",
title = "Combinator-Based Fixpoint Algorithms for Big-Step
Abstract Interpreters",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "221:1--221:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607863",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3607863",
abstract = "Big- step abstract interpreters are an approach to
build static analyzers based on big-step
interpretation. While big-step interpretation provides
a \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "221",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Yi:2023:HAS,
author = "Pu (Luke) Yi and Sara Achour",
title = "Hardware-Aware Static Optimization of Hyperdimensional
Computations",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "222:1--222:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622797",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622797",
abstract = "Binary spatter code (BSC)-based hyperdimensional
computing (HDC) is a highly error-resilient approximate
computational paradigm suited \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "222",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Hance:2023:LMT,
author = "Travis Hance and Jon Howell and Oded Padon and Bryan
Parno",
title = "Leaf: Modularity for Temporary Sharing in Separation
Logic",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "223:1--223:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622798",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622798",
abstract = "In concurrent verification, separation logic provides
a strong story for handling both resources that are
owned exclusively and resources that are shared
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "223",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Gourdin:2023:FVO,
author = "L{\'e}o Gourdin and Benjamin Bonneau and Sylvain
Boulm{\'e} and David Monniaux and Alexandre
B{\'e}rard",
title = "Formally Verifying Optimizations with Block
Simulations",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "224:1--224:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622799",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622799",
abstract = "CompCert (ACM Software System Award 2021) is the first
industrial-strength compiler with a mechanically
checked proof of correctness. Yet, \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "224",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Sun:2023:SEM,
author = "Yican Sun and Xuanyu Peng and Yingfei Xiong",
title = "Synthesizing Efficient Memoization Algorithms",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "225:1--225:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622800",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622800",
abstract = "In this paper, we propose an automated approach to
finding correct and efficient memoization algorithms
from a given declarative specification. This \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "225",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Paulino:2023:ADC,
author = "Herv{\'e} Paulino and Ana Almeida Matos and Jan
Cederquist and Marco Giunti and Jo{\~a}o Matos and
Ant{\'o}nio Ravara",
title = "{AtomiS}: Data-Centric Synchronization Made
Practical",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "226:1--226:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622801",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622801",
abstract = "Data-Centric Synchronization (DCS) shifts the
reasoning about concurrency restrictions from control
structures to data declaration. It is a \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "226",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Renaux:2023:SRE,
author = "Thierry Renaux and Sam {Van den Vonder} and Wolfgang
{De Meuter}",
title = "Secure {RDTs}: Enforcing Access Control Policies for
Offline Available {JSON} Data",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "227:1--227:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622802",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622802",
abstract = "Replicated Data Types (RDTs) are a type of data
structure that can be replicated over a network, where
each replica can be kept (eventually) consistent
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "227",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Mururu:2023:BEE,
author = "Girish Mururu and Sharjeel Khan and Bodhisatwa
Chatterjee and Chao Chen and Chris Porter and Ada
Gavrilovska and Santosh Pande",
title = "{Beacons}: an End-to-End Compiler Framework for
Predicting and Utilizing Dynamic Loop Characteristics",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "228:1--228:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622803",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622803",
abstract = "Efficient management of shared resources is a critical
problem in high-performance computing (HPC)
environments. Existing workload management systems
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "228",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ghorbani:2023:CST,
author = "Mahdi Ghorbani and Mathieu Huot and Shideh Hashemian
and Amir Shaikhha",
title = "Compiling Structured Tensor Algebra",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "229:1--229:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622804",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622804",
abstract = "Tensor algebra is essential for data-intensive
workloads in various computational domains.
Computational scientists face a trade-off \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "229",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Chen:2023:EVT,
author = "Qinlin Chen and Nairen Zhang and Jinpeng Wang and Tian
Tan and Chang Xu and Xiaoxing Ma and Yue Li",
title = "The Essence of {Verilog}: a Tractable and Tested
Operational Semantics for {Verilog}",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "230:1--230:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622805",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622805",
abstract = "With the increasing need to apply modern software
techniques to hardware design, Verilog, the most
popular Hardware Description Language (HDL), \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "230",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Wan:2023:RTP,
author = "Chengcheng Wan and Yuhan Liu and Kuntai Du and Henry
Hoffmann and Junchen Jiang and Michael Maire and Shan
Lu",
title = "Run-Time Prevention of Software Integration Failures
of Machine Learning {APIs}",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "231:1--231:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622806",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622806",
abstract = "Due to the under-specified interfaces, developers face
challenges in correctly integrating machine learning
(ML) APIs in software. Even when the ML \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "231",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Conrado:2023:BPC,
author = "Giovanna Kobus Conrado and Amir Kafshdar Goharshady
and Chun Kit Lam",
title = "The Bounded Pathwidth of Control-Flow Graphs",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "232:1--232:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622807",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622807",
abstract = "Pathwidth and treewidth are standard and well-studied
graph sparsity parameters which intuitively model the
degree to which a given graph resembles \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "232",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Larose:2023:AVB,
author = "Octave Larose and Sophie Kaleba and Humphrey Burchell
and Stefan Marr",
title = "{AST} vs. Bytecode: Interpreters in the Age of
Meta-Compilation",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "233:1--233:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622808",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622808",
abstract = "Thanks to partial evaluation and meta-tracing, it
became practical to build language implementations that
reach state-of-the-art peak \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "233",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Rossberg:2023:MIR,
author = "Andreas Rossberg",
title = "Mutually Iso-Recursive Subtyping",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "234:1--234:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622809",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622809",
abstract = "Iso-recursive types are often taken as a
type-theoretic model for type recursion as present in
many programming languages, e.g., classes in \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "234",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Sano:2023:MST,
author = "Chuta Sano and Ryan Kavanagh and Brigitte Pientka",
title = "Mechanizing Session-Types using a Structural View:
Enforcing Linearity without Linearity",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "235:1--235:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622810",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622810",
abstract = "Session types employ a linear type system that ensures
that communication channels cannot be implicitly copied
or discarded. As a result, many \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "235",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Bracevac:2023:GII,
author = "Oliver Bra{\v{c}}evac and Guannan Wei and Songlin Jia
and Supun Abeysinghe and Yuxuan Jiang and Yuyan Bao and
Tiark Rompf",
title = "Graph {IRs} for Impure Higher-Order Languages: Making
Aggressive Optimizations Affordable with Precise Effect
Dependencies",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "236:1--236:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622813",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622813",
abstract = "Graph-based intermediate representations (IRs) are
widely used for powerful compiler optimizations, either
interprocedurally in pure \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "236",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Bhanuka:2023:GFT,
author = "Ishan Bhanuka and Lionel Parreaux and David Binder and
Jonathan Immanuel Brachth{\"a}user",
title = "Getting into the Flow: Towards Better Type Error
Messages for Constraint-Based Type Inference",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "237:1--237:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622812",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622812",
abstract = "Creating good type error messages for constraint-based
type inference systems is difficult. Typical type error
messages reflect implementation details \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "237",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Phipps-Costin:2023:CWE,
author = "Luna Phipps-Costin and Andreas Rossberg and Arjun Guha
and Daan Leijen and Daniel Hillerstr{\"o}m and KC
Sivaramakrishnan and Matija Pretnar and Sam Lindley",
title = "Continuing {WebAssembly} with Effect Handlers",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "238:1--238:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622814",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622814",
abstract = "WebAssembly (Wasm) is a low-level portable code format
offering near native performance. It is intended as a
compilation target for a wide \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "238",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Wang:2023:TBO,
author = "Shangwen Wang and Bo Lin and Zhensu Sun and Ming Wen
and Yepang Liu and Yan Lei and Xiaoguang Mao",
title = "Two Birds with One Stone: Boosting Code Generation and
Code Search via a Generative Adversarial Network",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "239:1--239:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622815",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622815",
abstract = "Automatically transforming developers' natural
language descriptions into source code has been a
longstanding goal in software engineering research.
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "239",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Madsen:2023:FEB,
author = "Magnus Madsen and Jaco van de Pol and Troels
Henriksen",
title = "Fast and Efficient {Boolean} Unification for
{Hindley--Milner}-Style Type and Effect Systems",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "240:1--240:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622816",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622816",
abstract = "As type and effect systems become more expressive
there is an increasing need for efficient type
inference. We consider a polymorphic effect system
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "240",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Greenman:2023:HPC,
author = "Ben Greenman and Matthias Felleisen and Christos
Dimoulas",
title = "How Profilers Can Help Navigate Type Migration",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "241:1--241:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622817",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622817",
abstract = "Sound migratory typing envisions a safe and smooth
refactoring of untyped code bases to typed ones.
However, the cost of enforcing safety with run-time
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "241",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Flatt:2023:RNS,
author = "Matthew Flatt and Taylor Allred and Nia Angle and
Stephen De Gabrielle and Robert Bruce Findler and Jack
Firth and Kiran Gopinathan and Ben Greenman and
Siddhartha Kasivajhula and Alex Knauth and Jay McCarthy
and Sam Phillips and Sorawee Porncharoenwase and Jens
Axel S{\o}gaard and Sam Tobin-Hochstadt",
title = "{Rhombus}: a New Spin on Macros without All the
Parentheses",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "242:1--242:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622818",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622818",
abstract = "Rhombus is a new language that is built on Racket. It
offers the same kind of language extensibility as
Racket itself, but using traditional (infix) \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "242",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhou:2023:TBS,
author = "Chijin Zhou and Quan Zhang and Lihua Guo and Mingzhe
Wang and Yu Jiang and Qing Liao and Zhiyong Wu and
Shanshan Li and Bin Gu",
title = "Towards Better Semantics Exploration for Browser
Fuzzing",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "243:1--243:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622819",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622819",
abstract = "Web browsers exhibit rich semantics that enable a
plethora of web-based functionalities. However, these
intricate semantics present significant \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "243",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Vindum:2023:SMC,
author = "Simon Friis Vindum and Lars Birkedal",
title = "{Spirea}: a Mechanized Concurrent Separation Logic for
Weak Persistent Memory",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "244:1--244:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622820",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622820",
abstract = "Weak persistent memory (a.k.a. non-volatile memory) is
an emerging technology that offers fast
byte-addressable durable main \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "244",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Thy:2023:ALE,
author = "Sewen Thy and Andreea Costea and Kiran Gopinathan and
Ilya Sergey",
title = "Adventure of a Lifetime: Extract Method Refactoring
for {Rust}",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "245:1--245:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622821",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/rust.bib",
URL = "https://dl.acm.org/doi/10.1145/3622821",
abstract = "We present a design and implementation of the
automated ``Extract Method'' refactoring for Rust
programs. Even though Extract Method is one \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "245",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cao:2023:MMM,
author = "Huanqi Cao and Shizhi Tang and Qianchao Zhu and Bowen
Yu and Wenguang Chen",
title = "{Mat2Stencil}: a Modular Matrix-Based {DSL} for
Explicit and Implicit Matrix-Free {PDE} Solvers on
Structured Grid",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "246:1--246:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622822",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622822",
abstract = "Partial differential equation (PDE) solvers are
extensively utilized across numerous scientific and
engineering fields. However, achieving high performance
and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "246",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Gueneau:2023:MPL,
author = "Arma{\"e}l Gu{\'e}neau and Johannes Hostert and Simon
Spies and Michael Sammler and Lars Birkedal and Derek
Dreyer",
title = "{Melocoton}: a Program Logic for Verified
Interoperability Between {OCaml} and {C}",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "247:1--247:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622823",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622823",
abstract = "In recent years, there has been tremendous progress on
developing program logics for verifying the correctness
of programs in a \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "247",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Pacak:2023:IDD,
author = "Andr{\'e} Pacak and Sebastian Erdweg",
title = "Interactive Debugging of {Datalog} Programs",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "248:1--248:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622824",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622824",
abstract = "Datalog is used for complex programming tasks
nowadays, consisting of numerous inter-dependent
predicates. But Datalog lacks interactive debugging
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "248",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ye:2023:CTI,
author = "Fangke Ye and Jisheng Zhao and Jun Shirako and Vivek
Sarkar",
title = "Concrete Type Inference for Code Optimization using
Machine Learning with {SMT} Solving",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "249:1--249:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622825",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622825",
abstract = "Despite the widespread popularity of dynamically typed
languages such as Python, it is well known that they
pose significant challenges to code \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "249",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Wang:2023:EMM,
author = "Yu Wang and Ke Wang and Linzhang Wang",
title = "An Explanation Method for Models of Code",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "250:1--250:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622826",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622826",
abstract = "This paper introduces a novel method, called WheaCha,
for explaining the predictions of code models. Similar
to attribution methods, WheaCha \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "250",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Jung:2023:MVS,
author = "Jaehwang Jung and Janggun Lee and Jaemin Choi and
Jaewoo Kim and Sunho Park and Jeehoon Kang",
title = "Modular Verification of Safe Memory Reclamation in
Concurrent Separation Logic",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "251:1--251:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622827",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622827",
abstract = "Formal verification is an effective method to address
the challenge of designing correct and efficient
concurrent data structures. But verification \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "251",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lee:2023:SRI,
author = "Edward Lee and Ondrej Lhot{\'a}k",
title = "Simple Reference Immutability for System {F$_{
\lt \colon }$}",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "252:1--252:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622828",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622828",
abstract = "Reference immutability is a type based technique for
taming mutation that has long been studied in the
context of object-oriented languages, like \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "252",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cai:2023:AAS,
author = "Zhuo Cai and Soroush Farokhnia and Amir Kafshdar
Goharshady and S. Hitarth",
title = "{Asparagus}: Automated Synthesis of Parametric Gas
Upper-Bounds for Smart Contracts",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "253:1--253:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622829",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/bitcoin.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622829",
abstract = "Modern programmable blockchains have built-in support
for smart contracts, i.e. programs that are stored on
the blockchain and whose state is subject to consensus.
After a smart contract is deployed on the blockchain,
anyone on the network can interact with it and call its
functions by creating transactions. The blockchain
protocol is then used to reach a consensus about the
order of the transactions and, as a direct corollary,
the state of every smart contract. Reaching such
consensus necessarily requires every node on the
network to execute all function calls. Thus, an
attacker can perform DoS by creating expensive
transactions and function calls that use considerable
or even possibly infinite time and space. To avoid
this, following Ethereum, virtually all programmable
blockchains have introduced the concept of ``gas''. A
fixed hard-coded gas cost is assigned to every atomic
operation and the user who calls a function has to pay
for its total gas usage. This technique ensures that
the protocol is not vulnerable to DoS attacks, but it
has also had significant unintended consequences.
Out-of-gas errors, i.e. when a user misunderestimates
the gas usage of their function call and does not
allocate enough gas, are a major source of security
vulnerabilities in Ethereum.\par
We focus on the well-studied problem of automatically
finding upper-bounds on the gas usage of a smart
contract. This is a classical problem in the blockchain
community and has also been extensively studied by
researchers in programming languages and verification.
In this work, we provide a novel approach using
theorems from polyhedral geometry and real algebraic
geometry, namely Farkas' Lemma, Handelman's Theorem,
and Putinar's Positivstellensatz, to automatically
synthesize linear and polynomial parametric bounds for
the gas usage of smart contracts. Our approach is the
first to provide completeness guarantees for the
synthesis of such parametric upper-bounds. Moreover,
our theoretical results are independent of the
underlying consensus protocol and can be applied to
smart contracts written in any language and run on any
blockchain.\par
As a proof of concept, we also provide a tool, called
``Asparagus'' that implements our algorithms for
Ethereum contracts written in Solidity. Finally, we
provide extensive experimental results over 24,188
real-world smart contracts that are currently deployed
on the Ethereum blockchain. We compare Asparagus
against GASTAP, which is the only previous tool that
could provide parametric bounds, and show that our
method significantly outperforms it, both in terms of
applicability and the tightness of the resulting
bounds. More specifically, our approach can handle
80.56\% of the functions (126,269 out of 156,735) in
comparison with GASTAP's 58.62\%. Additionally, even on
the benchmarks where both approaches successfully
synthesize a bound, our bound is tighter in 97.85\% of
the cases.",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "253",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Feser:2023:IPS,
author = "Jack Feser and I{\c{s}}{\i}l Dillig and Armando
Solar-Lezama",
title = "Inductive Program Synthesis Guided by Observational
Program Similarity",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "254:1--254:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622830",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622830",
abstract = "We present a new general-purpose synthesis technique
for generating programs from input-output examples. Our
method, called metric \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "254",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Muller:2023:CRE,
author = "Marius M{\"u}ller and Philipp Schuster and Jonathan
Lindegaard Starup and Klaus Ostermann and Jonathan
Immanuel Brachth{\"a}user",
title = "From Capabilities to Regions: Enabling Efficient
Compilation of Lexical Effect Handlers",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "255:1--255:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622831",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622831",
abstract = "Effect handlers are a high-level abstraction that
enables programmers to use effects in a structured way.
They have gained a lot of popularity \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "255",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{He:2023:CUP,
author = "Dongjie He and Yujiang Gui and Wei Li and Yonggang Tao
and Changwei Zou and Yulei Sui and Jingling Xue",
title = "A Container-Usage-Pattern-Based Context Debloating
Approach for Object-Sensitive Pointer Analysis",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "256:1--256:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622832",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622832",
abstract = "In this paper, we introduce DebloaterX, a new approach
for automatically identifying context-independent
objects to debloat contexts in \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "256",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cai:2023:CAP,
author = "Yuandao Cai and Charles Zhang",
title = "A Cocktail Approach to Practical Call Graph
Construction",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "257:1--257:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622833",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622833",
abstract = "After decades of research, constructing call graphs
for modern C-based software remains either imprecise or
inefficient when scaling up to the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "257",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Pal:2023:EST,
author = "Anjali Pal and Brett Saiki and Ryan Tjoa and Cynthia
Richey and Amy Zhu and Oliver Flatt and Max Willsey and
Zachary Tatlock and Chandrakana Nandi",
title = "Equality Saturation Theory Exploration {\`a} la
Carte",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "258:1--258:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622834",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622834",
abstract = "Rewrite rules are critical in equality saturation, an
increasingly popular technique in optimizing compilers,
synthesizers, and verifiers. \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "258",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Murali:2023:CFO,
author = "Adithya Murali and Lucas Pe{\~n}a and Ranjit Jhala and
P. Madhusudan",
title = "Complete First-Order Reasoning for Properties of
Functional Programs",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "259:1--259:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622835",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622835",
abstract = "Several practical tools for automatically verifying
functional programs (e.g., Liquid Haskell and Leon for
Scala programs) rely on a heuristic based on \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "259",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Tang:2023:SSP,
author = "Wenhao Tang and Daniel Hillerstr{\"o}m and James
McKinna and Michel Steuwer and Ornela Dardha and
Rongxiao Fu and Sam Lindley",
title = "Structural Subtyping as Parametric Polymorphism",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "260:1--260:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622836",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622836",
abstract = "Structural subtyping and parametric polymorphism
provide similar flexibility and reusability to
programmers. For example, both features enable
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "260",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Porncharoenwase:2023:PEP,
author = "Sorawee Porncharoenwase and Justin Pombrio and Emina
Torlak",
title = "A Pretty Expressive Printer",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "261:1--261:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622837",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622837",
abstract = "Pretty printers make trade-offs between the
expressiveness of their pretty printing language, the
optimality objective that they minimize when choosing
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "261",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Liu:2023:AAD,
author = "Jiangyi Liu and Fengmin Zhu and Fei He",
title = "Automated Ambiguity Detection in Layout-Sensitive
Grammars",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "262:1--262:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622838",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622838",
abstract = "Layout-sensitive grammars have been adopted in many
modern programming languages. In a serious language
design phase, the specified \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "262",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Mehta:2023:RJT,
author = "Meetesh Kalpesh Mehta and Sebasti{\'a}n Krynski and
Hugo Musso Gualandi and Manas Thakur and Jan Vitek",
title = "Reusing Just-in-Time Compiled Code",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "263:1--263:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622839",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622839",
abstract = "Most code is executed more than once. If not entire
programs then libraries remain unchanged from one run
to the next. Just-in-time compilers expend \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "263",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Sahebolamri:2023:BYO,
author = "Arash Sahebolamri and Langston Barrett and Scott Moore
and Kristopher Micinski",
title = "Bring Your Own Data Structures to {Datalog}",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "264:1--264:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622840",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622840",
abstract = "The restricted logic programming language Datalog has
become a popular implementation target for
deductive-analytic workloads including \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "264",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Crichton:2023:GCM,
author = "Will Crichton and Gavin Gray and Shriram
Krishnamurthi",
title = "A Grounded Conceptual Model for Ownership Types in
{Rust}",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "265:1--265:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622841",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/rust.bib",
URL = "https://dl.acm.org/doi/10.1145/3622841",
abstract = "Programmers learning Rust struggle to understand
ownership types, Rust's core mechanism for ensuring
memory safety without garbage collection. This
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "265",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhang:2023:BDS,
author = "Quan Zhang and Chijin Zhou and Yiwen Xu and Zijing Yin
and Mingzhe Wang and Zhuo Su and Chengnian Sun and Yu
Jiang and Jiaguang Sun",
title = "Building Dynamic System Call Sandbox with Partial
Order Analysis",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "266:1--266:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622842",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622842",
abstract = "Attack surface reduction is a security technique that
secures the operating system by removing the
unnecessary code or features of a program. By
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "266",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Bianchini:2023:RAS,
author = "Riccardo Bianchini and Francesco Dagnino and Paola
Giannini and Elena Zucca",
title = "Resource-Aware Soundness for Big-Step Semantics",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "267:1--267:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622843",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622843",
abstract = "We extend the semantics and type system of a lambda
calculus equipped with common constructs to be
resource-aware. That is, reduction is \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "267",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Liu:2023:IGO,
author = "Fengyun Liu and Ond{\v{r}}ej Lhot{\'a}k and David Hua
and Enze Xing",
title = "Initializing Global Objects: Time and Order",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "268:1--268:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622844",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622844",
abstract = "Object-oriented programming has been bothered by an
awkward feature for a long time: static members. Static
members not only compromise the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "268",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Mohan:2023:FAP,
author = "Anshuman Mohan and Yunhe Liu and Nate Foster and
Tobias Kapp{\'e} and Dexter Kozen",
title = "Formal Abstractions for Packet Scheduling",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "269:1--269:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622845",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622845",
abstract = "Early programming models for software-defined
networking (SDN) focused on basic features for
controlling network-wide forwarding paths, but
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "269",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Arvidsson:2023:RCF,
author = "Ellen Arvidsson and Elias Castegren and Sylvan Clebsch
and Sophia Drossopoulou and James Noble and Matthew J.
Parkinson and Tobias Wrigstad",
title = "Reference Capabilities for Flexible Memory
Management",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "270:1--270:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622846",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622846",
abstract = "Verona is a concurrent object-oriented programming
language that organises all the objects in a program
into a forest of isolated regions. Memory is \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "270",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Thakkar:2023:MSR,
author = "Aalok Thakkar and Nathaniel Sands and George Petrou
and Rajeev Alur and Mayur Naik and Mukund Raghothaman",
title = "Mobius: Synthesizing Relational Queries with Recursive
and Invented Predicates",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "271:1--271:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622847",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622847",
abstract = "Synthesizing relational queries from data is
challenging in the presence of recursion and invented
predicates. We propose a fully automated approach to
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "271",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhou:2023:MPA,
author = "Jin Zhou and Sam Silvestro and Tang, Steven (Jiaxun)
and Hanmei Yang and Hongyu Liu and Guangming Zeng and
Bo Wu and Cong Liu and Tongping Liu",
title = "{MemPerf}: Profiling Allocator-Induced Performance
Slowdowns",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "272:1--272:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622848",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622848",
abstract = "The memory allocator plays a key role in the
performance of applications, but none of the existing
profilers can pinpoint performance slowdowns caused
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "272",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Linvill:2023:VIP,
author = "Kirby Linvill and Gowtham Kaki and Eric Wustrow",
title = "Verifying Indistinguishability of Privacy-Preserving
Protocols",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "273:1--273:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622849",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622849",
abstract = "Internet users rely on the protocols they use to
protect their private information including their
identity and the websites they visit. Formal
verification of \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "273",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ma:2023:QMC,
author = "Cong Ma and Dinghao Wu and Gang Tan and Mahmut Taylan
Kandemir and Danfeng Zhang",
title = "Quantifying and Mitigating Cache Side Channel Leakage
with Differential Set",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "274:1--274:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622850",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2020.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622850",
abstract = "Cache side-channel attacks leverage secret-dependent
footprints in CPU cache to steal confidential
information, such as encryption keys. Due to the lack
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "274",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Rennels:2023:HDE,
author = "Lisa Rennels and Sarah E. Chasins",
title = "How Domain Experts Use an Embedded {DSL}",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "275:1--275:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622851",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622851",
abstract = "Programming tools are increasingly integral to
research and analysis in myriad domains, including
specialized areas with no formal relation to \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "275",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cheeseman:2023:WCM,
author = "Luke Cheeseman and Matthew J. Parkinson and Sylvan
Clebsch and Marios Kogias and Sophia Drossopoulou and
David Chisnall and Tobias Wrigstad and Paul
Li{\'e}tar",
title = "When Concurrency Matters: Behaviour-Oriented
Concurrency",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "276:1--276:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622852",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622852",
abstract = "Expressing parallelism and coordination is central for
modern concurrent programming. Many mechanisms exist
for expressing both parallelism and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "276",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{DSouza:2023:TJT,
author = "Matt D'Souza and James You and Ond{\v{r}}ej Lhot{\'a}k
and Aleksandar Prokopec",
title = "{TASTyTruffle}: Just-in-Time Specialization of
Parametric Polymorphism",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "277:1--277:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622853",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622853",
abstract = "Parametric polymorphism enables programmers to express
algorithms independently of the types of values that
they operate on. The approach \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "277",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Iraci:2023:VID,
author = "Grant Iraci and Cheng-En Chuang and Raymond Hu and
Lukasz Ziarek",
title = "Validating {IoT} Devices with Rate-Based Session
Types",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "278:1--278:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622854",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622854",
abstract = "We develop a session types based framework for
implementing and validating rate-based message passing
systems in Internet of Things \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "278",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Haas:2023:SAM,
author = "Thomas Haas and Ren{\'e} Maseli and Roland Meyer and
Hern{\'a}n Ponce de Le{\'o}n",
title = "Static Analysis of Memory Models for {SMT} Encodings",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "279:1--279:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622855",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622855",
abstract = "The goal of this work is to improve the efficiency of
bounded model checkers that are modular in the memory
model. Our first contribution is a static \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "279",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Renda:2023:TCG,
author = "Alex Renda and Yi Ding and Michael Carbin",
title = "{Turaco}: Complexity-Guided Data Sampling for Training
Neural Surrogates of Programs",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "280:1--280:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622856",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622856",
abstract = "Programmers and researchers are increasingly
developing surrogates of programs, models of a subset
of the observable behavior of a given \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "280",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cho:2023:SF,
author = "Minki Cho and Youngju Song and Dongjae Lee and Lennard
G{\"a}her and Derek Dreyer",
title = "Stuttering for Free",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "281:1--281:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622857",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622857",
abstract = "One of the most common tools for proving behavioral
refinements between transition systems is the method of
simulation proofs, which has \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "281",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Shadab:2023:IRM,
author = "Narges Shadab and Pritam Gharat and Shrey Tiwari and
Michael D. Ernst and Martin Kellogg and Shuvendu K.
Lahiri and Akash Lal and Manu Sridharan",
title = "Inference of Resource Management Specifications",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "282:1--282:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622858",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622858",
abstract = "A resource leak occurs when a program fails to free
some finite resource after it is no longer needed. Such
leaks are a significant cause of real-world \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "282",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Chitre:2023:RRB,
author = "Khushboo Chitre and Piyus Kedia and Rahul Purandare",
title = "{Rapid}: Region-Based Pointer Disambiguation",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "283:1--283:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622859",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622859",
abstract = "Interprocedural alias analyses often sacrifice
precision for scalability. Thus, modern compilers such
as GCC and LLVM implement more scalable but \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "283",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{New:2023:GTE,
author = "Max S. New and Eric Giovannini and Daniel R. Licata",
title = "Gradual Typing for Effect Handlers",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "284:1--284:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622860",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622860",
abstract = "We present a gradually typed language, GrEff, with
effects and handlers that supports migration from
unchecked to checked effect typing. This \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "284",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Park:2023:SS,
author = "Kanghee Park and Loris D'Antoni and Thomas Reps",
title = "Synthesizing Specifications",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "285:1--285:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622861",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622861",
abstract = "Every program should be accompanied by a specification
that describes important aspects of the code's
behavior, but writing good specifications is \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "285",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Gao:2023:CVE,
author = "Pengfei Gao and Yedi Zhang and Fu Song and Taolue Chen
and Fran{\c{c}}ois-Xavier Standaert",
title = "Compositional Verification of Efficient Masking
Countermeasures against Side-Channel Attacks",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "286:1--286:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622862",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2020.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622862",
abstract = "Masking is one of the most effective countermeasures
for securely implementing cryptographic algorithms
against power side-channel \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "286",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Chen:2023:DES,
author = "Qiaochu Chen and Arko Banerjee and {\c{C}}a{\u{g}}atay
Demiralp and Greg Durrett and I{\c{s}}{\i}l Dillig",
title = "Data Extraction via Semantic Regular Expression
Synthesis",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "287:1--287:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622863",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/string-matching.bib",
URL = "https://dl.acm.org/doi/10.1145/3622863",
abstract = "Many data extraction tasks of practical relevance
require not only syntactic pattern matching but also
semantic reasoning about the content of \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "287",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Tamir:2023:CDQ,
author = "Orr Tamir and Marcelo Taube and Kenneth L. McMillan
and Sharon Shoham and Jon Howell and Guy Gueta and
Mooly Sagiv",
title = "Counterexample Driven Quantifier Instantiations with
Applications to Distributed Protocols",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "288:1--288:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622864",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622864",
abstract = "Formally verifying infinite-state systems can be a
daunting task, especially when it comes to reasoning
about quantifiers. In particular, quantifier \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "288",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Meier:2023:HRC,
author = "Shawn Meier and Sergio Mover and Gowtham Kaki and
Bor-Yuh Evan Chang",
title = "{Historia}: Refuting Callback Reachability with
Message-History Logics",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "289:1--289:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622865",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622865",
abstract = "This paper considers the callback reachability problem
--- determining if a callback can be called by an
event-driven framework in an unexpected \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "289",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Larsen:2023:PTV,
author = "Jens Kanstrup Larsen and Roberto Guanciale and Philipp
Haller and Alceste Scalas",
title = "{P4R-Type}: a Verified {API} for {P4} Control Plane
Programs",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "290:1--290:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622866",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622866",
abstract = "Software-Defined Networking (SDN) significantly
simplifies programming, reconfiguring, and optimizing
network devices, such as switches and routers. The
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "290",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Laurel:2023:SPS,
author = "Jacob Laurel and Siyuan Brant Qian and Gagandeep Singh
and Sasa Misailovic",
title = "Synthesizing Precise Static Analyzers for Automatic
Differentiation",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "291:1--291:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622867",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622867",
abstract = "We present Pasado, a technique for synthesizing
precise static analyzers for Automatic Differentiation.
Our technique allows one to automatically \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "291",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Conrado:2023:ESC,
author = "Giovanna Kobus Conrado and Amir Kafshdar Goharshady
and Kerim Kochekov and Yun Chen Tsai and Ahmed Khaled
Zaher",
title = "Exploiting the Sparseness of Control-Flow and Call
Graphs for Efficient and On-Demand Algebraic Program
Analysis",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "292:1--292:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622868",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622868",
abstract = "Algebraic Program Analysis (APA) is a ubiquitous
framework that has been employed as a unifying model
for various problems in data-flow analysis, \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "292",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Miltner:2023:SDS,
author = "Anders Miltner and Devon Loehr and Arnold Mong and
Kathleen Fisher and David Walker",
title = "Saggitarius: a {DSL} for Specifying Grammatical
Domains",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "293:1--293:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622869",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622869",
abstract = "Common data types like dates, addresses, phone numbers
and tables can have multiple textual representations,
and many heavily-used languages, \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "293",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Schroer:2023:DVI,
author = "Philipp Schr{\"o}er and Kevin Batz and Benjamin Lucien
Kaminski and Joost-Pieter Katoen and Christoph
Matheja",
title = "A Deductive Verification Infrastructure for
Probabilistic Programs",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "294:1--294:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622870",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622870",
abstract = "This paper presents a quantitative program
verification infrastructure for discrete probabilistic
programs. Our infrastructure can be viewed as
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "294",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cui:2023:GIB,
author = "Chen Cui and Shengyi Jiang and Bruno C. d. S.
Oliveira",
title = "Greedy Implicit Bounded Quantification",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "295:1--295:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622871",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622871",
abstract = "Mainstream object-oriented programming languages such
as Java, Scala, C\#, or TypeScript have polymorphic
type systems with subtyping \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "295",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Chen:2023:SSC,
author = "Yu-Fang Chen and David Chocholat{\'y} and
Vojt{\v{e}}ch Havlena and Luk{\'a}{\v{s}} Hol{\'\i}k
and Ond{\v{r}}ej Leng{\'a}l and Juraj S{\'\i}{\v{c}}",
title = "Solving String Constraints with Lengths by
Stabilization",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "296:1--296:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622872",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/string-matching.bib",
URL = "https://dl.acm.org/doi/10.1145/3622872",
abstract = "We present a new algorithm for solving string
constraints. The algorithm builds upon a recent method
for solving word equations and regular \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "296",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zakhour:2023:TSD,
author = "George Zakhour and Pascal Weisenburger and Guido
Salvaneschi",
title = "Type-Safe Dynamic Placement with First-Class Placed
Values",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "297:1--297:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622873",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622873",
abstract = "Several distributed programming language solutions
have been proposed to reason about the placement of
data, computations, and peers \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "297",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Nazari:2023:EPS,
author = "Amirmohammad Nazari and Yifei Huang and Roopsha
Samanta and Arjun Radhakrishna and Mukund Raghothaman",
title = "Explainable Program Synthesis by Localizing
Specifications",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "298:1--298:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622874",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622874",
abstract = "The traditional formulation of the program synthesis
problem is to find a program that meets a logical
correctness specification. When synthesis is \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "298",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Astorga:2023:PCS,
author = "Angello Astorga and Chiao Hsieh and P. Madhusudan and
Sayan Mitra",
title = "Perception Contracts for Safety of {ML-Enabled}
Systems",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "299:1--299:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622875",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622875",
abstract = "We introduce a novel notion of perception contracts to
reason about the safety of controllers that interact
with an environment using neural \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "299",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Mora:2023:MCD,
author = "Federico Mora and Ankush Desai and Elizabeth Polgreen
and Sanjit A. Seshia",
title = "Message Chains for Distributed System Verification",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "300:1--300:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622876",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3622876",
abstract = "Verification of asynchronous distributed programs is
challenging due to the need to reason about numerous
control paths resulting from the myriad \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "300",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Bagnall:2023:FVS,
author = "Alexander Bagnall and Gordon Stewart and Anindya
Banerjee",
title = "Formally Verified Samplers from Probabilistic Programs
with Loops and Conditioning",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "106:1--106:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591220",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591220",
abstract = "We present Zar: a formally verified compiler pipeline
from discrete probabilistic programs with unbounded
loops in the conditional \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "106",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Gopinathan:2023:MAP,
author = "Kiran Gopinathan and Mayank Keoliya and Ilya Sergey",
title = "Mostly Automated Proof Repair for Verified Libraries",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "107:1--107:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591221",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591221",
abstract = "The cost of maintaining formally specified and
verified software is widely considered prohibitively
high due to the need to constantly keep code and the
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "107",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Thijm:2023:MCP,
author = "Timothy Alberdingk Thijm and Ryan Beckett and Aarti
Gupta and David Walker",
title = "Modular Control Plane Verification via Temporal
Invariants",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "108:1--108:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591222",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591222",
abstract = "Monolithic control plane verification cannot scale to
hyperscale network architectures with tens of thousands
of nodes, heterogeneous network \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "108",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cascaval:2023:LBR,
author = "Dan Cascaval and Rastislav Bodik and Adriana Schulz",
title = "A Lineage-Based Referencing {DSL} for Computer-Aided
Design",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "109:1--109:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591223",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591223",
abstract = "3D Computer-Aided Design (CAD) modeling is ubiquitous
in mechanical engineering and design. Modern CAD models
are programs that \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "109",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Watt:2023:WIV,
author = "Conrad Watt and Maja Trela and Peter Lammich and
Florian M{\"a}rkl",
title = "{WasmRef--Isabelle}: a Verified Monadic Interpreter
and Industrial Fuzzing Oracle for {WebAssembly}",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "110:1--110:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591224",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591224",
abstract = "We present WasmRef-Isabelle, a monadic interpreter for
WebAssembly written in Isabelle/HOL and proven correct
with respect to the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "110",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ziad:2023:CDT,
author = "Mohamed {Tarek Ibn Ziad} and Sana Damani and Aamer
Jaleel and Stephen W. Keckler and Mark Stephenson",
title = "{cuCatch}: a Debugging Tool for Efficiently Catching
Memory Safety Violations in {CUDA} Applications",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "111:1--111:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591225",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591225",
abstract = "CUDA, OpenCL, and OpenACC are the primary means of
writing general-purpose software for NVIDIA GPUs, all
of which are subject to the same \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "111",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Li:2023:LMS,
author = "John M. Li and Amal Ahmed and Steven Holtzen",
title = "{Lilac}: a Modal Separation Logic for Conditional
Probability",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "112:1--112:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591226",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591226",
abstract = "We present Lilac, a separation logic for reasoning
about probabilistic programs where separating
conjunction captures probabilistic independence.
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "112",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Gao:2023:DAA,
author = "Fengjuan Gao and Yu Wang and Ke Wang",
title = "Discrete Adversarial Attack to Models of Code",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "113:1--113:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591227",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591227",
abstract = "The pervasive brittleness of deep neural networks has
attracted significant attention in recent years. A
particularly interesting finding is the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "113",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Park:2023:HMO,
author = "Sunjae Park and Woosung Song and Seunghyeon Nam and
Hyeongyu Kim and Junbum Shin and Juneyoung Lee",
title = "{HEaaN.MLIR}: an Optimizing Compiler for Fast
Ring-Based Homomorphic Encryption",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "114:1--114:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591228",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2020.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591228",
abstract = "Homomorphic encryption (HE) is an encryption scheme
that provides arithmetic operations on the encrypted
data without doing decryption. \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "114",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Elsman:2023:GCS,
author = "Martin Elsman",
title = "Garbage-Collection Safety for Region-Based
Type-Polymorphic Programs",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "115:1--115:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591229",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591229",
abstract = "Region inference offers a mechanism to reduce (and
sometimes entirely remove) the need for
reference-tracing garbage collection by inferring where
to \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "115",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Koval:2023:CFV,
author = "Nikita Koval and Dmitry Khalanskiy and Dan Alistarh",
title = "{CQS}: a Formally-Verified Framework for Fair and
Abortable Synchronization",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "116:1--116:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591230",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591230",
abstract = "Writing concurrent code that is both correct and
efficient is notoriously difficult. Thus, programmers
often prefer to use synchronization \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "116",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Mangipudi:2023:GPB,
author = "Shamiek Mangipudi and Pavel Chuprikov and Patrick
Eugster and Malte Viering and Savvas Savvides",
title = "Generalized Policy-Based Noninterference for Efficient
Confidentiality-Preservation",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "117:1--117:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591231",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591231",
abstract = "As more organizations are leveraging third-party cloud
and edge data centers to process data efficiently, the
issue of preserving data confidentiality \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "117",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cho:2023:MFD,
author = "Kyeongmin Cho and Seungmin Jeon and Azalea Raad and
Jeehoon Kang",
title = "{Memento}: a Framework for Detectable Recoverability
in Persistent Memory",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "118:1--118:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591232",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591232",
abstract = "Persistent memory (PM) is an emerging class of storage
technology that combines the performance of DRAM with
the durability of SSD, offering the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "118",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lei:2023:RSM,
author = "Yuxiang Lei and Yulei Sui and Shin Hwei Tan and Qirun
Zhang",
title = "Recursive State Machine Guided Graph Folding for
Context-Free Language Reachability",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "119:1--119:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591233",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591233",
abstract = "Context-free language reachability (CFL-reachability)
is a fundamental framework for program analysis. A
large variety of static analyses can be \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "119",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Nigam:2023:MHD,
author = "Rachit Nigam and Pedro Henrique Azevedo de Amorim and
Adrian Sampson",
title = "Modular Hardware Design with Timeline Types",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "120:1--120:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591234",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591234",
abstract = "Modular design is a key challenge for enabling
large-scale reuse of hardware modules. Unlike software,
however, hardware designs correspond to \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "120",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhang:2023:PFV,
author = "Tony Nuda Zhang and Upamanyu Sharma and Manos
Kapritsos",
title = "{Performal}: Formal Verification of Latency Properties
for Distributed Systems",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "121:1--121:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591235",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591235",
abstract = "Understanding and debugging the performance of
distributed systems is a notoriously hard task, but a
critical one. Traditional techniques like \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "121",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Bansal:2023:MIC,
author = "Manya Bansal and Olivia Hsu and Kunle Olukotun and
Fredrik Kjolstad",
title = "{Mosaic}: an Interoperable Compiler for Tensor
Algebra",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "122:1--122:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591236",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591236",
abstract = "We introduce Mosaic, a sparse tensor algebra compiler
that can bind tensor expressions to external functions
of other tensor algebra libraries and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "122",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Sisco:2023:LRH,
author = "Zachary D. Sisco and Jonathan Balkind and Timothy
Sherwood and Ben Hardekopf",
title = "Loop Rerolling for Hardware Decompilation",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "123:1--123:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591237",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591237",
abstract = "We introduce the new problem of hardware
decompilation. Analogous to software decompilation,
hardware decompilation is about \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "123",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Tao:2023:APP,
author = "Zhe Tao and Stephanie Nawas and Jacqueline Mitchell
and Aditya V. Thakur",
title = "Architecture-Preserving Provable Repair of Deep Neural
Networks",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "124:1--124:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591238",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591238",
abstract = "Deep neural networks (DNNs) are becoming increasingly
important components of software, and are considered
the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "124",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhang:2023:BTU,
author = "Yihong Zhang and Yisu Remy Wang and Oliver Flatt and
David Cao and Philip Zucker and Eli Rosenthal and
Zachary Tatlock and Max Willsey",
title = "Better Together: Unifying {Datalog} and Equality
Saturation",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "125:1--125:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591239",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591239",
abstract = "We present egglog, a fixpoint reasoning system that
unifies Datalog and equality saturation (EqSat). Like
Datalog, egglog supports efficient incremental
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "125",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Park:2023:FSC,
author = "Jihyeok Park and Dongjun Youn and Kanguk Lee and
Sukyoung Ryu",
title = "Feature-Sensitive Coverage for Conformance Testing of
Programming Language Implementations",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "126:1--126:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591240",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591240",
abstract = "The conformance testing of programming language
implementations is crucial to support correct and
consistent execution environments. Because \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "126",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Huang:2023:DDT,
author = "Yulong Huang and Jeremy Yallop",
title = "Defunctionalization with Dependent Types",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "127:1--127:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591241",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591241",
abstract = "The defunctionalization translation that eliminates
higher-order functions from programs forms a key part
of many compilers. However, \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "127",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ma:2023:CSC,
author = "Wenjie Ma and Shengyuan Yang and Tian Tan and Xiaoxing
Ma and Chang Xu and Yue Li",
title = "Context Sensitivity without Contexts: a Cut--Shortcut
Approach to Fast and Precise Pointer Analysis",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "128:1--128:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591242",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/java2020.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591242",
abstract = "Over the past decades, context sensitivity has been
considered as one of the most effective ideas for
improving the precision of pointer analysis for Java.
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "128",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Bouajjani:2023:DPO,
author = "Ahmed Bouajjani and Constantin Enea and Enrique
Rom{\'a}n-Calvo",
title = "Dynamic Partial Order Reduction for Checking
Correctness against Transaction Isolation Levels",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "129:1--129:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591243",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591243",
abstract = "Modern applications, such as social networking systems
and e-commerce platforms are centered around using
large-scale databases for \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "129",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Yamazaki:2023:CCG,
author = "Tetsuro Yamazaki and Tomoki Nakamaru and Ryota Shioya
and Tomoharu Ugawa and Shigeru Chiba",
title = "Collecting Cyclic Garbage across Foreign Function
Interfaces: Who Takes the Last Piece of Cake?",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "130:1--130:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591244",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/java2020.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591244",
abstract = "A growing number of libraries written in managed
languages, such as Python and JavaScript, are bringing
about new demand for a foreign language \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "130",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Tassarotti:2023:VDC,
author = "Joseph Tassarotti and Jean-Baptiste Tristan",
title = "Verified Density Compilation for a Probabilistic
Programming Language",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "131:1--131:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591245",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591245",
abstract = "This paper presents ProbCompCert, a compiler for a
subset of the Stan probabilistic programming language
(PPL), in which several key \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "131",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Liu:2023:CDS,
author = "Junrui Liu and Yanju Chen and Eric Atkinson and Yu
Feng and Rastislav Bodik",
title = "Conflict-Driven Synthesis for Layout Engines",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "132:1--132:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591246",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591246",
abstract = "Modern web browsers rely on layout engines to convert
HTML documents to layout trees that specify color,
size, and position. However, existing \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "132",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Pick:2023:PES,
author = "Lauren Pick and Ankush Desai and Aarti Gupta",
title = "{Psym}: Efficient Symbolic Exploration of Distributed
Systems",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "133:1--133:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591247",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591247",
abstract = "Verification of distributed systems using systematic
exploration is daunting because of the many possible
interleavings of messages and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "133",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Barnaby:2023:IBI,
author = "Celeste Barnaby and Qiaochu Chen and Roopsha Samanta
and I{\c{s}}{\i}l Dillig",
title = "{ImageEye}: Batch Image Processing using Program
Synthesis",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "134:1--134:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591248",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591248",
abstract = "This paper presents a new synthesis-based approach for
batch image processing. Unlike existing tools that can
only apply global edits to the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "134",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Muller:2023:RPS,
author = "Stefan K. Muller and Kyle Singer and Devyn Terra
Keeney and Andrew Neth and Kunal Agrawal and I-Ting
Angelina Lee and Umut A. Acar",
title = "Responsive Parallelism with Synchronization",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "135:1--135:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591249",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591249",
abstract = "Many concurrent programs assign priorities to threads
to improve responsiveness. When used in conjunction
with synchronization \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "135",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Surbatovich:2023:TSS,
author = "Milijana Surbatovich and Naomi Spargo and Limin Jia
and Brandon Lucia",
title = "A Type System for Safe Intermittent Computing",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "136:1--136:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591250",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591250",
abstract = "Batteryless energy-harvesting devices enable computing
in inaccessible environments, at a cost to
programmability and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "136",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Tunc:2023:ORC,
author = "H{\"u}nkar Can Tun{\c{c}} and Parosh Aziz Abdulla and
Soham Chakraborty and Shankaranarayanan Krishna and
Umang Mathur and Andreas Pavlogiannis",
title = "Optimal Reads-From Consistency Checking for
{C11}-Style Memory Models",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "137:1--137:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591251",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591251",
abstract = "Over the years, several memory models have been
proposed to capture the subtle concurrency semantics of
C/C++. One of the most fundamental \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "137",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Muller:2023:AIF,
author = "Mark Niklas M{\"u}ller and Marc Fischer and Robin
Staab and Martin Vechev",
title = "Abstract Interpretation of Fixpoint Iterators with
Applications to Neural Networks",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "138:1--138:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591252",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591252",
abstract = "We present a new abstract interpretation framework for
the precise over-approximation of numerical fixpoint
iterators. Our key observation is \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "138",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lee:2023:FOS,
author = "Dongjae Lee and Minki Cho and Jinwoo Kim and Soonwon
Moon and Youngju Song and Chung-Kil Hur",
title = "Fair Operational Semantics",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "139:1--139:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591253",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591253",
abstract = "Fairness properties, which state that a sequence of
bad events cannot happen infinitely before a good event
takes place, are often crucial in program \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "139",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Xu:2023:SQC,
author = "Amanda Xu and Abtin Molavi and Lauren Pick and Swamit
Tannu and Aws Albarghouthi",
title = "Synthesizing Quantum-Circuit Optimizers",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "140:1--140:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591254",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591254",
abstract = "Near-term quantum computers are expected to work in an
environment where each operation is noisy, with no
error correction. Therefore, \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "140",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Yuan:2023:TGI,
author = "Yongwei Yuan and Arjun Radhakrishna and Roopsha
Samanta",
title = "Trace-Guided Inductive Synthesis of Recursive
Functional Programs",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "141:1--141:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591255",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591255",
abstract = "We propose a novel trace-guided approach to tackle the
challenges of ambiguity and generalization in synthesis
of recursive functional \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "141",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Elsman:2023:PRI,
author = "Martin Elsman and Troels Henriksen",
title = "Parallelism in a Region Inference Context",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "142:1--142:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591256",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591256",
abstract = "Region inference is a type-based program analysis that
takes a non-annotated program as input and constructs a
program that explicitly \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "142",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Isemann:2023:DLU,
author = "Raphael Isemann and Cristiano Giuffrida and Herbert
Bos and Erik van der Kouwe and Klaus von
Gleissenthall",
title = "Don't Look {UB}: Exposing Sanitizer-Eliding Compiler
Optimizations",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "143:1--143:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591257",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591257",
abstract = "Sanitizers are widely used compiler features that
detect undefined behavior and resulting vulnerabilities
by injecting runtime checks into programs. \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "143",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Milovancevic:2023:PDE,
author = "Dragana Milovan{\v{c}}evi{\'c} and Viktor
Kun{\v{c}}ak",
title = "Proving and Disproving Equivalence of Functional
Programming Assignments",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "144:1--144:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591258",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591258",
abstract = "We present an automated approach to verify the
correctness of programming assignments, such as the
ones that arise in a functional programming \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "144",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Kanabar:2023:PVC,
author = "Hrutvik Kanabar and Samuel Vivien and Oskar
Abrahamsson and Magnus O. Myreen and Michael Norrish
and Johannes {\AA}man Pohjola and Riccardo Zanetti",
title = "{PureCake}: a Verified Compiler for a Lazy Functional
Language",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "145:1--145:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591259",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591259",
abstract = "We present PureCake, a mechanically-verified compiler
for PureLang, a lazy, purely functional programming
language with monadic effects. PureLang \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "145",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Brandon:2023:BDT,
author = "William Brandon and Benjamin Driscoll and Frank Dai
and Wilson Berkow and Mae Milano",
title = "Better Defunctionalization through {Lambda} Set
Specialization",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "146:1--146:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591260",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591260",
abstract = "Higher-order functions pose a challenge for both
static program analyses and optimizing compilers. To
simplify the analysis and compilation of \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "146",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ye:2023:TPA,
author = "Qianchuan Ye and Benjamin Delaware",
title = "{Taype}: a Policy-Agnostic Language for Oblivious
Computation",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "147:1--147:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591261",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591261",
abstract = "Secure multiparty computation (MPC) allows for joint
computation over private data from multiple entities,
usually backed by powerful \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "147",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Moseley:2023:DBN,
author = "Dan Moseley and Mario Nishio and Jose Perez Rodriguez
and Olli Saarikivi and Stephen Toub and Margus Veanes
and Tiki Wan and Eric Xu",
title = "Derivative Based Nonbacktracking Real-World Regex
Matching with Backtracking Semantics",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "148:1--148:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591262",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/string-matching.bib",
URL = "https://dl.acm.org/doi/10.1145/3591262",
abstract = "We develop a new derivative based theory and algorithm
for nonbacktracking regex matching that supports
anchors and counting, preserves \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "148",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Avanzini:2023:AEV,
author = "Martin Avanzini and Georg Moser and Michael Schaper",
title = "Automated Expected Value Analysis of Recursive
Programs",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "149:1--149:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591263",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591263",
abstract = "In this work, we study the fully automated inference
of expected result values of probabilistic programs in
the presence of natural \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "149",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhang:2023:IPG,
author = "Jialun Zhang and Greg Morrisett and Gang Tan",
title = "Interval Parsing Grammars for File Format Parsing",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "150:1--150:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591264",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591264",
abstract = "File formats specify how data is encoded for
persistent storage. They cannot be formalized as
context-free grammars since their specifications
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "150",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Rao:2023:IWR,
author = "Xiaojia Rao and A{\"\i}na Linn Georges and Maxime
Legoupil and Conrad Watt and Jean Pichon-Pharabod and
Philippa Gardner and Lars Birkedal",
title = "{Iris--Wasm}: Robust and Modular Verification of
{WebAssembly} Programs",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "151:1--151:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591265",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591265",
abstract = "WebAssembly makes it possible to run C/C++
applications on the web with near-native performance. A
WebAssembly program is expressed as a \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "151",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Sewell:2023:CBC,
author = "Thomas Sewell and Magnus O. Myreen and Yong Kiam Tan
and Ramana Kumar and Alexander Mihajlovic and Oskar
Abrahamsson and Scott Owens",
title = "Cakes That Bake Cakes: Dynamic Computation in
{CakeML}",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "152:1--152:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591266",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591266",
abstract = "We have extended the verified CakeML compiler with a
new language primitive, Eval, which permits evaluation
of new CakeML syntax at runtime. This \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "152",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Goens:2023:CMM,
author = "Andr{\'e}s Goens and Soham Chakraborty and Susmit
Sarkar and Sukarn Agarwal and Nicolai Oswald and Vijay
Nagarajan",
title = "Compound Memory Models",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "153:1--153:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591267",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591267",
abstract = "Today's mobile, desktop, and server processors are
heterogeneous, consisting not only of CPUs but also
GPUs and other accelerators. Such \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "153",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Kovach:2023:ISF,
author = "Scott Kovach and Praneeth Kolichala and Tiancheng Gu
and Fredrik Kjolstad",
title = "Indexed Streams: a Formal Intermediate Representation
for Fused Contraction Programs",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "154:1--154:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591268",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591268",
abstract = "We introduce indexed streams, a formal operational
model and intermediate representation that describes
the fused execution of a contraction \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "154",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Yallop:2023:FDP,
author = "Jeremy Yallop and Ningning Xie and Neel Krishnaswami",
title = "{flap}: a Deterministic Parser with Fused Lexing",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "155:1--155:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591269",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591269",
abstract = "Lexers and parsers are typically defined separately
and connected by a token stream. This separate
definition is important for modularity and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "155",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Chen:2023:ABF,
author = "Yu-Fang Chen and Kai-Min Chung and Ond{\v{r}}ej
Leng{\'a}l and Jyun-Ao Lin and Wei-Lun Tsai and Di-De
Yen",
title = "An Automata-Based Framework for Verification and Bug
Hunting in Quantum Circuits",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "156:1--156:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591270",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591270",
abstract = "We introduce a new paradigm for analysing and finding
bugs in quantum circuits. In our approach, the problem
is given by a \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "156",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhou:2023:CAB,
author = "Zhe Zhou and Ashish Mishra and Benjamin Delaware and
Suresh Jagannathan",
title = "Covering All the Bases: Type-Based Verification of
Test Input Generators",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "157:1--157:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591271",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591271",
abstract = "Test input generators are an important part of
property-based testing (PBT) frameworks. Because PBT is
intended to test deep semantic and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "157",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Kuepper:2023:CVC,
author = "Joel Kuepper and Andres Erbsen and Jason Gross and
Owen Conoly and Chuyue Sun and Samuel Tian and David Wu
and Adam Chlipala and Chitchanok Chuengsatiansup and
Daniel Genkin and Markus Wagner and Yuval Yarom",
title = "{CryptOpt}: Verified Compilation with Randomized
Program Search for Cryptographic Primitives",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "158:1--158:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591272",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2020.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591272",
abstract = "Most software domains rely on compilers to translate
high-level code to multiple different machine
languages, with performance not too much \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "158",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Tardieu:2023:RAR,
author = "Olivier Tardieu and David Grove and Gheorghe-Teodor
Bercea and Paul Castro and Jaroslaw Cwiklik and Edward
Epstein",
title = "Reliable Actors with Retry Orchestration",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "159:1--159:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591273",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591273",
abstract = "Cloud developers have to build applications that are
resilient to failures and interruptions. We advocate
for a fault-tolerant programming \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "159",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Valizadeh:2023:SBR,
author = "Mojtaba Valizadeh and Martin Berger",
title = "Search-Based Regular Expression Inference on a {GPU}",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "160:1--160:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591274",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/string-matching.bib",
URL = "https://dl.acm.org/doi/10.1145/3591274",
abstract = "Regular expression inference (REI) is a supervised
machine learning and program synthesis problem that
takes a cost metric for regular expressions, \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "160",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Mulder:2023:BBC,
author = "Ike Mulder and {\L}ukasz Czajka and Robbert Krebbers",
title = "Beyond Backtracking: Connections in Fine-Grained
Concurrent Separation Logic",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "161:1--161:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591275",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591275",
abstract = "Concurrent separation logic has been responsible for
major advances in the formal verification of
fine-grained concurrent algorithms and data \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "161",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zakhour:2023:TCC,
author = "George Zakhour and Pascal Weisenburger and Guido
Salvaneschi",
title = "Type-Checking {CRDT} Convergence",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "162:1--162:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591276",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591276",
abstract = "Conflict-Free Replicated Data Types (CRDTs) are a
recent approach for keeping replicated data consistent
while guaranteeing the absence of \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "162",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Mordido:2023:PAP,
author = "Andreia Mordido and Janek Spaderna and Peter Thiemann
and Vasco T. Vasconcelos",
title = "Parameterized Algebraic Protocols",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "163:1--163:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591277",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591277",
abstract = "We propose algebraic protocols that enable the
definition of protocol templates and session types
analogous to the definition of \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "163",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Fiala:2023:LRT,
author = "Jon{\'a}{\v{s}} Fiala and Shachar Itzhaky and Peter
M{\"u}ller and Nadia Polikarpova and Ilya Sergey",
title = "Leveraging {Rust} Types for Program Synthesis",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "164:1--164:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591278",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/rust.bib",
URL = "https://dl.acm.org/doi/10.1145/3591278",
abstract = "The Rust type system guarantees memory safety and
data-race freedom. However, to satisfy Rust's type
rules, many familiar implementation patterns must
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "164",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Liu:2023:VSL,
author = "Zongyuan Liu and Sergei Stepanenko and Jean
Pichon-Pharabod and Amin Timany and Aslan Askarov and
Lars Birkedal",
title = "{VMSL}: a Separation Logic for Mechanised Robust
Safety of Virtual Machines Communicating above {FF-A}",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "165:1--165:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591279",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
URL = "https://dl.acm.org/doi/10.1145/3591279",
abstract = "Thin hypervisors make it possible to isolate key
security components like keychains, fingerprint
readers, and digital wallets from the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "165",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Li:2023:SLN,
author = "Ziyang Li and Jiani Huang and Mayur Naik",
title = "{Scallop}: a Language for Neurosymbolic Programming",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "166:1--166:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591280",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591280",
abstract = "We present Scallop, a language which combines the
benefits of deep learning and logical reasoning.
Scallop enables users to write a wide range of
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "166",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Saha:2023:OIL,
author = "Seemanta Saha and Surendra Ghentiyala and Shihua Lu
and Lucas Bang and Tevfik Bultan",
title = "Obtaining Information Leakage Bounds via Approximate
Model Counting",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "167:1--167:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591281",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591281",
abstract = "Information leaks are a significant problem in modern
software systems. In recent years, information
theoretic concepts, such as Shannon \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "167",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Pailoor:2023:ADU,
author = "Shankara Pailoor and Yanju Chen and Franklyn Wang and
Clara Rodr{\'\i}guez and Jacob {Van Geffen} and Jason
Morton and Michael Chu and Brian Gu and Yu Feng and
I{\c{s}}{\i}l Dillig",
title = "Automated Detection of Under-Constrained Circuits in
Zero-Knowledge Proofs",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "168:1--168:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591282",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2020.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591282",
abstract = "As zero-knowledge proofs gain increasing adoption, the
cryptography community has designed domain-specific
languages (DSLs) that facilitate the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "168",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lehmann:2023:FLT,
author = "Nico Lehmann and Adam T. Geller and Niki Vazou and
Ranjit Jhala",
title = "{Flux}: Liquid Types for {Rust}",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "169:1--169:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591283",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bibb;
https://www.math.utah.edu/pub/tex/bib/rust.bib",
URL = "https://dl.acm.org/doi/10.1145/3591283",
abstract = "We introduce Flux, which shows how logical refinements
can work hand in glove with Rust's ownership mechanisms
to yield ergonomic type-based \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "169",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Arora:2023:EPF,
author = "Jatin Arora and Sam Westrick and Umut A. Acar",
title = "Efficient Parallel Functional Programming with
Effects",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "170:1--170:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591284",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591284",
abstract = "Although functional programming languages simplify
writing safe parallel programs by helping programmers
to avoid data races, they have \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "170",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Guria:2023:AAI,
author = "Sankha Narayan Guria and Jeffrey S. Foster and David
{Van Horn}",
title = "Absynthe: Abstract Interpretation-Guided Synthesis",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "171:1--171:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591285",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591285",
abstract = "Synthesis tools have seen significant success in
recent times. However, past approaches often require a
complete and accurate embedding of the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "171",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Jin:2023:EMM,
author = "Ende Jin and Nada Amin and Yizhou Zhang",
title = "Extensible Metatheory Mechanization via Family
Polymorphism",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "172:1--172:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591286",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591286",
abstract = "With the growing practice of mechanizing language
metatheories, it has become ever more pressing that
interactive theorem provers make it easy \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "172",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Chida:2023:RRE,
author = "Nariyoshi Chida and Tachio Terauchi",
title = "Repairing Regular Expressions for Extraction",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "173:1--173:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591287",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/string-matching.bib",
URL = "https://dl.acm.org/doi/10.1145/3591287",
abstract = "While synthesizing and repairing regular expressions
(regexes) based on Programming-by-Examples (PBE)
methods have seen rapid \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "173",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Yoon:2023:IPS,
author = "Yongho Yoon and Woosuk Lee and Kwangkeun Yi",
title = "Inductive Program Synthesis via Iterative
Forward--Backward Abstract Interpretation",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "174:1--174:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591288",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591288",
abstract = "A key challenge in example-based program synthesis is
the gigantic search space of programs. To address this
challenge, various work \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "174",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Eilers:2023:CPI,
author = "Marco Eilers and Thibault Dardinier and Peter
M{\"u}ller",
title = "{CommCSL}: Proving Information Flow Security for
Concurrent Programs using Abstract Commutativity",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "175:1--175:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591289",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591289",
abstract = "Information flow security ensures that the secret data
manipulated by a program does not influence its
observable output. Proving information flow \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "175",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lew:2023:PPS,
author = "Alexander K. Lew and Matin Ghavamizadeh and Martin C.
Rinard and Vikash K. Mansinghka",
title = "Probabilistic Programming with Stochastic
Probabilities",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "176:1--176:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591290",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591290",
abstract = "We present a new approach to the design and
implementation of probabilistic programming languages
(PPLs), based on the idea of stochastically \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "176",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Tunc:2023:SDD,
author = "H{\"u}nkar Can Tun{\c{c}} and Umang Mathur and Andreas
Pavlogiannis and Mahesh Viswanathan",
title = "Sound Dynamic Deadlock Prediction in Linear Time",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "177:1--177:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591291",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591291",
abstract = "Deadlocks are one of the most notorious concurrency
bugs, and significant research has focused on detecting
them efficiently. Dynamic predictive analyses
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "177",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Prinz:2023:MIR,
author = "Jacob Prinz and Leonidas Lampropoulos",
title = "Merging Inductive Relations",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "178:1--178:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591292",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591292",
abstract = "Inductive relations offer a powerful and expressive
way of writing program specifications while
facilitating compositional reasoning. Their \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "178",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Bertram:2023:CCL,
author = "Noah Bertram and Alex Levinson and Justin Hsu",
title = "Cutting the Cake: a Language for Fair Division",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "179:1--179:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591293",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591293",
abstract = "The fair division literature in economics considers
how to divide resources between multiple agents such
that the allocation is envy-free: each \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "179",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lecoeur:2023:PRA,
author = "Bastien Lecoeur and Hasan Mohsin and Alastair F.
Donaldson",
title = "Program Reconditioning: Avoiding Undefined Behaviour
When Finding and Reducing Compiler Bugs",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "180:1--180:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591294",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591294",
abstract = "We introduce program reconditioning, a method for
allowing program generation and differential testing to
be used to find miscompilation bugs, and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "180",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Livinskii:2023:FLO,
author = "Vsevolod Livinskii and Dmitry Babokin and John
Regehr",
title = "Fuzzing Loop Optimizations in Compilers for {C++} and
Data-Parallel Languages",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "181:1--181:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591295",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591295",
abstract = "Compilers are part of the foundation upon which
software systems are built; they need to be as correct
as possible. This paper is about stress-testing
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "181",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Meyer:2023:EHR,
author = "Roland Meyer and Thomas Wies and Sebastian Wolff",
title = "Embedding Hindsight Reasoning in Separation Logic",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "182:1--182:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591296",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591296",
abstract = "Automatically proving linearizability of concurrent
data structures remains a key challenge for
verification. We present temporal interpolation as a
new \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "182",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lee:2023:PWM,
author = "Sung-Hwan Lee and Minki Cho and Roy Margalit and
Chung-Kil Hur and Ori Lahav",
title = "Putting Weak Memory in Order via a Promising
Intermediate Representation",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "183:1--183:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591297",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591297",
abstract = "We investigate the problem of developing an
``in-order'' shared-memory concurrency model for
languages like C and C++, which executes \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "183",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Wang:2023:SMC,
author = "Jingbo Wang and Aarti Gupta and Chao Wang",
title = "Synthesizing {MILP} Constraints for Efficient and
Robust Optimization",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "184:1--184:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591298",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591298",
abstract = "While mixed integer linear programming (MILP) solvers
are routinely used to solve a wide range of important
science and engineering problems, it \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "184",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ugare:2023:IVN,
author = "Shubham Ugare and Debangshu Banerjee and Sasa
Misailovic and Gagandeep Singh",
title = "Incremental Verification of Neural Networks",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "185:1--185:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591299",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591299",
abstract = "Complete verification of deep neural networks (DNNs)
can exactly determine whether the DNN satisfies a
desired trustworthy property (e.g., \ldots{})",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "185",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Beurer-Kellner:2023:PPQ,
author = "Luca Beurer-Kellner and Marc Fischer and Martin
Vechev",
title = "Prompting Is Programming: a Query Language for Large
Language Models",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "186:1--186:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591300",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591300",
abstract = "Large language models have demonstrated outstanding
performance on a wide range of tasks such as question
answering and code generation. \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "186",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Yuviler:2023:OPA,
author = "Tom Yuviler and Dana Drachsler-Cohen",
title = "One Pixel Adversarial Attacks via Sketched Programs",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "187:1--187:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591301",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591301",
abstract = "Neural networks are successful in various tasks but
are also susceptible to adversarial examples. An
adversarial example is generated by adding \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "187",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Wilkinson:2023:RTU,
author = "Lucas Wilkinson and Kazem Cheshmi and Maryam Mehri
Dehnavi",
title = "Register Tiling for Unstructured Sparsity in Neural
Network Inference",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "188:1--188:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591302",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3591302",
abstract = "Unstructured sparse neural networks are an important
class of machine learning (ML) models, as they compact
model size and reduce floating point \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "188",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Yuan:2024:QCM,
author = "Charles Yuan and Agnes Villanyi and Michael Carbin",
title = "Quantum Control Machine: The Limits of Control Flow in
Quantum Programming",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "94:1--94:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649811",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649811",
abstract = "Quantum algorithms for tasks such as factorization,
search, and simulation rely on control flow such as
branching and iteration that depends on the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "94",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Crichton:2024:PPL,
author = "Will Crichton and Shriram Krishnamurthi",
title = "Profiling Programming Language Learning",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "95:1--95:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649812",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649812",
abstract = "This paper documents a year-long experiment to
``profile'' the process of learning a programming
language: gathering data to understand \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "95",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Paradis:2024:SFV,
author = "Anouk Paradis and Jasper Dekoninck and Benjamin
Bichsel and Martin Vechev",
title = "{Synthetiq}: Fast and Versatile Quantum Circuit
Synthesis",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "96:1--96:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649813",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649813",
abstract = "To implement quantum algorithms on quantum computers
it is crucial to decompose their operators into the
limited gate set supported by \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "96",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Yadavally:2024:LBA,
author = "Aashish Yadavally and Yi Li and Shaohua Wang and Tien
N. Nguyen",
title = "A Learning-Based Approach to Static Program Slicing",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "97:1--97:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649814",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649814",
abstract = "Traditional program slicing techniques are crucial for
early bug detection and manual/automated debugging of
online code snippets. Nevertheless, \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "97",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhang:2024:FCR,
author = "Chi Zhang and Linzhang Wang and Manuel Rigger",
title = "Finding Cross-Rule Optimization Bugs in {Datalog}
Engines",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "98:1--98:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649815",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649815",
abstract = "Datalog is a popular and widely-used declarative logic
programming language. Datalog engines apply many
cross-rule optimizations; bugs in them \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "98",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Liu:2024:UIL,
author = "Jie Liu and Zhongyuan Zhao and Zijian Ding and
Benjamin Brock and Hongbo Rong and Zhiru Zhang",
title = "{UniSparse}: an Intermediate Language for General
Sparse Format Customization",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "99:1--99:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649816",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649816",
abstract = "The ongoing trend of hardware specialization has led
to a growing use of custom data formats when processing
sparse workloads, which are \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "99",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lamba:2024:CSI,
author = "Ada Lamba and Max Taylor and Vincent Beardsley and
Jacob Bambeck and Michael D. Bond and Zhiqiang Lin",
title = "{Cocoon}: Static Information Flow Control in {Rust}",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "100:1--100:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649817",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/rust.bib",
URL = "https://dl.acm.org/doi/10.1145/3649817",
abstract = "Information flow control (IFC) provides
confidentiality by enforcing noninterference, which
ensures that high-secrecy values cannot \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "100",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Clement:2024:FOM,
author = "Blaudeau Clement and Didier R{\'e}my and Gabriel
Radanne",
title = "Fulfilling {OCaml} Modules with Transparency",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "101:1--101:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649818",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649818",
abstract = "ML modules come as an additional layer on top of a
core language to offer large-scale notions of
composition and abstraction. They largely \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "101",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Alshnakat:2024:HMS,
author = "Anoud Alshnakat and Didrik Lundberg and Roberto
Guanciale and Mads Dam",
title = "{HOL4P4}: Mechanized Small-Step Semantics for {P4}",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "102:1--102:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649819",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649819",
abstract = "We present the first semantics of the network data
plane programming language P4 able to adequately
capture all key features of P4$_{16}$, the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "102",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Sundram:2024:CRD,
author = "Shiv Sundram and Muhammad Usman Tariq and Fredrik
Kjolstad",
title = "Compiling Recurrences over Dense and Sparse Arrays",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "103:1--103:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649820",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649820",
abstract = "We present a framework for compiling recurrence
equations into native code. In our framework, users
specify a system of recurrences, the types of data
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "103",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zilberstein:2024:OSL,
author = "Noam Zilberstein and Angelina Saliling and Alexandra
Silva",
title = "Outcome Separation Logic: Local Reasoning for
Correctness and Incorrectness with Computational
Effects",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "104:1--104:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649821",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649821",
abstract = "Separation logic's compositionality and local
reasoning properties have led to significant advances
in scalable static analysis. But program analysis
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "104",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Wang:2024:NPA,
author = "Di Wang and Thomas Reps",
title = "{Newtonian} Program Analysis of Probabilistic
Programs",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "105:1--105:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649822",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649822",
abstract = "Due to their quantitative nature, probabilistic
programs pose non-trivial challenges for designing
compositional and efficient program analyses.
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "105",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lu:2024:ICP,
author = "Kuang-Chen Lu and Shriram Krishnamurthi",
title = "Identifying and Correcting Programming Language
Behavior Misconceptions",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "106:1--106:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649823",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649823",
abstract = "Misconceptions about core linguistic concepts like
mutable variables, mutable compound data, and their
interaction with scope and higher-order \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "106",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Chatterjee:2024:QBR,
author = "Krishnendu Chatterjee and Amir Kafshdar Goharshady and
Tobias Meggendorfer and {\Dbar}or{\dbar}e
{\v{Z}}ikeli{\'c}",
title = "Quantitative Bounds on Resource Usage of Probabilistic
Programs",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "107:1--107:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649824",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649824",
abstract = "Cost analysis, also known as resource usage analysis,
is the task of finding bounds on the total cost of a
program and is a well-studied problem in \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "107",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ding:2024:CLS,
author = "Yangruibo Ding and Marcus J. Min and Gail Kaiser and
Baishakhi Ray",
title = "{CYCLE}: Learning to Self-Refine the Code Generation",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "108:1--108:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649825",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649825",
abstract = "Pre- trained code language models have achieved
promising performance in code generation and improved
the programming efficiency of \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "108",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Honore:2024:ABB,
author = "Wolf Honor{\'e} and Longfei Qiu and Yoonseung Kim and
Ji-Yong Shin and Jieung Kim and Zhong Shao",
title = "{AdoB}: Bridging Benign and {Byzantine} Consensus with
Atomic Distributed Objects",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "109:1--109:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649826",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649826",
abstract = "Achieving consensus is a challenging and ubiquitous
problem in distributed systems that is only made harder
by the introduction of malicious \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "109",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Xu:2024:PFE,
author = "Ziyang Xu and Yebin Chon and Yian Su and Zujun Tan and
Sotiris Apostolakis and Simone Campanoni and David I.
August",
title = "{PROMPT}: a Fast and Extensible Memory Profiling
Framework",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "110:1--110:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649827",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649827",
abstract = "Memory profiling captures programs' dynamic memory
behavior, assisting programmers in debugging, tuning,
and enabling advanced compiler \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "110",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Li:2024:ESA,
author = "Haonan Li and Yu Hao and Yizhuo Zhai and Zhiyun Qian",
title = "Enhancing Static Analysis for Practical Bug Detection:
an {LLM}-Integrated Approach",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "111:1--111:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649828",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649828",
abstract = "While static analysis is instrumental in uncovering
software bugs, its precision in analyzing large and
intricate codebases remains challenging. The \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "111",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Chen:2024:EED,
author = "Qian Chen and Chenyang Yu and Ruyan Liu and Chi Zhang
and Yu Wang and Ke Wang and Ting Su and Linzhang Wang",
title = "Evaluating the Effectiveness of Deep Learning Models
for Foundational Program Analysis Tasks",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "112:1--112:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649829",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649829",
abstract = "While deep neural networks provide state-of-the-art
solutions to a wide range of programming language
tasks, their effectiveness in dealing \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "112",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Castello:2024:IDC,
author = "Jonathan Castello and Patrick Redmond and Lindsey
Kuper",
title = "Inductive Diagrams for Causal Reasoning",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "113:1--113:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649830",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649830",
abstract = "The Lamport diagram is a pervasive and intuitive tool
for informal reasoning about ``happens-before''
relationships in a concurrent system. However,
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "113",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Li:2024:QLB,
author = "Zikun Li and Jinjun Peng and Yixuan Mei and Sina Lin
and Yi Wu and Oded Padon and Zhihao Jia",
title = "{Quarl}: a Learning-Based Quantum Circuit Optimizer",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "114:1--114:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649831",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649831",
abstract = "Optimizing quantum circuits is challenging due to the
very large search space of functionally equivalent
circuits and the necessity of applying \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "114",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lee:2024:QSF,
author = "Edward Lee and Yaoyu Zhao and Ond{\v{r}}ej Lhot{\'a}k
and James You and Kavin Satheeskumar and Jonathan
Immanuel Brachth{\"a}user",
title = "Qualifying System {$ F_{ \lt \colon } $}: Some Terms
and Conditions May Apply",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "115:1--115:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649832",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649832",
abstract = "Type qualifiers offer a lightweight mechanism for
enriching existing type systems to enforce additional,
desirable, program invariants. They do so \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "115",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Nelson:2024:FTL,
author = "Tim Nelson and Ben Greenman and Siddhartha Prasad and
Tristan Dyer and Ethan Bove and Qianfan Chen and
Charles Cutting and Thomas {Del Vecchio} and Sidney
LeVine and Julianne Rudner and Ben Ryjikov and
Alexander Varga and Andrew Wagner and Luke West and
Shriram Krishnamurthi",
title = "{Forge}: a Tool and Language for Teaching Formal
Methods",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "116:1--116:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649833",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649833",
abstract = "This paper presents the design of Forge, a tool for
teaching formal methods gradually. Forge is based on
the widely-used Alloy language and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "116",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Chen:2024:DIA,
author = "Zhe Chen and Yunlong Zhu and Zhemin Wang",
title = "Design and Implementation of an Aspect-Oriented {C}
Programming Language",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "117:1--117:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649834",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649834",
abstract = "Aspect- Oriented Programming (AOP) is a programming
paradigm that implements crosscutting concerns in a
modular way. People have witnessed the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "117",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cutler:2024:CNL,
author = "Joseph W. Cutler and Craig Disselkoen and Aaron Eline
and Shaobo He and Kyle Headley and Michael Hicks and
Kesha Hietala and Eleftherios Ioannidis and John
Kastner and Anwar Mamat and Darin McAdams and Matt
McCutchen and Neha Rungta and Emina Torlak and Andrew
M. Wells",
title = "{Cedar}: a New Language for Expressive, Fast, Safe,
and Analyzable Authorization",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "118:1--118:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649835",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649835",
abstract = "Cedar is a new authorization policy language designed
to be ergonomic, fast, safe, and analyzable. Rather
than embed authorization logic in an \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "118",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Kravchuk-Kirilyuk:2024:PNF,
author = "Anastasiya Kravchuk-Kirilyuk and Gary Feng and Jonas
Iskander and Yizhou Zhang and Nada Amin",
title = "{Persimmon}: Nested Family Polymorphism with
Extensible Variant Types",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "119:1--119:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649836",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/string-matching.bib",
URL = "https://dl.acm.org/doi/10.1145/3649836",
abstract = "Many obstacles stand in the way of modular, extensible
code. Some language constructs, such as pattern
matching, are not easily extensible. Inherited code may
not be type safe in the presence of extended types. The
burden of setting up design patterns can discourage
users, and parameter clutter can make the code less
readable. Given these challenges, it is no wonder that
extensibility often gives way to code duplication. We
present our solution: Persimmon, a functional system
with nested family polymorphism, extensible variant
types, and extensible pattern matching. Most constructs
in our language are built-in ``extensibility hooks,''
cutting down on the parameter clutter and user burden
associated with extensible code. Persimmon preserves
the relationships between nested families upon
inheritance, enabling extensibility at a large
scale. Since nested family polymorphism can express
composable extensions, Persimmon supports mixins via an
encoding. We show how Persimmon can be compiled into a
functional language without extensible variants with
our translation to Scala. Finally, we show that our
system is sound by proving the properties of progress
and preservation.",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "119",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Mukherjee:2024:HGP,
author = "Manasij Mukherjee and John Regehr",
title = "Hydra: Generalizing Peephole Optimizations with
Program Synthesis",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "120:1--120:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649837",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649837",
abstract = "Optimizing compilers rely on peephole optimizations to
simplify combinations of instructions and remove
redundant instructions. Typically, a new \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "120",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Sato:2024:MNS,
author = "Shigeyuki Sato and Tomoki Nakamaru",
title = "Multiverse Notebook: Shifting Data Scientists to Time
Travelers",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "121:1--121:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649838",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649838",
abstract = "Computational notebook environments are popular and de
facto standard tools for programming in data science,
whereas computational notebooks are \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "121",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Avanzini:2024:HPE,
author = "Martin Avanzini and Gilles Barthe and Benjamin
Gr{\'e}goire and Georg Moser and Gabriele Vanoni",
title = "Hopping Proofs of Expectation-Based Properties:
Applications to Skiplists and Security Proofs",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "122:1--122:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649839",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649839",
abstract = "We propose, implement, and evaluate a hopping proof
approach for proving expectation-based properties of
probabilistic programs. Our \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "122",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ryan:2024:ADR,
author = "Gabriel Ryan and Burcu Cetin and Yongwhan Lim and
Suman Jana",
title = "Accurate Data Race Prediction in the {Linux} Kernel
through Sparse {Fourier} Learning",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "123:1--123:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649840",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649840",
abstract = "Testing for data races in the Linux OS kernel is
challenging because there is an exponentially large
space of system calls and thread interleavings that
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "123",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Naik:2024:TPF,
author = "Aaditya Naik and Adam Stein and Yinjun Wu and Mayur
Naik and Eric Wong",
title = "{TorchQL}: a Programming Framework for Integrity
Constraints in Machine Learning",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "124:1--124:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649841",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649841",
abstract = "Finding errors in machine learning applications
requires a thorough exploration of their behavior over
data. Existing approaches used by \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "124",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Gierczak:2024:GTL,
author = "Olek Gierczak and Lucy Menon and Christos Dimoulas and
Amal Ahmed",
title = "Gradually Typed Languages Should Be Vigilant!",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "125:1--125:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649842",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649842",
abstract = "In gradual typing, different languages perform
different dynamic type checks for the same program even
though the languages have the same static \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "125",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Michel:2024:DCD,
author = "Jesse Michel and Kevin Mu and Xuanda Yang and Sai
Praveen Bangaru and Elias Rojas Collins and Gilbert
Bernstein and Jonathan Ragan-Kelley and Michael Carbin
and Tzu-Mao Li",
title = "Distributions for Compositionally Differentiating
Parametric Discontinuities",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "126:1--126:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649843",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649843",
abstract = "Computations in physical simulation, computer
graphics, and probabilistic inference often require the
differentiation of discontinuous processes due
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "126",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Klinkenberg:2024:EBI,
author = "Lutz Klinkenberg and Christian Blumenthal and
Mingshuai Chen and Darion Haase and Joost-Pieter
Katoen",
title = "Exact {Bayesian} Inference for Loopy Probabilistic
Programs using Generating Functions",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "127:1--127:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649844",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649844",
abstract = "We present an exact Bayesian inference method for
inferring posterior distributions encoded by
probabilistic programs featuring possibly \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "127",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhang:2024:LAS,
author = "Yifan Zhang and Yuanfeng Shi and Xin Zhang",
title = "Learning Abstraction Selection for {Bayesian} Program
Analysis",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "128:1--128:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649845",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649845",
abstract = "We propose a learning-based approach to select
abstractions for Bayesian program analysis. Bayesian
program analysis converts a program analysis \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "128",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Binder:2024:DDT,
author = "David Binder and Ingo Skupin and Tim S{\"u}berkr{\"u}b
and Klaus Ostermann",
title = "Deriving Dependently-Typed {OOP} from First
Principles",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "129:1--129:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649846",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649846",
abstract = "The expression problem describes how most types can
easily be extended with new ways to produce the type or
new ways to consume the type, but not \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "129",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Kabaha:2024:VNN,
author = "Anan Kabaha and Dana Drachsler Cohen",
title = "Verification of Neural Networks' Global Robustness",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "130:1--130:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649847",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649847",
abstract = "Neural networks are successful in various applications
but are also susceptible to adversarial attacks. To
show the safety of network classifiers, many \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "130",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Marshall:2024:FOT,
author = "Daniel Marshall and Dominic Orchard",
title = "Functional Ownership through Fractional Uniqueness",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "131:1--131:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649848",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649848",
abstract = "Ownership and borrowing systems, designed to enforce
safe memory management without the need for garbage
collection, have been \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "131",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{He:2024:VBE,
author = "Yang He and Pinhan Zhao and Xinyu Wang and Yuepeng
Wang",
title = "{VeriEQL}: Bounded Equivalence Verification for
Complex {SQL} Queries with Integrity Constraints",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "132:1--132:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649849",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649849",
abstract = "The task of SQL query equivalence checking is
important in various real-world applications (including
query rewriting and automated \ldots{})",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "132",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhang:2024:PRB,
author = "Jialu Zhang and Jos{\'e} Pablo Cambronero and Sumit
Gulwani and Vu Le and Ruzica Piskac and Gustavo Soares
and Gust Verbruggen",
title = "{PyDex}: Repairing Bugs in Introductory {Python}
Assignments using {LLMs}",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "133:1--133:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649850",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649850",
abstract = "Students often make mistakes in their introductory
programming assignments as part of their learning
process. Unfortunately, providing \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "133",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Santos:2024:STB,
author = "Joanna C. S. Santos and Mehdi Mirakhorli and Ali
Shokri",
title = "{Seneca}: {Taint}-Based Call Graph Construction for
{Java} Object Deserialization",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "134:1--134:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649851",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/java2000.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649851",
abstract = "Object serialization and deserialization are widely
used for storing and preserving objects in files,
memory, or database as well as for transporting them
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "134",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Smith:2024:PDO,
author = "Scott Smith and Robert Zhang",
title = "A Pure Demand Operational Semantics with Applications
to Program Analysis",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "135:1--135:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649852",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649852",
abstract = "This paper develops a novel minimal-state operational
semantics for higher-order functional languages that
uses only the call stack and a source \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "135",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Xu:2024:DSF,
author = "Yichen Xu and Aleksander Boruch-Gruszecki and Martin
Odersky",
title = "Degrees of Separation: a Flexible Type System for Safe
Concurrency",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "136:1--136:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649853",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649853",
abstract = "Data races have long been a notorious problem in
concurrent programming. They are hard to detect, and
lead to non-deterministic behaviours. There \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "136",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zheng:2024:PPS,
author = "Mingwei Zheng and Qingkai Shi and Xuwei Liu and
Xiangzhe Xu and Le Yu and Congyu Liu and Guannan Wei
and Xiangyu Zhang",
title = "{ParDiff}: Practical Static Differential Analysis of
Network Protocol Parsers",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "137:1--137:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649854",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649854",
abstract = "Countless devices all over the world are connected by
networks and communicated via network protocols. Just
like common software, protocol \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "137",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Stjerna:2024:CSA,
author = "Amanda Stjerna and Philipp R{\"u}mmer",
title = "A Constraint Solving Approach to {Parikh} Images of
Regular Languages",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "138:1--138:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649855",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649855",
abstract = "A common problem in string constraint solvers is
computing the Parikh image, a linear arithmetic formula
that describes all possible combinations of \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "138",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Wang:2024:PCP,
author = "Zhaoyu Wang and Pingchuan Ma and Huaijin Wang and
Shuai Wang",
title = "{PP-CSA}: Practical Privacy-Preserving Software Call
Stack Analysis",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "139:1--139:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649856",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649856",
abstract = "Software call stack is a sequence of function calls
that are executed during the runtime of a software
program. Software call stack analysis \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "139",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Enea:2024:SBP,
author = "Constantin Enea and Eric Koskinen",
title = "Scenario-Based Proofs for Concurrent Objects",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "140:1--140:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649857",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649857",
abstract = "Concurrent objects form the foundation of many
applications that exploit multicore architectures and
their importance has lead to informal \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "140",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Li:2024:MCA,
author = "Yongjian Li and Bohua Zhan and Jun Pang",
title = "Mechanizing the {CMP} Abstraction for Parameterized
Verification",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "141:1--141:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649858",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649858",
abstract = "Parameterized verification is a challenging problem
that is known to be undecidable in the general case, is
a widely-used method for \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "141",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Kavanagh:2024:MOS,
author = "Ryan Kavanagh and Brigitte Pientka",
title = "Message-Observing Sessions",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "142:1--142:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649859",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649859",
abstract = "We present Most, a process language with
message-observing session types. Message-observing
session types extend binary session types with
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "142",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Lu:2024:UFJ,
author = "Yifei Lu and Weidong Hou and Minxue Pan and Xuandong
Li and Zhendong Su",
title = "Understanding and Finding {Java} Decompiler Bugs",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "143:1--143:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649860",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/java2020.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649860",
abstract = "Java decompilers are programs that perform the reverse
process of Java compilers, i.e., they translate Java
bytecode to Java source code. \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "143",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ye:2024:TSE,
author = "Qianchuan Ye and Benjamin Delaware",
title = "{Taypsi}: Static Enforcement of Privacy Policies for
Policy-Agnostic Oblivious Computation",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "144:1--144:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649861",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649861",
abstract = "Secure multiparty computation (MPC) techniques enable
multiple parties to compute joint functions over their
private data without sharing that data \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "144",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Xu:2024:IEO,
author = "Pei Xu and Yuxiang Lei and Yulei Sui and Jingling
Xue",
title = "Iterative-Epoch Online Cycle Elimination for
Context-Free Language Reachability",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "145:1--145:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649862",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649862",
abstract = "Context- free language reachability (CFL-reachability)
is a fundamental framework for implementing various
static analyses. CFL-reachability utilizes \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "145",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Rose:2024:MDA,
author = "Abhishek Rose and Sorav Bansal",
title = "Modeling Dynamic (De){Allocations} of Local Memory for
Translation Validation",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "146:1--146:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649863",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3649863",
abstract = "End- to-End Translation Validation is the problem of
verifying the executable code generated by a compiler
against the corresponding input source \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "146",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Bergstrasser:2024:RQL,
author = "Pascal Bergstr{\"a}{\ss}er and Moses Ganardi and
Anthony W. Lin and Georg Zetzsche",
title = "{Ramsey} Quantifiers in Linear Arithmetics",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "1:1--1:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632843",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632843",
abstract = "We study Satisfiability Modulo Theories (SMT) enriched
with the so-called Ramsey quantifiers, which assert the
existence of cliques (complete \ldots{})",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "1",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Gutsfeld:2024:DAH,
author = "Jens Oliver Gutsfeld and Markus M{\"u}ller-Olm and
Christoph Ohrem",
title = "Deciding Asynchronous Hyperproperties for Recursive
Programs",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "2:1--2:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632844",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632844",
abstract = "We introduce a novel logic for asynchronous
hyperproperties with a new mechanism to identify
relevant positions on traces. While the new logic
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "2",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Qin:2024:SFF,
author = "Xueying Qin and Liam O'Connor and Rob van Glabbeek and
Peter H{\"o}fner and Ohad Kammar and Michel Steuwer",
title = "{Shoggoth}: a Formal Foundation for Strategic
Rewriting",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "3:1--3:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3633211",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3633211",
abstract = "Rewriting is a versatile and powerful technique used
in many domains. Strategic rewriting allows programmers
to control the application of \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "3",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Balasubramanian:2024:RCP,
author = "A. R. Balasubramanian and Rupak Majumdar and
Ramanathan S. Thinniyam and Georg Zetzsche",
title = "Reachability in Continuous Pushdown {VASS}",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "4:1--4:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3633279",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3633279",
abstract = "Pushdown Vector Addition Systems with States (PVASS)
consist of finitely many control states, a pushdown
stack, and a set of counters that can be \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "4",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Kawamata:2024:ARM,
author = "Fuga Kawamata and Hiroshi Unno and Taro Sekiyama and
Tachio Terauchi",
title = "Answer Refinement Modification: Refinement Type System
for Algebraic Effects and Handlers",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "5:1--5:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3633280",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3633280",
abstract = "Algebraic effects and handlers are a mechanism to
structure programs with computational effects in a
modular way. They are recently gaining \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "5",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Mansky:2024:IIV,
author = "William Mansky and Ke Du",
title = "An {Iris} Instance for Verifying {CompCert C}
Programs",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "6:1--6:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632848",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632848",
abstract = "Iris is a generic separation logic framework that has
been instantiated to reason about a wide range of
programming languages and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "6",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cousot:2024:CDI,
author = "Patrick Cousot",
title = "Calculational Design of [In]{Correctness}
Transformational Program Logics by Abstract
Interpretation",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "7:1--7:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632849",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632849",
abstract = "We study transformational program logics for
correctness and incorrectness that we extend to
explicitly handle both termination and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "7",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{VanMuylder:2024:IOP,
author = "Antoine {Van Muylder} and Andreas Nuyts and Dominique
Devriese",
title = "Internal and Observational Parametricity for {Cubical
Agda}",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "8:1--8:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632850",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632850",
abstract = "Two approaches exist to incorporate parametricity into
proof assistants based on dependent type theory. On the
one hand, parametricity translations \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "8",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Timany:2024:THO,
author = "Amin Timany and Simon Oddershede Gregersen and L{\'e}o
Stefanesco and Jonas Kastberg Hinrichsen and L{\'e}on
Gondelman and Abel Nieto and Lars Birkedal",
title = "{Trillium}: Higher-Order Concurrent and Distributed
Separation Logic for Intensional Refinement",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "9:1--9:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632851",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632851",
abstract = "Expressive state-of-the-art separation logics rely on
step-indexing to model semantically complex features
and to support modular reasoning \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "9",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Grodin:2024:DDE,
author = "Harrison Grodin and Yue Niu and Jonathan Sterling and
Robert Harper",
title = "{Decalf}: a Directed, Effectful Cost-Aware Logical
Framework",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "10:1--10:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632852",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632852",
abstract = "We present decalf, a directed, effectful cost-aware
logical framework for studying quantitative aspects of
functional programs with \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "10",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Moine:2024:DSL,
author = "Alexandre Moine and Sam Westrick and Stephanie
Balzer",
title = "{DisLog}: a Separation Logic for Disentanglement",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "11:1--11:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632853",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632853",
abstract = "Disentanglement is a run-time property of parallel
programs that facilitates task-local reasoning about
the memory footprint of parallel tasks. In \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "11",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Frumin:2024:MDS,
author = "Dan Frumin and Amin Timany and Lars Birkedal",
title = "Modular Denotational Semantics for Effects with
Guarded Interaction Trees",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "12:1--12:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632854",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632854",
abstract = "We present guarded interaction trees --- a structure
and a fully formalized framework for representing
higher-order computations with \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "12",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Tsukada:2024:EPM,
author = "Takeshi Tsukada and Kazuyuki Asada",
title = "Enriched Presheaf Model of Quantum {FPC}",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "13:1--13:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632855",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632855",
abstract = "Selinger gave a superoperator model of a first-order
quantum programming language and proved that it is
fully definable and hence fully \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "13",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Wei:2024:PRT,
author = "Guannan Wei and Oliver Bra{\v{c}}evac and Songlin Jia
and Yuyan Bao and Tiark Rompf",
title = "Polymorphic Reachability Types: Tracking Freshness,
Aliasing, and Separation in Higher-Order Generic
Programs",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "14:1--14:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632856",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/rust.bib",
URL = "https://dl.acm.org/doi/10.1145/3632856",
abstract = "Fueled by the success of Rust, many programming
languages are adding substructural features to their
type systems. The promise of \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "14",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Popescu:2024:NRE,
author = "Andrei Popescu",
title = "Nominal Recursors as Epi-Recursors",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "15:1--15:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632857",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632857",
abstract = "We study nominal recursors from the literature on
syntax with bindings and compare them with respect to
expressiveness. The term \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "15",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Mell:2024:OPS,
author = "Stephen Mell and Steve Zdancewic and Osbert Bastani",
title = "Optimal Program Synthesis via Abstract
Interpretation",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "16:1--16:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632858",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632858",
abstract = "We consider the problem of synthesizing programs with
numerical constants that optimize a quantitative
objective, such as accuracy, over a set of \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "16",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Rinaldi:2024:PBG,
author = "Francis Rinaldi and June Wunder and Arthur {Azevedo de
Amorim} and Stefan K. Muller",
title = "Pipelines and Beyond: Graph Types for {ADTs} with
Futures",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "17:1--17:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632859",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632859",
abstract = "Parallel programs are frequently modeled as dependency
or cost graphs, which can be used to detect various
bugs, or simply to visualize the parallel \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "17",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Patton:2024:PDL,
author = "Noah Patton and Kia Rahmani and Meghana Missula and
Joydeep Biswas and I{\c{s}}{\i}l Dillig",
title = "Programming-by-Demonstration for Long-Horizon Robot
Tasks",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "18:1--18:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632860",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632860",
abstract = "The goal of programmatic Learning from Demonstration
(LfD) is to learn a policy in a programming language
that can be used to control a robot's behavior
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "18",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Carette:2024:FSR,
author = "Jacques Carette and Chris Heunen and Robin Kaarsgaard
and Amr Sabry",
title = "With a Few Square Roots, Quantum Computing Is as Easy
as Pi",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "19:1--19:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632861",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632861",
abstract = "Rig groupoids provide a semantic model of $ \Pi $, a
universal classical reversible programming language
over finite types. We prove that extending rig
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "19",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Timany:2024:LEW,
author = "Amin Timany and Arma{\"e}l Gu{\'e}neau and Lars
Birkedal",
title = "The Logical Essence of Well-Bracketed Control Flow",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "20:1--20:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632862",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632862",
abstract = "A program is said to be well-bracketed if every called
function must return before its caller can resume
execution. This is often the case. \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "20",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Hammond:2024:ABC,
author = "Angus Hammond and Zongyuan Liu and Thibaut P{\'e}rami
and Peter Sewell and Lars Birkedal and Jean
Pichon-Pharabod",
title = "An Axiomatic Basis for Computer Programming on the
Relaxed {Arm-A} Architecture: The {AxSL} Logic",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "21:1--21:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632863",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/risc-v.bib",
URL = "https://dl.acm.org/doi/10.1145/3632863",
abstract = "Very relaxed concurrency memory models, like those of
the Arm-A, RISC-V, and IBM Power hardware
architectures, underpin much of computing but break a
fundamental intuition about programs, namely that
syntactic program order and the reads-from relation
always both induce order in the execution. Instead,
out-of-order execution is allowed except where
prevented by certain pairwise dependencies, barriers,
or other synchronisation. This means that there is no
notion of the current state of the program, making it
challenging to design (and prove sound)
syntax-directed, modular reasoning methods like Hoare
logics, as usable resources cannot implicitly flow from
one program point to the next.\par
We present AxSL, a separation logic for the relaxed
memory model of Arm-A, that captures the fine-grained
reasoning underpinning the low-overhead synchronisation
mechanisms used by high-performance systems code. In
particular, AxSL allows transferring arbitrary
resources using relaxed reads and writes when they
induce inter-thread ordering. We mechanise AxSL in the
Iris separation logic framework, illustrate it on key
examples, and prove it sound with respect to the
axiomatic memory model of Arm-A. Our approach is
largely generic in the axiomatic model and in the
instruction-set semantics, offering a potential way
forward for compositional reasoning for other similar
models, and for the combination of production
concurrency models and full-scale ISAs.",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "21",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
keywords = "aarch64; ARM64; PowerPC; RISC-V",
}
@Article{Hong:2024:RAA,
author = "Chih-Duo Hong and Anthony W. Lin",
title = "Regular Abstractions for Array Systems",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "22:1--22:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632864",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632864",
abstract = "Verifying safety and liveness over array systems is a
highly challenging problem. Array systems naturally
capture parameterized systems such as \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "22",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Crichton:2024:CCD,
author = "Will Crichton and Shriram Krishnamurthi",
title = "A Core Calculus for Documents: Or, {Lambda}: The
Ultimate Document",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "23:1--23:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632865",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632865",
abstract = "Passive documents and active programs now widely
comingle. Document languages include Turing-complete
programming elements, and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "23",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Sieczkowski:2024:EGA,
author = "Filip Sieczkowski and Sergei Stepanenko and Jonathan
Sterling and Lars Birkedal",
title = "The Essence of Generalized Algebraic Data Types",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "24:1--24:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632866",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632866",
abstract = "This paper considers direct encodings of generalized
algebraic data types (GADTs) in a minimal suitable
lambda-calculus. To this end, we develop an \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "24",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cyphert:2024:SPI,
author = "John Cyphert and Zachary Kincaid",
title = "Solvable Polynomial Ideals: The Ideal Reflection for
Program Analysis",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "25:1--25:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632867",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632867",
abstract = "This paper presents a program analysis method that
generates program summaries involving polynomial
arithmetic. Our approach builds \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "25",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Gregersen:2024:APC,
author = "Simon Oddershede Gregersen and Alejandro Aguirre and
Philipp G. Haselwarter and Joseph Tassarotti and Lars
Birkedal",
title = "Asynchronous Probabilistic Couplings in Higher-Order
Separation Logic",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "26:1--26:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632868",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632868",
abstract = "Probabilistic couplings are the foundation for many
probabilistic relational program logics and arise when
relating random sampling statements across two
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "26",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Hewer:2024:QHL,
author = "Brandon Hewer and Graham Hutton",
title = "{Quotient Haskell}: Lightweight Quotient Types for
All",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "27:1--27:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632869",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632869",
abstract = "Subtypes and quotient types are dual type
abstractions. However, while subtypes are widely used
both explicitly and implicitly, quotient types have not
seen \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "27",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Pailoor:2024:SCR,
author = "Shankara Pailoor and Yuepeng Wang and I{\c{s}}{\i}l
Dillig",
title = "Semantic Code Refactoring for Abstract Data Types",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "28:1--28:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632870",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632870",
abstract = "Modifications to the data representation of an
abstract data type (ADT) can require significant
semantic refactoring of the code. Motivated by this
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "28",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Sun:2024:ECS,
author = "Pu Sun and Fu Song and Yuqi Chen and Taolue Chen",
title = "{EasyBC}: a Cryptography-Specific Language for
Security Analysis of Block Ciphers against Differential
Cryptanalysis",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "29:1--29:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632871",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2020.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632871",
abstract = "Differential cryptanalysis is a powerful
algorithmic-level attack, playing a central role in
evaluating the security of symmetric cryptographic
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "29",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Mullner:2024:SIH,
author = "Julian M{\"u}llner and Marcel Moosbrugger and Laura
Kov{\'a}cs",
title = "Strong Invariants Are Hard: On the Hardness of
Strongest Polynomial Invariants for (Probabilistic)
Programs",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "30:1--30:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632872",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632872",
abstract = "We show that computing the strongest polynomial
invariant for single-path loops with polynomial
assignments is at least as hard as the Skolem
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "30",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Farzan:2024:CEC,
author = "Azadeh Farzan and Umang Mathur",
title = "Coarser Equivalences for Causal Concurrency",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "31:1--31:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632873",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632873",
abstract = "Trace theory (formulated by Mazurkiewicz in 1987) is a
principled framework for defining equivalence relations
for concurrent program runs based \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "31",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Briggs:2024:ISM,
author = "Ian Briggs and Yash Lad and Pavel Panchekha",
title = "Implementation and Synthesis of Math Library
Functions",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "32:1--32:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632874",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/elefunt.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632874",
abstract = "Achieving speed and accuracy for math library
functions like exp, sin, and log is difficult. This is
because low-level implementation languages like C do
not help math library developers catch mathematical
errors, build implementations incrementally, or
separate high-level and low-level decision making. This
ultimately puts development of such functions out of
reach for all but the most experienced experts. To
address this, we introduce MegaLibm, a domain-specific
language for implementing, testing, and tuning math
library implementations. MegaLibm is safe, modular, and
tunable. Implementations in MegaLibm can automatically
detect mathematical mistakes like sign flips via
semantic wellformedness checks, and components like
range reductions can be implemented in a modular,
composable way, simplifying implementations. Once the
high-level algorithm is done, tuning parameters like
working precisions and evaluation schemes can be
adjusted through orthogonal tuning parameters to
achieve the desired speed and accuracy. MegaLibm also
enables math library developers to work interactively,
compiling, testing, and tuning their implementations
and invoking tools like Sollya and type-directed
synthesis to complete components and synthesize entire
implementations. MegaLibm can express 8
state-of-the-art math library implementations with
comparable speed and accuracy to the original C code,
and can synthesize 5 variations and 3 from-scratch
implementations with minimal guidance.",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "32",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Elad:2024:INF,
author = "Neta Elad and Oded Padon and Sharon Shoham",
title = "An Infinite Needle in a Finite Haystack: Finding
Infinite Counter-Models in Deductive Verification",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "33:1--33:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632875",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632875",
abstract = "First- order logic, and quantifiers in particular, are
widely used in deductive verification of programs and
systems. Quantifiers are essential for \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "33",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Buna-Marginean:2024:LPR,
author = "Alex Buna-Marginean and Vincent Cheval and Mahsa
Shirmohammadi and James Worrell",
title = "On Learning Polynomial Recursive Programs",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "34:1--34:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632876",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632876",
abstract = "We introduce the class of P-finite automata. These are
a generalisation of weighted automata, in which the
weights of transitions can depend \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "34",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Yao:2024:MAV,
author = "Jianan Yao and Runzhou Tao and Ronghui Gu and Jason
Nieh",
title = "Mostly Automated Verification of Liveness Properties
for Distributed Protocols with Ranking Functions",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "35:1--35:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632877",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632877",
abstract = "Distributed protocols have long been formulated in
terms of their safety and liveness properties. Much
recent work has focused on automatically \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "35",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Smeding:2024:EC,
author = "Tom J. Smeding and Matthijs I. L. V{\'a}k{\'a}r",
title = "Efficient {CHAD}",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "36:1--36:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632878",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632878",
abstract = "We show how the basic Combinatory Homomorphic
Automatic Differentiation (CHAD) algorithm can be
optimised, using well-known methods, to yield a
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "36",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Majumdar:2024:PAS,
author = "Rupak Majumdar and V. R. Sathiyanarayana",
title = "Positive Almost-Sure Termination: Complexity and Proof
Rules",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "37:1--37:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632879",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632879",
abstract = "We study the recursion-theoretic complexity of
Positive Almost-Sure Termination ( PAST ) in an
imperative programming language with \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "37",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Westrick:2024:APM,
author = "Sam Westrick and Matthew Fluet and Mike Rainey and
Umut A. Acar",
title = "Automatic Parallelism Management",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "38:1--38:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632880",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632880",
abstract = "On any modern computer architecture today, parallelism
comes with a modest cost, born from the creation and
management of threads or \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "38",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Guilloud:2024:OA,
author = "Simon Guilloud and Viktor Kuncak",
title = "Orthologic with Axioms",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "39:1--39:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632881",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632881",
abstract = "We study the proof theory and algorithms for
orthologic, a logical system based on ortholattices,
which have shown practical relevance in simplification
and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "39",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Castagna:2024:PTI,
author = "Giuseppe Castagna and Micka{\"e}l Laurent and Kim
Nguy{\u{1}ec5}n",
title = "Polymorphic Type Inference for Dynamic Languages",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "40:1--40:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632882",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632882",
abstract = "We present a type system that combines, in a
controlled way, first-order polymorphism with
intersection types, union types, and subtyping, and
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "40",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhang:2024:FDM,
author = "Xing Zhang and Ruifeng Xie and Guanchen Guo and Xiao
He and Tao Zan and Zhenjiang Hu",
title = "Fusing Direct Manipulations into Functional Programs",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "41:1--41:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632883",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632883",
abstract = "Bidirectional live programming systems (BLP) enable
developers to modify a program by directly manipulating
the program output, so that the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "41",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Krishna:2024:FSA,
author = "Shankaranarayanan Krishna and Aniket Lal and Andreas
Pavlogiannis and Omkar Tuppe",
title = "On-the-Fly Static Analysis via Dynamic Bidirected
{Dyck} Reachability",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "42:1--42:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632884",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632884",
abstract = "Dyck reachability is a principled, graph-based
formulation of a plethora of static analyses.
Bidirected graphs are used for capturing dataflow
through \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "42",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ceragioli:2024:QBB,
author = "Lorenzo Ceragioli and Fabio Gadducci and Giuseppe
Lomurno and Gabriele Tedeschi",
title = "Quantum Bisimilarity via Barbs and Contexts: Curbing
the Power of Non-deterministic Observers",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "43:1--43:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632885",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632885",
abstract = "Past years have seen the development of a few
proposals for quantum extensions of process calculi.
The rationale is clear: with the development of
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "43",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Liu:2024:IID,
author = "Yiyun Liu and Jonathan Chan and Jessica Shi and
Stephanie Weirich",
title = "Internalizing Indistinguishability with Dependent
Types",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "44:1--44:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632886",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632886",
abstract = "In type systems with dependency tracking, programmers
can assign an ordered set of levels to computations and
prevent information flow from \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "44",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Bojanczyk:2024:PFU,
author = "Miko{\l}aj Boja{\'n}czyk and Bartek Klin",
title = "Polyregular Functions on Unordered Trees of Bounded
Height",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "45:1--45:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632887",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632887",
abstract = "We consider injective first-order interpretations that
input and output trees of bounded height. The
corresponding functions have \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "45",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cohen:2024:CIL,
author = "Liron Cohen and Adham Jabarin and Andrei Popescu and
Reuben N. S. Rowe",
title = "The Complex(ity) Landscape of Checking Infinite
Descent",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "46:1--46:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632888",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632888",
abstract = "Cyclic proof systems, in which induction is managed
implicitly, are a promising approach to automatic
verification. The soundness of cyclic proof \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "46",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Jacobs:2024:DFS,
author = "Jules Jacobs and Jonas Kastberg Hinrichsen and Robbert
Krebbers",
title = "Deadlock-Free Separation Logic: Linearity Yields
Progress for Dependent Higher-Order Message Passing",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "47:1--47:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632889",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632889",
abstract = "We introduce a linear concurrent separation logic,
called LinearActris, designed to guarantee deadlock and
leak freedom for message-passing \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "47",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Parreaux:2024:WSC,
author = "Lionel Parreaux and Aleksander Boruch-Gruszecki and
Andong Fan and Chun Yin Chau",
title = "When Subtyping Constraints Liberate: a Novel Type
Inference Approach for First-Class Polymorphism",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "48:1--48:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632890",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632890",
abstract = "Type inference in the presence of first-class or
``impredicative'' second-order polymorphism {\`a} la
System F has been an active research area for several
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "48",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Attouche:2024:VMJ,
author = "Lyes Attouche and Mohamed-Amine Baazizi and Dario
Colazzo and Giorgio Ghelli and Carlo Sartiani and
Stefanie Scherzinger",
title = "Validation of Modern {JSON} Schema: Formalization and
Complexity",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "49:1--49:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632891",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632891",
abstract = "JSON Schema is the de-facto standard schema language
for JSON data. The language went through many minor
revisions, but the most recent \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "49",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Pottier:2024:TDS,
author = "Fran{\c{c}}ois Pottier and Arma{\"e}l Gu{\'e}neau and
Jacques-Henri Jourdan and Glen M{\'e}vel",
title = "Thunks and Debits in Separation Logic with Time
Credits",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "50:1--50:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632892",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632892",
abstract = "A thunk is a mutable data structure that offers a
simple memoization service: it stores either a
suspended computation or the result of this
computation. \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "50",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Chataing:2024:UDC,
author = "Nicolas Chataing and Stephen Dolan and Gabriel Scherer
and Jeremy Yallop",
title = "Unboxed Data Constructors: Or, How cpp Decides a
Halting Problem",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "51:1--51:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632893",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632893",
abstract = "We propose a new language feature for ML-family
languages, the ability to selectively unbox certain
data constructors, so that their \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "51",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Li:2024:EBS,
author = "Xiang Li and Xiangyu Zhou and Rui Dong and Yihong
Zhang and Xinyu Wang",
title = "Efficient Bottom-Up Synthesis for Programs with Local
Variables",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "52:1--52:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632894",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632894",
abstract = "We propose a new synthesis algorithm that can
efficiently search programs with local variables (e.g.,
those introduced by lambdas). Prior bottom-up
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "52",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Arora:2024:DFS,
author = "Jatin Arora and Stefan K. Muller and Umut A. Acar",
title = "Disentanglement with Futures, State, and Interaction",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "53:1--53:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632895",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632895",
abstract = "Recent work has proposed a memory property for
parallel programs, called disentanglement, and showed
that it is pervasive in a variety of \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "53",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Tang:2024:SHL,
author = "Wenhao Tang and Daniel Hillerstr{\"o}m and Sam Lindley
and J. Garrett Morris",
title = "Soundly Handling Linearity",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "54:1--54:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632896",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632896",
abstract = "We propose a novel approach to soundly combining
linear types with multi-shot effect handlers. circear
type systems statically ensure that resources
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "54",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Campion:2024:MPP,
author = "Marco Campion and Mila {Dalla Preda} and Roberto
Giacobazzi and Caterina Urban",
title = "Monotonicity and the Precision of Program Analysis",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "55:1--55:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632897",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632897",
abstract = "It is widely known that the precision of a program
analyzer is closely related to intensional program
properties, namely, properties concerning how the
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "55",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Kidney:2024:AEM,
author = "Donnacha Ois{\'\i}n Kidney and Zhixuan Yang and
Nicolas Wu",
title = "Algebraic Effects Meet {Hoare} Logic in {Cubical
Agda}",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "56:1--56:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632898",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632898",
abstract = "This paper presents a novel formalisation of algebraic
effects with equations in Cubical Agda. Unlike previous
work in the literature that employed setoids \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "56",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Heim:2024:SIS,
author = "Philippe Heim and Rayna Dimitrova",
title = "Solving Infinite-State Games via Acceleration",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "57:1--57:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632899",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632899",
abstract = "Two- player graph games have found numerous
applications, most notably in the synthesis of reactive
systems from temporal specifications, but \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "57",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Koehler:2024:GES,
author = "Thomas K{\oe}hler and Andr{\'e}s Goens and Siddharth
Bhat and Tobias Grosser and Phil Trinder and Michel
Steuwer",
title = "Guided Equality Saturation",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "58:1--58:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632900",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632900",
abstract = "Rewriting is a principled term transformation
technique with uses across theorem proving and
compilation. In theorem proving, each \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "58",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Deng:2024:CSR,
author = "Haowei Deng and Runzhou Tao and Yuxiang Peng and
Xiaodi Wu",
title = "A Case for Synthesis of Recursive Quantum Unitary
Programs",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "59:1--59:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632901",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632901",
abstract = "Quantum programs are notoriously difficult to code and
verify due to unintuitive quantum knowledge associated
with quantum \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "59",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Cohen:2024:FCW,
author = "Joshua M. Cohen and Philip Johnson-Freyd",
title = "A Formalization of {Core Why3} in {Coq}",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "60:1--60:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632902",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632902",
abstract = "Intermediate verification languages like Why3 and
Boogie have made it much easier to build program
verifiers, transforming the process into a \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "60",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ackerman:2024:PPI,
author = "Nate Ackerman and Cameron E. Freer and Younesse Kaddar
and Jacek Karwowski and Sean Moss and Daniel Roy and
Sam Staton and Hongseok Yang",
title = "Probabilistic Programming Interfaces for Random
Graphs: {Markov} Categories, Graphons, and Nominal
Sets",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "61:1--61:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632903",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632903",
abstract = "We study semantic models of probabilistic programming
languages over graphs, and establish a connection to
graphons from graph theory and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "61",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Sotiropoulos:2024:ADP,
author = "Thodoris Sotiropoulos and Stefanos Chaliasos and
Zhendong Su",
title = "{API}-Driven Program Synthesis for Testing Static
Typing Implementations",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "62:1--62:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632904",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632904",
abstract = "We introduce a novel approach for testing static
typing implementations based on the concept of
API-driven program synthesis. The idea is to \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "62",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Randone:2024:IPP,
author = "Francesca Randone and Luca Bortolussi and Emilio
Incerto and Mirco Tribastone",
title = "Inference of Probabilistic Programs with
Moment-Matching {Gaussian} Mixtures",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "63:1--63:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632905",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632905",
abstract = "Computing the posterior distribution of a
probabilistic program is a hard task for which no
one-fit-for-all solution exists. We propose Gaussian
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "63",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Rakotonirina:2024:DCD,
author = "Itsaka Rakotonirina and Gilles Barthe and Clara
Schneidewind",
title = "Decision and Complexity of {Dolev--Yao}
Hyperproperties",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "64:1--64:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632906",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2020.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632906",
abstract = "The formal analysis of cryptographic protocols
traditionally focuses on trace and equivalence
properties, for which decision procedures in the
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "64",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Hague:2024:PTM,
author = "Matthew Hague and Artur Je{\.z} and Anthony W. Lin",
title = "{Parikh}'s Theorem Made Symbolic",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "65:1--65:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632907",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632907",
abstract = "Parikh's Theorem is a fundamental result in automata
theory with numerous applications in computer science.
These include software verification \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "65",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Chakraborty:2024:HHW,
author = "Soham Chakraborty and Shankara Narayanan Krishna and
Umang Mathur and Andreas Pavlogiannis",
title = "How Hard Is Weak-Memory Testing?",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "66:1--66:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632908",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632908",
abstract = "Weak- memory models are standard formal specifications
of concurrency across hardware, programming languages,
and distributed systems. A \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "66",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ramsay:2024:ITP,
author = "Steven Ramsay and Charlie Walpole",
title = "Ill-Typed Programs Don't Evaluate",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "67:1--67:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632909",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632909",
abstract = "We introduce two-sided type systems, which are sequent
calculi for typing formulas. Two-sided type systems
allow for hypothetical reasoning over \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "67",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhao:2024:TTE,
author = "Eric Zhao and Raef Maroof and Anand Dukkipati and
Andrew Blinn and Zhiyi Pan and Cyrus Omar",
title = "Total Type Error Localization and Recovery with
Holes",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "68:1--68:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632910",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632910",
abstract = "Type systems typically only define the conditions
under which an expression is well-typed, leaving
ill-typed expressions formally meaningless. This
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "68",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhou:2024:VFS,
author = "Litao Zhou and Jianxing Qin and Qinshi Wang and Andrew
W. Appel and Qinxiang Cao",
title = "{VST-A}: a Foundationally Sound Annotation Verifier",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "69:1--69:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632911",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632911",
abstract = "Program verifiers for imperative languages such as C
may be annotation-based, in which assertions and
invariants are put into source files and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "69",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Borkowski:2024:MRT,
author = "Michael H. Borkowski and Niki Vazou and Ranjit Jhala",
title = "Mechanizing Refinement Types",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "70:1--70:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632912",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632912",
abstract = "Practical checkers based on refinement types use the
combination of implicit semantic subtyping and
parametric polymorphism to simplify the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "70",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ding:2024:EET,
author = "Yuantian Ding and Xiaokang Qiu",
title = "Enhanced Enumeration Techniques for Syntax-Guided
Synthesis of Bit-Vector Manipulations",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "71:1--71:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632913",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632913",
abstract = "Syntax- guided synthesis has been a prevalent theme in
various computer-aided programming systems. However,
the domain of bit-vector \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "71",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhang:2024:FCA,
author = "Ling Zhang and Yuting Wang and Jinhua Wu and
J{\'e}r{\'e}mie Koenig and Zhong Shao",
title = "Fully Composable and Adequate Verified Compilation
with Direct Refinements between Open Modules",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "72:1--72:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632914",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632914",
abstract = "Verified compilation of open modules (i.e., modules
whose functionality depends on other modules) provides
a foundation for end-to-end \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "72",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ang:2024:PMA,
author = "Zhendong Ang and Umang Mathur",
title = "Predictive Monitoring against Pattern Regular
Languages",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "73:1--73:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632915",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632915",
abstract = "While current bug detection techniques for concurrent
software focus on unearthing low-level issues such as
data races or deadlocks, they often \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "73",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Andrici:2024:SVI,
author = "Cezar-Constantin Andrici and {\v{S}}tefan
Ciob{\^a}c{\u{a}} and C{\u{a}}t{\u{a}}lin Hri{\c{t}}cu
and Guido Mart{\'\i}nez and Exequiel Rivas and {\'E}ric
Tanter and Th{\'e}o Winterhalter",
title = "Securing Verified {I/O} Programs Against Unverified
Code in {F*}",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "74:1--74:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632916",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632916",
abstract = "We introduce SCIO*, a formally secure compilation
framework for statically verified programs performing
input-output (IO). The source \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "74",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Ma:2024:RHA,
author = "Zhongkui Ma and Jiaying Li and Guangdong Bai",
title = "{ReLU} Hull Approximation",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "75:1--75:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632917",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632917",
abstract = "Convex hulls are commonly used to tackle the
non-linearity of activation functions in the
verification of neural networks. Computing the exact
convex \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "75",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Atkey:2024:PTD,
author = "Robert Atkey",
title = "Polynomial Time and Dependent Types",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "76:1--76:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632918",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632918",
abstract = "We combine dependent types with linear type systems
that soundly and completely capture polynomial time
computation. We explore two systems for \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "76",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Frank:2024:GWT,
author = "Justin Frank and Benjamin Quiring and Leonidas
Lampropoulos",
title = "Generating Well-Typed Terms That Are Not
{``Useless''}",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "77:1--77:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632919",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632919",
abstract = "Random generation of well-typed terms lies at the core
of effective random testing of compilers for functional
languages. Existing techniques \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "77",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Altenkirch:2024:IPI,
author = "Thorsten Altenkirch and Yorgo Chamoun and Ambrus
Kaposi and Michael Shulman",
title = "Internal Parametricity, without an Interval",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "78:1--78:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632920",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632920",
abstract = "Parametricity is a property of the syntax of type
theory implying, e.g., that there is only one function
having the type of the polymorphic identity function.
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "78",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Elsman:2024:EEE,
author = "Martin Elsman",
title = "Explicit Effects and Effect Constraints in {ReML}",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "79:1--79:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632921",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632921",
abstract = "An important aspect of building robust systems that
execute on dedicated hardware and perhaps in
constrained environments is to control and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "79",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Geller:2024:ITS,
author = "Adam T. Geller and Justin Frank and William J.
Bowman",
title = "Indexed Types for a Statically Safe {WebAssembly}",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "80:1--80:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632922",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632922",
abstract = "We present Wasm-prechk, a superset of WebAssembly
(Wasm) that uses indexed types to express and check
simple constraints over program \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "80",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Peng:2024:SFP,
author = "Yuxiang Peng and Jacob Young and Pengyu Liu and Xiaodi
Wu",
title = "{SimuQ}: a Framework for Programming Quantum
{Hamiltonian} Simulation with Analog Compilation",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "81:1--81:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632923",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632923",
abstract = "Quantum Hamiltonian simulation, which simulates the
evolution of quantum systems and probes quantum
phenomena, is one of the most promising \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "81",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Jayanti:2024:USC,
author = "Prasad Jayanti and Siddhartha Jayanti and Ugur Yavuz
and Lizzie Hernandez",
title = "A Universal, Sound, and Complete Forward Reasoning
Technique for Machine-Verified Proofs of
Linearizability",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "82:1--82:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632924",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632924",
abstract = "We introduce simple, universal, sound, and complete
proof methods for producing machine-verifiable proofs
of linearizability and strong \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "82",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Farzan:2024:CSP,
author = "Azadeh Farzan and Dominik Klumpp and Andreas
Podelski",
title = "Commutativity Simplifies Proofs of Parameterized
Programs",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "83:1--83:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632925",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632925",
abstract = "Commutativity has proven to be a powerful tool in
reasoning about concurrent programs. Recent work has
shown that a commutativity-based reduction \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "83",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Faggian:2024:HOB,
author = "Claudia Faggian and Daniele Pautasso and Gabriele
Vanoni",
title = "Higher Order {Bayesian} Networks, Exactly",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "84:1--84:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632926",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632926",
abstract = "Bayesian networks are graphical first-order
probabilistic models that allow for a compact
representation of large probability distributions, and
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "84",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zimmerman:2024:SGV,
author = "Conrad Zimmerman and Jenna DiVincenzo and Jonathan
Aldrich",
title = "Sound Gradual Verification with Symbolic Execution",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "85:1--85:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632927",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632927",
abstract = "Gradual verification, which supports explicitly
partial specifications and verifies them with a
combination of static and dynamic checks, makes
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "85",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Abeysinghe:2024:FEE,
author = "Supun Abeysinghe and Anxhelo Xhebraj and Tiark Rompf",
title = "{Flan}: an Expressive and Efficient {Datalog} Compiler
for Program Analysis",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "86:1--86:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632928",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632928",
abstract = "Datalog has gained prominence in program analysis due
to its expressiveness and ease of use. Its generic
fixpoint resolution \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "86",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{DalLago:2024:MCH,
author = "Ugo {Dal Lago} and Alexis Ghyselen",
title = "On Model-Checking Higher-Order Effectful Programs",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "87:1--87:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632929",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632929",
abstract = "Model- checking is one of the most powerful techniques
for verifying systems and programs, which since the
pioneering results by Knapik et al., Ong, \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "87",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Moy:2024:ESC,
author = "Cameron Moy and Christos Dimoulas and Matthias
Felleisen",
title = "Effectful Software Contracts",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "88:1--88:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632930",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632930",
abstract = "Software contracts empower programmers to describe
functional properties of components. When it comes to
constraining effects, though, \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "88",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Campora:2024:TBG,
author = "John Peter Campora and Mohammad Wahiduzzaman Khan and
Sheng Chen",
title = "Type-Based Gradual Typing Performance Optimization",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "89:1--89:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632931",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632931",
abstract = "Gradual typing has emerged as a popular design point
in programming languages, attracting significant
interests from both academia and industry. \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "89",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{DeYoung:2024:PSS,
author = "Henry DeYoung and Andreia Mordido and Frank Pfenning
and Ankush Das",
title = "Parametric Subtyping for Structural Parametric
Polymorphism",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "90:1--90:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632932",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632932",
abstract = "We study the interaction of structural subtyping with
parametric polymorphism and recursively defined type
constructors. Although structural subtyping \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "90",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Sellami:2024:IRR,
author = "Yanis Sellami and Guillaume Girol and Fr{\'e}d{\'e}ric
Recoules and Damien Courouss{\'e} and S{\'e}bastien
Bardin",
title = "Inference of Robust Reachability Constraints",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "91:1--91:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632933",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632933",
abstract = "Characterization of bugs and attack vectors is in many
practical scenarios as important as their finding.
Recently, Girol et. al. have introduced the \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "91",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Mamouras:2024:EMR,
author = "Konstantinos Mamouras and Agnishom Chattopadhyay",
title = "Efficient Matching of Regular Expressions with
Lookaround Assertions",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "92:1--92:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632934",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/string-matching.bib",
URL = "https://dl.acm.org/doi/10.1145/3632934",
abstract = "Regular expressions have been extended with lookaround
assertions, which are subdivided into lookahead and
lookbehind assertions. These constructs are o refine
when a match for a pattern occurs in the input text
based on the surrounding context. Current
implementation techniques for lookaround involve
backtracking search, which can give rise to running
time that is super-linear in the length of input text.
In this paper, we first consider a formal mathematical
semantics for lookaround, which complements the
commonly used operational understanding of lookaround
in terms of a backtracking implementation. Our formal
semantics allows us to establish several equational
properties for simplifying lookaround assertions.
Additionally, we propose a new algorithm for matching
regular expressions with lookaround that has time
complexity $ O(m \cdot n) $, where $m$ is the size of
the regular expression and $n$ is the length of the
input text. The algorithm works by evaluating
lookaround assertions in a bottom-up manner. Our
algorithm makes use of a new notion of nondeterministic
finite automata (NFAs), which we call oracle-NFAs.
These automata are augmented with epsilon-transitions
that are guarded by oracle queries that provide the
truth values of lookaround assertions at every position
in the text. We provide an implementation of our
algorithm that incorporates three performance
optimizations for reducing the work performed and
memory used. We present an experimental comparison
against PCRE and Java's regex library, which are
state-of-the-art regex engines that support lookaround
assertions. Our experimental results show that, in
contrast to PCRE and Java, our implementation does not
suffer from super-linear running time and is several
times faster.",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "92",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Batz:2024:PSS,
author = "Kevin Batz and Tom Jannik Biskup and Joost-Pieter
Katoen and Tobias Winkler",
title = "Programmatic Strategy Synthesis: Resolving
Nondeterminism in Probabilistic Programs",
journal = j-PACMPL,
volume = "8",
number = "POPL",
pages = "93:1--93:??",
month = jan,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3632935",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib",
URL = "https://dl.acm.org/doi/10.1145/3632935",
abstract = "We consider imperative programs that involve both
randomization and pure nondeterminism. The central
question is how to find a strategy resolving \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "93",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}