Tue 19 Jun 2018 11:00 - 12:15 at Admiral's Quarters - Static Analysis for C++ with Phasar
Tue 19 Jun 2018 14:00 - 15:40 at Admiral's Quarters - Static Analysis for C++ with Phasar
Tue 19 Jun 2018 16:10 - 17:35 at Admiral's Quarters - Static Analysis for C++ with Phasar
In this tutorial we present Phasar, a novel LLVM-based static analysis framework. Phasar provides various solvers that allow the solving of arbitrary monotone data-flow problems in a fully automated manner. The user just has to provide the specific description of the problem to solve.
First, we will briefly introduce the LLVM compiler infrastructure as well as the necessary theory on data-flow analysis and how to solve data-flow problems efficiently.
Then, we combine both and present the Phasar framework that implements these concepts in C++ using LLVM. We will describe the modular structure of Phasar and how it can be used to either write novel static analysis module or to write stand-alone applications on top of it. We show the ease of using Phasar by providing hands-on exercises: Within this tutorial we will develop our own small alias-aware, flow-, context-, and field-sensitive taint-analysis that we encode with the help of Phasar and solve with Phasar’s basic implementation of the IFDS algorithm.
In the last part of the tutorial, we will discuss open challenges in the analysis of real-world C/C++ applications concerning theory as well as implementation. We will also discuss Phasar’s current limitations, new ideas and future directions of the framework. Phasar is open source and in the long term we hope also for contributions by participants!
The material for the tutorial, including a readily set-up virtual machine containing all necessary parts for the tutorial and a link to Phasar’s Github page, will be made available in time at: http://phasar.org/
Tue 19 Jun
|09:00 - 10:30|
|11:00 - 12:15|
|14:00 - 15:40|
|16:10 - 17:35|