Magnus
Madsen
Aalborg
University,
Denmark
Most software contains bugs, unintended behavior that causes the program to misbehave or crash. Developers wish to avoid bugs, but are easily led astray by the complexity of modern programming languages. How can we help them? A possible solution is to develop program analysis techniques that can automatically reason about the behavior of programs and pinpoint potential problems.
In this talk, I will present two pieces of work in the area of program analysis. The first work is a practical tool for finding, isolating, and debugging bugs in deployed JavaScript web applications. The key idea is the incremental, crowd-sourced construction of a so-called crash path, which is a sequence of instructions from an object allocation to a crash. The second work is a framework for declarative specification of static analyses based on logic programming. The central theme is to separate the abstract semantics from the fixed-point computation. This has two benefits: the abstract semantics can more closely resemble the concrete semantics, and new and more efficient fixed-point solvers can be developed independently of any client analysis.
Bio: Magnus Madsen is an assistant professor at Aalborg University in Denmark. His research interests are in programming languages, specifically in static and dynamic program analysis, language design, compilers, and web programming. Before Aalborg, Magnus was a post-doc at the University of Waterloo. Magnus received his PhD from Aarhus University in 2015. He has worked as a research intern at Samsung Research America and Microsoft Research.