/course_safepl

Course Webpage of COMP737011 Memory Safety and Programming Language Design @ Fudan University

Primary LanguageC

Memory Safety and Programming Language Design

This is the course web page of COMP737011 Memory Safety and Programming Language Design for postgraduate students at Fudan University. The course will first go through the Foundations of Memory Safety Problem; then we will teach the Rust Programming Language by focusing on its special design for memory-safety protection; finally we will share some advanced topics useful for mitigating memory-safety issues.

Lecture Notes

Part1: Foundations of Memory Safety

Schedule Topic Materials
Week1 Course Introduction, Stack Smashing slides1, slides2, notes
Week2 Allocator Design slides, notes, code
Week3 Heap Attack slides, notes
Week4 Memory Exhaustion slides, notes, code
Week5 Auto Reclaim slides, notes
Week6 Concurrency slides, notes
Week7 No Class

Part2: Rust Programming Language

Schedule Topic Materials
Week8 Rust Ownership-based Resource Management slides, notes
Week9 Rust Type System slides, notes
Week10 Rust Concurrency slides, notes
Week11 Guest Lecture by Handong Zhang
Week12 Rust Bugs, More Features slides1, slides2
Week13 Rust Compiler and Enhancement slides
Week14 Memory Management of Other Languages (Zig, Go, Python)

Reading List

Empirical

Application

Static Analysis

Testing, Dynamic Analysis

Formal Method

Isolation

Other Language