Program Graphs for Code Analysis
Released v4.9 Development Public
dp2580 Updated 4 months ago
Description
Encode source code as program graphs capturing both syntactic and semantic structure, and use Gated Graph Neural Networks over those graphs to solve variable-centric reasoning tasks). Based on "Learning to Represent Programs with Graphs" (Allamanis, Brockschmidt, Khademi, 2018).
Quick Stats
Workflows
-
CSE
Collect and Compile Source
Scrape target repositories, filter to compilable projects, extract variable usage slots, and split the dataset by file boundary into train/validation/test …
-
BGS
Build Program Graphs
Transform compiled source code into program graphs by layering syntax edges, data flow edges, and semantic shortcut edges over the …
-
CRS
Compute Node Representations
Compute initial node state vectors by combining subtoken embeddings of identifier names with type hierarchy embeddings, producing graph-ready node features.
-
TGN
Train GGNN
Configure task-specific graph modifications, batch graphs as disconnected components, run 8-step GGNN propagation, and train with maximum likelihood.
-
EAE
Evaluate and Analyze
Evaluate on seen and unseen project test sets, compare against baselines, run ablation study on edge types and node labels, …
Metadata
- Category:
- Development
- Author:
- dp2580
- Created:
- 4 months ago
- Source:
- Owned
| Order | Abbrev. | Name | Description | Activities | Actions |
|---|---|---|---|---|---|
| 1 | CSE | Collect and Compile Source | Scrape target repositories, filter to compilable projects, extract variable usage … | 4 | |
| 2 | BGS | Build Program Graphs | Transform compiled source code into program graphs by layering syntax … | 4 | |
| 3 | CRS | Compute Node Representations | Compute initial node state vectors by combining subtoken embeddings of … | 3 | |
| 4 | TGN | Train GGNN | Configure task-specific graph modifications, batch graphs as disconnected components, run … | 4 | |
| 5 | EAE | Evaluate and Analyze | Evaluate on seen and unseen project test sets, compare against … | 4 |
Lifecycle Phases
Prepare a richly annotated program graph dataset ready for model training — from raw repositories through compiled projects, graph construction, …
Learn variable semantics by running Gated Graph Neural Networks over program graphs using task-specific graph modifications and maximum likelihood training.
Validate model performance against baselines and ablations, and demonstrate practical relevance through real-world bug discovery.
Agents
No agents in this playbook yet.
Version history
No captured versions yet.