PLDI 2024
Mon 24 - Fri 28 June 2024 Copenhagen, Denmark
Tue 25 Jun 2024 11:30 - 11:50 at Reykjavik - SOAP II Chair(s): Luca Negrini

C-based interpreters such as CPython make extensive use of C “extension” code, which is opaque to static analysis tools and faster runtimes with JIT compilers, such as PyPy. Not only are the extensions opaque, but the interface between the dynamic language types and the C types can introduce impedance. We hypothesise that frequent calls to C extension code introduce significant overhead that is often unnecessary.

We validate this hypothesis by introducing a simple technique, “typed methods”, which allow selected C extension functions to have additional metadata attached to them in a backward-compatible way. This additional metadata makes it much easier for a JIT compiler (and as we show, even an interpreter!) to significantly reduce the call and return overhead.

Although we have prototyped typed methods in PyPy, we suspect that the same technique is applicable to a wider variety of language runtimes and that the information can also be consumed by static analysis tooling.

Dr Wenowdis (slides) (dr-wenowdis-slides.pdf)1007KiB

Tue 25 Jun

Displayed time zone: Windhoek change

10:40 - 12:20
SOAP IISOAP at Reykjavik
Chair(s): Luca Negrini Ca’ Foscari University of Venice
10:40
50m
Keynote
Challenges and Opportunities in Program Analysis for JavaScript
SOAP
Anders Møller Aarhus University
11:30
20m
Talk
Dr Wenowdis: Specializing dynamic language C extensions using type information
SOAP
Maxwell Bernstein Northeastern University, CF Bolz-Tereick Heinrich-Heine-Universität Düsseldorf
Pre-print File Attached
11:50
20m
Talk
Interleaving Static Analysis and LLM Prompting
SOAP
Patrick Chapman University of California, Davis, Cindy Rubio-González University of California at Davis, Aditya V. Thakur University of California at Davis