Upgrade Phasar to version 1.1

Next week we will release a major update that includes various bug fixes, faster compiles, heavy performance optimizations and novel features. To take just one small example, we were able to reduce the overall runtime of a complete analysis run on clang from several hours to several minutes.

Material for PLDI’18 tutorial now available

We have prepared the material for our tutorial givenĀ @PLDI 2018. If you participate in the tutorial, we kindly ask you to install Phasar on your machine before the tutorial, so we can get right into working with it from the start in order to maximize your learning experience. As many C++ projects Phasar does have a considerable compile time and we would like you to be productive from the very beginning and not to wait for the compiler to be done. Also some of our provided pre-packaged options for the tutorial are quite large, so we would like you to download and install your preferred option ahead of time.

There are three options to work with Phasar during the tutorial:
1. Using a VirtualBox VM
2. Using a Docker container
3. With a cloned copy of the source code

Please have a detailed look at phasar.org/tutorial and phasar.org/download.

We are looking forward to an interesting tutorial with you.

Phasar @PLDI 2018

We will present the Phasar framework at the PLDI 2018 conference held in Philadelphia, Pennsylvania, United States.

We have implemented Phasar, a novel static-analysis framework on top of LLVM. Phasar provides various solvers that allow the solving of arbitrary monotone data-flow problems (distributive or not) in a fully automated manner. A user just has to provide the specific description of the problem to solve.

Phasar’s solver supports a context and flow-sensitive analysis, which is notoriously hard to scale.
Also, the C and C++ programming languages make it especially hard to statically analyze. This is due to their deliberately unsafe type system, function pointers and in case of C++ virtual dispatch and other powerful language constructs.
We will explain how Phasar uses summaries, tabulation and a compositional analysis approach to nevertheless scale to actual applications with millions of lines of code.

We will give an introduction to the framework, explain its relationship to LLVM, its architecture, and give hands-on examples of how to implement useful example analyses with Phasar. For the examples we will focus on security applications.

Before the tutorial, we will release Phasar as a well documented open-source project on Github.