Continuous Reasoning with Gradual Verification
Lead PI:
Jonathan Aldrich
Abstract

This project proposes a program of research aimed at helping developers to more quickly construct and repair software, specifications, and proofs within a continuous reasoning process. our project begins by prototyping a Continuous Assurance system. This system adapts our prior work on Gradual Verification to context of continuous integration, supporting incremental progress towards proofs through the integration of static and dynamic verification. Once an initial prototype of continuous assurance is complete, we will begin on a Proof Maintenance system, which aims to maintain proofs in a checkable state after evolutionary changes are made to one or more components or their specifications. The final technical component of our approach is a Proof repair system, which adapts specifications that have been falsified by finding closely related specifications that remain true after an evolutionary step. 

Jonathan Aldrich

Jonathan Aldrich is a Professor of Computer Science and Software Engineering at Carnegie Mellon University, where he directs the Master of Software Engineering program. He is the coauthor (with Michael Scott) of the textbook Programming Language Pragmatics, 5th edition. His research combines programming languages, software engineering, and human-computer interaction to explore how the way we express software affects our ability to engineer software at scale. A particular theme of much of his work is improving software quality and programmer productivity through better ways to express structural and behavioral aspects of software design within source code.

Aldrich has contributed to ownership, typestate checking, modular and gradual verification techniques, and usability in programming language and type system design. For his work specifying and verifying architecture, he received a 2006 NSF CAREER award, the 2007 Dahl-Nygaard Junior Prize, and an ICSE test of time award. Outside the university, he serves on ACM Council and was the CTO of Noteful, a startup delivering an educational app for music theory and note reading.

Performance Period: 01/01/2024 - 12/31/2026
Institution: Carnegie Mellon University
Project Material