JHU-PL-Lab/ddpa

Created Jan 14, 2021 · View the JHU-PL-Lab/ddpa repository page

An implementation of DDPA, a higher-order demand-driven program analysis.

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

5

Lines of Code

3,941

From

Jun 15, 2015

To

Jul 23, 2019

About JHU-PL-Lab/ddpa

Odefa is an implementation of DDPA (Demand-Driven Program Analysis), a higher-order program analysis technique developed by researchers at Johns Hopkins University and Swarthmore College. The project provides a framework for analyzing programs through demand-driven analysis, which computes only the information needed to answer specific queries rather than analyzing entire programs upfront.

The implementation is written in OCaml and includes a toploop interface for interactive analysis of programs. Users can analyze sample programs located in the test-sources directory and configure various analysis parameters, such as enabling verbose logging or adjusting the context stack level for monovariant versus polyvariant analysis modes. The system also includes an optional inconsistency checker that validates program correctness by ensuring type constraints are satisfied, such as verifying that only functions appear in operator positions and only records in projection subjects.

The project includes comprehensive benchmarking capabilities through integration with Racket and the P4F prototype system, allowing researchers to measure analysis performance and compare results. The codebase is designed with modularity in mind, depending on independently developed libraries like jhupllib and pds-reachability that are meant to be reusable across other projects. Developers can set up local development environments by pinning these dependencies for coordinated development.

Share this video

More from JHU-PL-Lab

See all →