Static Program Analysis (2024)
Seasons and episodes
-
1 - 1Course Introduction April 03, 2024
-
1 - 2Intermediate Representation April 10, 2024
-
1 - 3Data Flow Analysis - Applications I April 17, 2024
-
1 - 4Data Flow Analysis - Applications II April 24, 2024
-
1 - 5Data Flow Analysis - Foundations I May 01, 2024
-
1 - 6Data Flow Analysis - Foundations II May 08, 2024
-
1 - 7Interprocedural Analysis May 15, 2024
-
1 - 8Pointer Analysis May 22, 2024
-
1 - 9Pointer Analysis - Foundations I May 29, 2024
-
1 - 10Pointer Analysis - Foundations II June 05, 2024
-
1 - 11Pointer Analysis - Context Sensitivity I June 12, 2024
-
1 - 12Pointer Analysis - Context Sensitivity II June 19, 2024
-
1 - 13Static Analysis for Security June 26, 2024
-
1 - 14Datalog-Based Program Analysis July 03, 2024
-
1 - 15CFL-Reachability and IFDS July 10, 2024
-
1 - 16Soundness and Soundiness July 17, 2024
Overview
Software Analysis or Static Program Analysis is a course of Nanjing University developed by Tian Tan and Yue Li in Spring 2020. In this course, we will learn about static program analysis, a useful technique for improving the reliability, security and performance of software, and it becomes increasingly impactful in industries nowadays. The course covers two parts: theory and practice. In theory, various materials will be introduced: from the foundations of classical data-flow and pointer analyses to some advanced topics such as security analysis and soundiness. In practice, a brand new static program analysis framework called Tai-e was designed, on top of which we'll implement a series of assignments including live variable analysis, constant propagation, dead code detection, CHA call graph construction, context-insensitive and context-sensitive pointer analyses, and taint analysis.