Select Page

PL Perspectives

Perspectives on computing and technology from and for those with an interest in programming languages.
Specification Synthesis with Constrained Horn Clauses

Specification Synthesis with Constrained Horn Clauses

The problem of program verification is to find whether a program meets its specification. But if a program calls functions whose bodies are missing, the verification aims at finding the most general implementations of these functions. In this post we show how advances in automated reasoning allow for doing it efficiently.

Read more...

Making Software Sandboxing Practical using Language-based Techniques

Making Software Sandboxing Practical using Language-based Techniques

Software sandboxing or software-based fault isolation (SFI) is a lightweight approach to building secure systems out of untrusted components. The idea of SFI is old. Its use in production, to sandbox third-party libraries in Firefox, is new. We describe the PL techniques—notably static information flow control—that were key to deploying SFI in practice and their use in tackling software security more generally.

Read more...

Programming Languages + Human-Computer Interaction: Continuing the story at SPLASH 2020

Programming Languages + Human-Computer Interaction: Continuing the story at SPLASH 2020

How can types and formal reasoning tools improve the lives of people who write software? This is the focus of the HATRA (Human Aspects of Types and Reasoning Assistants) workshop. At the 2020 meeting, we discussed exciting opportunities for these key PL techniques to make developers more effective.

Read more...