Computing That Serves

Static analysis of modern-software systems: Taming control-flow


Thursday, September 10, 2009 - 12:00pm


Matt Might
Assistant Professor in the School of Computing
University of Utah

Computing stands at an inflection point.  Moore's law effectively ended in 2004; computer programs stopped doubling in performance. Software vulnerabilities are rising exponentially; exploits for those vulnerabilities are rising in tandem.  The number of cores on processors now doubles every 18 months; the number of cores sitting idle now doubles as well.  Software is ubiquitous; bug-free software is not.

Quickly fading is an area where "compile-and-test" software construction techniques were permissible.  On the horizon is a time when software will require the reliability afforded by classical engineering disciplines.  Predictive models are the foundation of classical engineering.  Without the ability to predict (or bound) the behavior of a system, a system cannot be engineered.  Yet, according to Turing's halting problem, software is inherently unpredictable---no algorithm can model the behavior of all programs precisely.

Fortunately, Turing's halting problem holds only in the limit. Algorithms that reason about modern software systems with "good enough" precision are within reach.  The first half of this talk will cover the basic techniques used to solve the foundational challenge in statically analyzing modern software systems: taming the higher-order control-flow inherent in functional and object-oriented languages.

The second half of the talk will review and preview extensions to these techniques that are steadily turning performance, parallelism, security and correctness into engineerable concerns for modern software.


Matt Might is an assistant professor in the School of Computing at the University of Utah, where he leads the U Combinator program analysis research group.  His primary research interest is static analysis of higher-order programs with applications to performance, parallelism, security and correctness.  Dr. Might's other interests include language design, compiler architecture and functional programming.  He received his Ph.D. in Computer Science from Georgia Tech in 2007.