AVM 2012 - Keynote Speakers

Picture of Tom Henzinger Tom Henzinger gave the keynote on Monday morning (May 21).

New Trends in Program Synthesis

Abstract: Program synthesis has seen a revival in recent years, based on two trends. First, partial program synthesis shifts the emphasis from the problem of synthesizing programs from specifications to the problem of completing a partial program so that it satisfies a desired property. Second, quantitative program synthesis aims to find a solution that optimizes a given criterion. Put together, quantitative partial program synthesis carries the hope of replacing certain aspects of manual programming by automatic procedures. We survey some recent results in this direction.

Picture of Javier Esparza Javier Esparza gave the keynote on Tuesday morning (May 22).

A Perfect Model for Bounded Verification

Abstract: A class of languages C is perfect if it is closed under Boolean operations and the emptiness problem is decidable. Perfect language classes are the basis for the automata-theoretic approach to model checking: a system is correct if the language generated by the system is disjoint from the language of bad traces. Regular languages are perfect, but because the disjointness problem for CFLs is undecidable, no class containing the CFLs can be perfect. In practice, verification problems for language classes that are not perfect are often under-approximated by checking if the property holds for all behaviors of the system belonging to a fixed subset. A general way to specify a subset of behaviors is by using bounded languages (languages of the form w1* ... wk* for fixed words w1,...,wk). A class of languages C is perfect modulo bounded languages if it is closed under Boolean operations relative to every bounded language, and if the emptiness problem is decidable relative to every bounded language. We consider finding perfect classes of languages modulo bounded languages. We show that the class of languages accepted by multi-head pushdown automata are perfect modulo bounded languages, and characterize the complexities of decision problems. We show that computations of several known models of systems, such as recursive multi-threaded programs, recursive counter machines, and communicating finite-state machines can be encoded as multi-head pushdown automata, giving uniform and optimal underapproximation algorithms modulo bounded languages. [Joint work with Pierre Ganty and Rupak Majumdar.]