Lecture

Solver-Aided Programming for All

Description

This lecture introduces Solver-Aided Programming, a model integrating SMT solvers into the language to provide constructs for program verification, synthesis, and debugging. It covers topics such as programming with solver-aided tools, localizing bad parts of a program, finding values to repair failing runs, and synthesizing code. The lecture also discusses the challenges of building solver-aided tools and presents ROSETTE, a solver-aided language. It explores the design space of domain-specific languages, the anatomy of solver-aided host languages, and the translation of programs to constraints. Additionally, it delves into type-driven state merging, solver-aided applications in various domains, and strategies for games and education. The lecture concludes with a focus on verifying systems software, including the verification of OS components and the use of Serval verifiers.

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.