raviteja5 edited this page Jan 17, 2016 · 6 revisions

Organization of this Guide

Petablox is a program analysis platform that is both stand-alone, in that it provides many standard analyses for users to run, and extensible, in that it allows users to write and run their own analyses, possibly atop the provided analyses. As a result, Petablox has two kinds of users: end-users, who only wish to run predefined analyses, and developers, who additionally wish to write and run their own analyses.

For convenience, this user guide consists of two parts: a guide for end-users and a guide for developers. Unlike end-users, developers need to understand Petablox's source code and API, and code written by them is executed as part of a Petablox run. Hence, the guide for end-users concerns how to run Petablox, and the guide for developers concerns how to extend Petablox.


Petablox would not be possible without the following open-source software:

  • Soot, a Java compiler framework
  • Javassist, a Java bytecode manipulation framework
  • bddbddb, a BDD-based Datalog solver

Petablox additionally relies on the following open-source tools and libraries: