top band

Saturday 11:30 a.m.–noon

Learning from other's mistakes: Data-driven analysis of Python code

Andreas Dewes

Audience level:
Best Practices & Patterns


Static code analysis is an useful tool that can help to detect bugs early in the software development life cycle. I will explain the basics of static analysis and show the challenges we face when analyzing Python code. I will introduce a data-driven approach to code analysis that makes use of public code and example-based learning and show how it can be applied to analyzing Python code.


The goal of static code analysis is to generate useful insights from code without actually executing it. In the talk I will explain how tools for static analysis of Python code work and which challenges we face when analyzing code in such a highly dynamic scripting language. I will give an overview of currently available tools for static analysis and show some of their use cases and limitations. I will then explain how we can make use of publicly available source code and user-provided examples of code errors to improve the quality of our analysis results and learn to detect new types of errors.
bottom band background