SELGJul 30, 2022

Adding Context to Source Code Representations for Deep Learning

arXiv:2208.00203v10.258 citationsh-index: 41
AI Analysis50

This work addresses the need for more effective source code representations in deep learning for software engineering, though it is incremental as it builds on existing methods with added context.

The paper tackles the problem of improving deep learning models for software engineering tasks by incorporating contextual information beyond traditional code representations, showing preliminary evidence that adding call hierarchy context enhances performance on two tasks.

Deep learning models have been successfully applied to a variety of software engineering tasks, such as code classification, summarisation, and bug and vulnerability detection. In order to apply deep learning to these tasks, source code needs to be represented in a format that is suitable for input into the deep learning model. Most approaches to representing source code, such as tokens, abstract syntax trees (ASTs), data flow graphs (DFGs), and control flow graphs (CFGs) only focus on the code itself and do not take into account additional context that could be useful for deep learning models. In this paper, we argue that it is beneficial for deep learning models to have access to additional contextual information about the code being analysed. We present preliminary evidence that encoding context from the call hierarchy along with information from the code itself can improve the performance of a state-of-the-art deep learning model for two software engineering tasks. We outline our research agenda for adding further contextual information to source code representations for deep learning.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes