University of Cambridge > > Microsoft Research Cambridge, public talks > Solving Second-Order Constraints with Program Synthesis

Solving Second-Order Constraints with Program Synthesis

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Microsoft Research Cambridge Talks Admins.

This event may be recorded and made available internally or externally via Microsoft will own the copyright of any recordings made. If you do not wish to have your image/voice recorded please consider this before attending

In this talk I’ll summarise my work on expressing and solving program analysis problems as second-order satisfiability with an emphasis on the solving part. I’ll start by introducing a decidable fragment of second-order logic that is expressive enough to capture numerous program analysis problems (e.g. safety proving, bug finding, termination and non-termination proving, superoptimisation, complexity analysis). Subsequently, I will describe the solver we have built for this fragment, which is based on program synthesis. In particular, we rely on the synthesis of finite state programs, which we showed to be NEXPTIME -complete. Our synthesiser is an instance of the Counterexample Guided Inductive Synthesis (CEGIS) framework and can be used to synthesise C programs from a specification written in a subset of C. For this purpose it makes use of explicit proof search, symbolic bounded model checking and genetic programming. I’ll conclude with some experimental results.

This talk is part of the Microsoft Research Cambridge, public talks series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.


© 2006-2022, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity