A Matter of Representation: Towards Graph-Based Abstract Code Generation
This work addresses the need for generating abstract code in visual programming languages or when raw source code is inaccessible, representing an incremental step in representation learning for this domain.
The paper tackled the problem of graph-based abstract code generation, which is under-explored compared to sequential code generation, and found that large language models can perform this task in a single pass with high accuracy using appropriate JSON representations, with different representations leading to significantly different accuracies.
Most large language models (LLMs) today excel at generating raw, sequential code with minimal abstractions and custom structures. However, there has been little work on graph-based abstract code generation, where significant logic is encapsulated in predefined nodes and execution flow is determined by edges. This is relevant for visual programming languages, and in cases where raw source code is inaccessible to users and LLM training sets. In this work, we propose and evaluate JSON representations for graphs to enable high accuracy graph-based abstract code generation. We evaluate these representations on ScratchTest, a mini-benchmark based on our custom Python re-implementation of Scratch, which tests the LLM in code graph space. Our findings demonstrate that LLMs can indeed perform the aforementioned generation task in a single pass without relying on specialized or complex pipelines, given the correct graph representations. We also show that different representations induce significantly different accuracies, highlighting the instrumental role of representations in this generation task. All in all, this work establishes the first steps towards representation learning for graph-based abstract code generation.