Publication Type
Conference Proceeding Article
Version
acceptedVersion
Publication Date
4-2024
Abstract
With the exponential growth of AI tools that generate source code, understanding software has become crucial. When developers comprehend a program, they may refer to additional contexts to look for information, e.g. program documentation or historical code versions. Therefore, we argue that encoding this additional contextual information could also benefit code representation for deep learning. Recent papers incorporate contextual data (e.g. call hierarchy) into vector representation to address program comprehension problems. This motivates further studies to explore additional contexts, such as version history, to enhance models' understanding of programs. That is, insights from version history enable recognition of patterns in code evolution over time, recurring issues, and the effectiveness of past solutions. Our paper presents preliminary evidence of the potential benefit of encoding contextual information from the version history to predict code clones and perform code classification. We experiment with two representative deep learning models, ASTNN and CodeBERT, to investigate whether combining additional contexts with different aggregations may benefit downstream activities. The experimental result affirms the positive impact of combining version history into source code representation in all scenarios; however, to ensure the technique performs consistently, we need to conduct a holistic investigation on a larger code base using different combinations of contexts, aggregation, and models. Therefore, we propose a research agenda aimed at exploring various aspects of encoding additional context to improve code representation and its optimal utilisation in specific situations.
Discipline
Programming Languages and Compilers | Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
Proceedings of the 21st International Conference on Mining Software Repositories, Lisbon, Portugal, 2024 April 15-16
First Page
1
Last Page
6
Publisher
ACM
City or Country
New York
Citation
NGUYEN, Huy; TREUDE, Christoph; and THONGTANUNAM, Patanamon.
Encoding version history context for better code representation. (2024). Proceedings of the 21st International Conference on Mining Software Repositories, Lisbon, Portugal, 2024 April 15-16. 1-6.
Available at: https://ink.library.smu.edu.sg/sis_research/8883
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.