Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.
DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.
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.