How static program analysis can help trusting Python programs

Abstract

Python is an increasingly popular dynamic programming language, ranking as the most used programming language on GitHub. It is well-known for its powerful and permissive high-level syntax, which is enabled under the hood by a dynamic type system and complex rules driving its behavior. In this talk, we will explore at a high-level how automated program analysis can improve trust in Python programs, e.g by detecting which exceptions they can trigger, which libraries they can call, or which data they access. We will focus on a flavor of program analysis, called abstract interpretation, which has been invented by Radhia and Patrick Cousot in the late 1970s in Grenoble.

Date
03/04/25
Event
InCyber International CyberSecurity Forum
Location
Lille