Lecture

Verifying Compiler: Spec# Approach

Description

This lecture by the instructor presents the Spec# programming system, focusing on a verifying compiler for sequential C# 2.0. It covers method contracts, invariants, and type annotations, using weakest preconditions for verification. The lecture demonstrates the power of non-null types, moving runtime errors to compile time, and introducing new language changes for reference types. It also discusses comparing against null, non-null instance fields, and solutions for handling non-null issues. Additionally, it explores the limitations of pre- and postconditions, re-entrance with callbacks, and the concept of allowing certain invariants to be broken. The lecture concludes with a discussion on exposing invariants through special block statements.

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.
Related lectures (95)
Vectorworks Educational Version
Introduces Vectorworks Educational Version for architectural drawings, covering tools, layers, and annotations.
Code Generation Lab
Covers generating code for a compiler, translating an Amy program to WebAssembly, including memory management and pattern matching compilation.
Class Hierarchies: Pattern Matching
Explores class hierarchies, case classes, enums, pattern matching, and function values in Scala.
Open Office Configuration & Workspace
Explores open office setup, shared drives, digital modeling tools, and collaborative platforms in architectural projects.
Vectorworks Basics
Covers the basics of Vectorworks Design Suite 2022, including tools and attributes.
Show more

Graph Chatbot

Chat with Graph Search

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.