# Learning Scalable and Precise Representation of Program Semantics

arXiv: https://arxiv.org/abs/1905.05251 · HTML: https://mlsanity.com/paper/1905.05251/

## Key facts

- Cited by 6 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 13 May 2019.

## Built on by (most cited first, 6 of 6)

- [Assemble Foundation Models for Automatic Code Summarization](https://mlsanity.com/paper/2201.05222/) (2022)
- [Blockchain Large Language Models](https://mlsanity.com/paper/2304.12749/) (2023)
- [Multi-View Graph Representation for Programming Language Processing: An Investigation into Algorithm Detection](https://mlsanity.com/paper/2202.12481/) (2022)
- [A Survey of Deep Learning Models for Structural Code Understanding](https://mlsanity.com/paper/2205.01293/) (2022)
- [ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Grounding](https://mlsanity.com/paper/2504.00019/) (2025)
- [Complexity-based code embeddings](https://mlsanity.com/paper/2601.00924/) (2026)

## Abstract (arXiv)

Neural program embedding has shown potential in aiding the analysis of large-scale, complicated software. Newly proposed deep neural architectures pride themselves on learning program semantics rather than superficial syntactic features. However, by considering the source code only, the vast majority of neural networks do not capture a deep, precise representation of program semantics. In this paper, we present dypro, a novel deep neural network that learns from program execution traces. Compared to the prior dynamic models, not only is dypro capable of generalizing across multiple executions for learning a program's dynamic semantics in its entirety, but dypro is also more efficient when dealing with programs yielding long execution traces. For evaluation, we task dypro with semantic classification (i.e. categorizing programs based on their semantics) and compared it against two prominent static models: Gated Graph Neural Network and TreeLSTM. We find that dypro achieves the highest prediction accuracy among all models. To further reveal the capacity of all aforementioned deep neural architectures, we examine if the models can learn to detect deeper semantic properties of a program. In particular given a task of recognizing loop invariants, we show dypro beats all static models by a wide margin.
