Enhancing Bug-Inducing Commit Identification: A Fine-Grained Semantic Analysis Approach

被引:0
|
作者
Tang, Lingxiao [1 ,2 ]
Ni, Chao [1 ]
Huang, Qiao [3 ]
Bao, Lingfeng [1 ,2 ]
机构
[1] Zhejiang Univ, State Key Lab Blockchain & Data Secur, Hangzhou 310007, Peoples R China
[2] Hangzhou High Tech Zone Binjiang Blockchain & Data, Hangzhou 310052, Peoples R China
[3] Zhejiang Gongshang Univ, Sch Comp Sci & Technol, Hangzhou 310018, Peoples R China
基金
美国国家科学基金会;
关键词
Computer bugs; Noise; Software algorithms; Semantics; Reliability; Buildings; Process control; Nickel; Linux; Chaos; SZZ algorithm; data flow analysis; control flow analysis;
D O I
10.1109/TSE.2024.3468296
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The SZZ algorithm and its variants have been extensively utilized for identifying bug-inducing commits based on bug-fixing commits. However, these algorithms face challenges when there are no deletion lines in the bug-fixing commit. Previous studies have attempted to address this issue by tracing back all lines in the block that encapsulates the added lines. However, this method is too coarse-grained and suffers from low precision. To address this issue, we propose a novel method in this paper called Sem-SZZ, which is based on fine-grained semantic analysis. Initially, we observe that a significant number of bug-inducing commits can be identified by tracing back the unmodified lines near added lines, resulting in improved precision and F1-score. Building on this observation, we conduct a more fine-grained semantic analysis. We begin by performing program slicing to extract the program part near the added lines. Subsequently, we compare the program's states between the previous version and the current version, focusing on data flow and control flow differences based on the extracted program part. Finally, we extract statements contributing to the bug based on these differences and utilize them to locate bug-inducing commits. We also extend our approach to fit the scenario where the bug-fixing commits contain deleted lines. Experimental results demonstrate that Sem-SZZ outperforms the state-of-the-art methods in identifying bug-inducing commits, regardless of whether the bug-fixing commit contains deleted lines.
引用
收藏
页码:3037 / 3052
页数:16
相关论文
共 50 条
  • [1] Semantic-aware and Fine-grained App Review Bug Mining Approach
    Wang Y.-W.
    Wang J.-J.
    Shi L.
    Wang Q.
    Ruan Jian Xue Bao/Journal of Software, 2023, 34 (04): : 1613 - 1629
  • [2] Fine-grained Software Bug Location Approach at Method Level
    Zhang W.
    Li Z.-Q.
    Du Y.-H.
    Yang Y.
    Ruan Jian Xue Bao/Journal of Software, 2019, 30 (02): : 195 - 210
  • [3] A fine-grained study of inpatients who commit suicide
    Busch, KA
    Fawcett, J
    PSYCHIATRIC ANNALS, 2004, 34 (05) : 357 - 364
  • [4] From fine-grained to abstract process models: A semantic approach
    Smirnov, Sergey
    Reijers, Hajo A.
    Weske, Mathias
    INFORMATION SYSTEMS, 2012, 37 (08) : 784 - 797
  • [5] Fine-Grained Semantic Conceptualization of FrameNet
    Park, Jin-woo
    Hwang, Seung-won
    Wang, Haixun
    THIRTIETH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, 2016, : 2638 - 2644
  • [6] A fine-grained approach to scene text script identification
    Gomez, Lluis
    Karatzas, Dimosthenis
    PROCEEDINGS OF 12TH IAPR WORKSHOP ON DOCUMENT ANALYSIS SYSTEMS, (DAS 2016), 2016, : 192 - 197
  • [7] A fine-grained data set and analysis of tangling in bug fixing commits
    Steffen Herbold
    Alexander Trautsch
    Benjamin Ledel
    Alireza Aghamohammadi
    Taher A. Ghaleb
    Kuljit Kaur Chahal
    Tim Bossenmaier
    Bhaveet Nagaria
    Philip Makedonski
    Matin Nili Ahmadabadi
    Kristof Szabados
    Helge Spieker
    Matej Madeja
    Nathaniel Hoy
    Valentina Lenarduzzi
    Shangwen Wang
    Gema Rodríguez-Pérez
    Ricardo Colomo-Palacios
    Roberto Verdecchia
    Paramvir Singh
    Yihao Qin
    Debasish Chakroborti
    Willard Davis
    Vijay Walunj
    Hongjun Wu
    Diego Marcilio
    Omar Alam
    Abdullah Aldaeej
    Idan Amit
    Burak Turhan
    Simon Eismann
    Anna-Katharina Wickert
    Ivano Malavolta
    Matúš Sulír
    Fatemeh Fard
    Austin Z. Henley
    Stratos Kourtzanidis
    Eray Tuzun
    Christoph Treude
    Simin Maleki Shamasbi
    Ivan Pashchenko
    Marvin Wyrich
    James Davis
    Alexander Serebrenik
    Ella Albrecht
    Ethem Utku Aktas
    Daniel Strüber
    Johannes Erbel
    Empirical Software Engineering, 2022, 27
  • [8] A fine-grained data set and analysis of tangling in bug fixing commits
    Herbold, Steffen
    Trautsch, Alexander
    Ledel, Benjamin
    Aghamohammadi, Alireza
    Ghaleb, Taher A.
    Chahal, Kuljit Kaur
    Bossenmaier, Tim
    Nagaria, Bhaveet
    Makedonski, Philip
    Ahmadabadi, Matin Nili
    Szabados, Kristof
    Spieker, Helge
    Madeja, Matej
    Hoy, Nathaniel
    Lenarduzzi, Valentina
    Wang, Shangwen
    Rodriguez-Perez, Gema
    Colomo-Palacios, Ricardo
    Verdecchia, Roberto
    Singh, Paramvir
    Qin, Yihao
    Chakroborti, Debasish
    Davis, Willard
    Walunj, Vijay
    Wu, Hongjun
    Marcilio, Diego
    Alam, Omar
    Aldaeej, Abdullah
    Amit, Idan
    Turhan, Burak
    Eismann, Simon
    Wickert, Anna-Katharina
    Malavolta, Ivano
    Sulir, Matus
    Fard, Fatemeh
    Henley, Austin Z.
    Kourtzanidis, Stratos
    Tuzun, Eray
    Treude, Christoph
    Shamasbi, Simin Maleki
    Pashchenko, Ivan
    Wyrich, Marvin
    Davis, James
    Serebrenik, Alexander
    Albrecht, Ella
    Aktas, Ethem Utku
    Struber, Daniel
    Erbel, Johannes
    EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (06)
  • [9] Fine-grained Sentiment Semantic Analysis and Matching of Music and Image
    Su, Zhibin
    Peng, Ding
    Hui, Ren
    Zhang, Yunfang
    2022 IEEE 6TH ADVANCED INFORMATION TECHNOLOGY, ELECTRONIC AND AUTOMATION CONTROL CONFERENCE (IAEAC), 2022, : 1593 - 1597
  • [10] Fine-Grained Code-Comment Semantic Interaction Analysis
    Geng, Mingyang
    Wang, Shangwen
    Dong, Dezun
    Gu, Shanzhi
    Peng, Fang
    Ruan, Weijian
    Liao, Xiangke
    30TH IEEE/ACM INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2022), 2022, : 585 - 596