Learning Semantic Program Embeddings with Graph Interval Neural Network
summary
Paper presents Graph Interval Neural Network that learns program embeddings by iteratively abstracting control flow graphs into interval-based abstraction (merge loop intervals, run GNN message passing, then split back). Implementation uses gated GNN base, compares to RNN-sandwich and sequence GNN on ETH py150 and JavaSmall. Shows higher accuracy on variable-misuse, method-name, and null-dereference tasks and better scalability as graph size grows. Real-world run flags 102 alarms and finds 38 bugs/102 alarms versus Facebook Infer’s 34/129, with 11 fixes and 12 confirmations.
AI-written summary · about
chapters (14)
- 0:00Intro
- 0:25Goal
- 0:51Related Work
- 1:26Weakness of Prior Works
- 2:19Insight
- 2:47Methodology
- 3:26Interval
- 4:00Learning from Program Abstractions
- 7:13Advantages
- 7:56Evaluation
- 8:06Variable Misuse Prediction
- 8:50Method Name Prediction
- 9:13NPE Detection
- 10:04Conclusion
related talks
16mPreview: Graph NNs
39mUsing Graph Neural Networks to Embrace the Dependency Within Your Data
29mGraph Neural Networks + LLM on
21mScaling Abstraction Refinement for Program Analyses in Datalog Using Graph Neural(…)
18mActive Learning for Neurosymbolic Program Synthesis
19mNeuGraph: Parallel Deep Neural Network Computation on Large Graphs
18mEvaluating the effectiveness of Deep Learning Models for Foundational Program Analysis(…)
36mAmazing things that happen with Human-AI synergy
