Mon 20 Jan 2020 10:30 - 12:30 at Muses - Building Program Reasoning Tools using LLVM and Z3 (II)
Program reasoning has important and wide-ranging applications in programming languages, such as type inference, static analysis, testing, verification, and synthesis. This tutorial will cover how to build program reasoning tools using two versatile, modern, and open-source systems: the LLVM compiler infrastructure and the Z3 constraint solver. These systems underlie state-of-the-art tools such as Clang Static Analyzer, the KLEE symbolic execution engine, and the SeaHorn verification framework.
This tutorial will introduce LLVM and Z3’s architecture and conduct three hands-on exercises. The exercises will target common applications in program reasoning that embody three distinctive use-cases: static dataflow analysis, dynamic symbolic execution, and assertion verification. The target audience for this tutorial is those who want hands-on experience with state-of-the-art tools and techniques employed in program reasoning. The tutorial presumes background in C++ programming and basic logical reasoning.
Mon 20 JanDisplayed time zone: Saskatchewan, Central America change
09:00 - 10:00 | |||
09:00 60mTutorial | [T1] Building Program Reasoning Tools using LLVM and Z3 TutorialFest Elizabeth Dinella University of Pennsylvania, Pardis Pashakhanloo University of Pennsylvania, Anthony Canino , Mayur Naik University of Pennsylvania Pre-print |
10:30 - 12:30 | |||
10:30 2hTutorial | [T1] Building Program Reasoning Tools using LLVM and Z3 TutorialFest Elizabeth Dinella University of Pennsylvania, Pardis Pashakhanloo University of Pennsylvania, Anthony Canino , Mayur Naik University of Pennsylvania Pre-print |