github.com/JHU-PL-Lab/ddpa ↗
An implementation of DDPA, a higher-order demand-driven program analysis.
An animated visualization of JHU-PL-Lab/ddpa's Git history from June 2015 to July 2019, built by 5 contributors. The codebase reached 3,941 lines, mostly Scheme. The video runs 1 minute 15 seconds.
Render your own repo
Turn any GitHub repository into a video like this — free sample in seconds.
Open this visualization on its own page →
Language
Scheme
Contributors
5
Lines of Code
3,941
From
2015-06-15
To
2019-07-23
Advertisement
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.
Advertisement