Fun with Code, Tests, and Verification

  • Rustan Leino

Caltech, Pasadena, CA |

Published by Microsoft Research

Software engineering research

  • Goal
    • Better build, maintain, and understand programs
  • How do we do it?
    • Specifications
    • Tools, tools, tools
      • Program semantics
      • Verification-condition generation, symbolic execution, model checking, abstract interpretation, fuzzing, test generation
      • Satisfiability Modulo Theories (SMT)