collaborators

6 papers

cs.PL2026

Foundational Constraint Solving for Expressive Refinement Typing

Jam Kabeer Ali Khan, Petros Markopoulos, Nico Lehmann +1

SMT-based program verifiers are hamstrung by two problems: expressiveness, because predictable verification restricts to the boundaries of SMT decidability, and trust, because the…

cs.HC2026

Plainbook: Data Science, in Plain Language

Luca de Alfaro, Mathis Aubert, Ranjit Jhala +2

Jupyter Notebooks have become widely adopted in data science, as they allow the sharing of reproducible computational analysis. They are, however, accessible only to people who und…

cs.LO2026

Verifying the Rust Standard Library

Byron Cook, Remi Delmas, Zyad Hassan +9

Rust's type system prevents many classes of memory errors, yet its standard library relies heavily on unsafe code whose correctness is validated through testing, including dynamic…

cs.LO2026

Complete first-order reasoning for functional programs

Adithya Murali, Lucas Peña, Ranjit Jhala +1

Several practical tools for automatically verifying functional programs (e.g., Liquid Haskell and Leon for Scala programs) rely on a heuristic based on unrolling recursive function…

cs.PL2026

Auditing Rust Crates Effectively

Lydia Zoghbi, David Thien, Ranjit Jhala +2

We introduce Cargo Scan, the first interactive program analysis tool designed to help developers audit third-party Rust code. Real systems written in Rust rely on thousands of tran…

cs.LO2025

Laurel: Unblocking Automated Verification with Large Language Models

Eric Mugnier, Emmanuel Anaya Gonzalez, Ranjit Jhala +2

Program verifiers such as Dafny automate proofs by outsourcing them to an SMT solver. This automation is not perfect, however, and the solver often requires hints in the form of as…