Program analysis provides essential techniques to automatically examine computer programs to understand and reason about their behavior with respect to certain properties, such as correctness, security, and performance.
Teaching material about static program analysis: https://cs.au.dk/~amoeller/spa/ - used at universities world-wide
Program analysis is widely used in optimizing compilers for producing efficient code but also for automatic error detection and other tools that can help programmers become more productive and improve the quality of their software.
Anders Alnor Mathiasen, Andreas Pavlogiannis
The Fine-Grained and Parallel Complexity of Andersen's Pointer Analysis (POPL’21)
Giovanna Kobus Conrado, Adam Husted Kjelstrøm, Jaco van de Pol, Andreas Pavlogiannis
Program Analysis via Multiple Context-Free Language Reachability (POPL 2025)
Benjamin Barslev Nielsen, Martin Toldam Torp, Anders Møller
Modular Call Graph Construction for Security Scanning of Node.js Applications (ISSTA’21)
Mathias Rud Laursen, Wenyuan Xu, Anders Møller
Reducing Static Analysis Unsoundness with Approximate Interpretation (PLDI’24)
Simon Holm Jensen, Anders Møller and Peter Thiemann
Type Analysis for JavaScript (SAS’09)
Aske Simon Christensen, Anders Møller, and Michael I. Schwartzbach
Precise Analysis of String Expressions (SAS’03)
Oskar Haarklou Veileborg, Georgian-Vlad Saioc, Anders Møller
Detecting Blocking Errors in Go Programs using Localized Abstract Interpretation (ASE’22)
Results from our research in program analysis are used in industry to improve software security -- https://www.coana.tech/company/about-us