Skip to main navigation Skip to search Skip to main content

基于软件历史仓库和抽象语法树的相似缺陷识别方法

Translated title of the contribution: Identification method of similar bugs based on historical software repository and abstract syntax tree
  • School of Computer Science and Technology, Harbin Institute of Technology
  • Harbin Huade University

Research output: Contribution to journalArticlepeer-review

Abstract

In the process of software development, software developers often search the historical software repository (HSR), and then copy/paste the code required to realize software reuse. Bugs and the fixing information of the reused codes are stored in the HSR, which can assist in dealing with the similar bugs. Therefore, a similar bug identification method based on HSR mining is proposed. Firstly, based on the analysis of the change log, the modules with known bugs are extracted from the HSR, then the bug module library is established. Then, the similarity code detection method based on abstract syntax tree (AST) is used to identify the similar code both in the software to be tested and the bug module library. With the help of the corresponding bug and the fix information stored in the HSR, the module that may contain potential bugs in the software to be tested is identified. At the same time, in order to improve the recognition accuracy of the similar codes, the code feature measurement based on AST is optimized. The experimental results on 18 C programs and 164 clone codes show that the proposed method can identify all the similar codes and its performance is better than the existing tools. The effect of code similarity on similar bug identification is verified on the manually built bug module library. Finally, an empirical study on 8 large real-world C projects is proceeded. The average bug recall rate is 94%, which, shows that mining HSR can effectively support bug understanding on circumstance of the similar codes spreading across projects.

Translated title of the contributionIdentification method of similar bugs based on historical software repository and abstract syntax tree
Original languageChinese (Traditional)
Pages (from-to)2399-2408
Number of pages10
JournalXi Tong Gong Cheng Yu Dian Zi Ji Shu/Systems Engineering and Electronics
Volume42
Issue number10
DOIs
StatePublished - 1 Oct 2020
Externally publishedYes

Fingerprint

Dive into the research topics of 'Identification method of similar bugs based on historical software repository and abstract syntax tree'. Together they form a unique fingerprint.

Cite this