Enhancing Source Code Representations for Deep Learning with Static Analysis

被引:3
作者
Guan, Xueting [1 ]
Treude, Christoph [1 ]
机构
[1] Univ Melbourne, Sch Comp & Informat Syst, Melbourne, Australia
来源
PROCEEDINGS 2024 32ND IEEE/ACM INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, ICPC 2024 | 2024年
关键词
Source code representation; Deep learning; Static analysis; Bug reports; Design patterns;
D O I
10.1145/3643916.3644396
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Deep learning techniques applied to program analysis tasks such as code classification, summarization, and bug detection have seen widespread interest. Traditional approaches, however, treat programming source code as natural language text, which may neglect significant structural or semantic details. Additionally, most current methods of representing source code focus solely on the code, without considering beneficial additional context. This paper explores the integration of static analysis and additional context such as bug reports and design patterns into source code representations for deep learning models. We use the Abstract Syntax Tree-based Neural Network (ASTNN) method and augment it with additional context information obtained from bug reports and design patterns, creating an enriched source code representation that significantly enhances the performance of common software engineering tasks such as code classification and code clone detection. Utilizing existing open-source code data, our approach improves the representation and processing of source code, thereby improving task performance.
引用
收藏
页码:64 / 68
页数:5
相关论文
共 28 条
[1]  
Allamanis M., 2018, ICLR
[2]  
Allamanis M, 2013, IEEE WORK CONF MIN S, P207, DOI 10.1109/MSR.2013.6624029
[3]   code2vec: Learning Distributed Representations of Code [J].
Alon, Uri ;
Zilberstein, Meital ;
Levy, Omer ;
Yahav, Eran .
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (POPL)
[4]   Personalized Recommendations using Knowledge Graphs: A Probabilistic Logic Programming Approach [J].
Catherine, Rose ;
Cohen, William .
PROCEEDINGS OF THE 10TH ACM CONFERENCE ON RECOMMENDER SYSTEMS (RECSYS'16), 2016, :325-332
[5]  
Ciurumelea A, 2020, PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20), P456, DOI [10.1109/saner48275.2020.9054866, 10.1109/SANER48275.2020.9054866]
[6]   Utilizing Knowledge Graphs for Text-Centric Information Retrieval [J].
Dietz, Laura ;
Kotov, Alexander ;
Meij, Edgar .
ACM/SIGIR PROCEEDINGS 2018, 2018, :1387-1390
[7]  
Gamma E., 1995, DESIGN PATTERNS ELEM
[8]  
Hindle A, 2012, PROC INT CONF SOFTW, P837, DOI 10.1109/ICSE.2012.6227135
[9]   Implications of deep learning for the automation of design patterns organization [J].
Hussain, Shahid ;
Keung, Jacky ;
Khan, Arif Ali ;
Ahmad, Awais ;
Cuomo, Salvatore ;
Piccialli, Francesco ;
Jeon, Gwanggil ;
Akhunzada, Adnan .
JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2018, 117 :256-266
[10]   Machine Learning Based Recommendation of Method Names: How Far Are We [J].
Jiang, Lin ;
Liu, Hui ;
Jiang, He .
34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019), 2019, :614-626