计算机科学
软件错误
抽象语法树
利用
编码(集合论)
安全漏洞
源代码
树(集合论)
过程(计算)
人工智能
语法
程序设计语言
软件
操作系统
计算机安全
云计算
安全信息和事件管理
数学分析
数学
集合(抽象数据类型)
云安全计算
作者
Zhen Ni,Bin Li,Xiaobing Sun,Tianhao Chen,Ben Zhong Tang,Xinchen Shi
标识
DOI:10.1016/j.jss.2020.110538
摘要
During the bug fixing process, developers usually need to analyze the source code to induce the bug cause, which is useful for bug understanding and localization. The bug fixes of historical bugs usually reflects the bug causes when fixing them. This paper aims at exploiting the corresponding relationship between bug causes and bug fixes to automatically classify bugs into their cause categories. First, we define the code-related bug classification criterion from the perspective of the cause of bugs. Then, we propose a new model to exploit the knowledge in the bug fix by constructing fix trees from the diff source code at Abstract Syntax Tree (AST) level, and representing each fix tree based on the encoding method of Tree-based Convolutional Neural Network (TBCNN). Finally, the corresponding relationship between bug causes and bug fixes is analyzed by automatically classifying bugs into their cause categories. We collected 2000 real-world bugs from two open source projects Mozilla and Radare2 to evaluate our approach. The experimental results show the existence of observational correlation between the bug fix and the cause of the historical bugs, and the proposed fix tree can effectively express the characteristics of the historical bugs for bug cause classification.
科研通智能强力驱动
Strongly Powered by AbleSci AI