Just-In-Time TODO-Missed Commits Detection

被引:0
|
作者
Wang, Haoye [1 ]
Gao, Zhipeng [2 ]
Hu, Xing [3 ]
Lo, David [5 ]
Grundy, John
Wang, Xinyu [3 ,4 ]
机构
[1] Hangzhou City Univ, Hangzhou 310015, Peoples R China
[2] Zhejiang Univ, Shanghai Inst Adv Study, Shanghai 201210, Peoples R China
[3] Zhejiang Univ, Sch Technol, Hangzhou 310058, Peoples R China
[4] Zhejiang Univ, Coll Comp Sci & Technol, Hangzhou 188065, Peoples R China
[5] Singapore Management Univ, Comp Sci, Singapore, 3800, Singapore
基金
中国国家自然科学基金; 新加坡国家研究基金会;
关键词
Codes; Task analysis; Training; !text type='Python']Python[!/text; Stars; Software quality; Software development management; Technical debt; TODO comment; code-comment inconsistency; suboptimal implementation; PREDICTION;
D O I
10.1109/TSE.2024.3405005
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
TODO comments play an important role in helping developers to manage their tasks and communicate with other team members. TODO comments are often introduced by developers as a type of technical debt, such as a reminder to add/remove features or a request to optimize the code implementations. These can all be considered as notifications for developers to revisit regarding the current suboptimal solutions. TODO comments often bring short-term benefits - higher productivity or shorter development cost - and indicate attention needs to be paid for the long-term software quality. Unfortunately, due to their lack of knowledge or experience and/or the time constraints, developers sometimes may forget or even not be aware of suboptimal implementations. The loss of the TODO comments for these suboptimal solutions may hurt the software quality and reliability in the long-term. Therefore it is beneficial to remind the developers of the suboptimal solutions whenever they change the code. In this work, we refer this problem to the task of detecting TODO-missed commits, and we propose a novel approach named TDReminder (TODO comment Reminder) to address the task. With the help of TDReminder, developers can identify possible missing TODO commits just-in-time when submitting a commit. Our approach has two phases: offline training and online inference. We first embed code change and commit message into contextual vector representations using two neural encoders respectively. The association between these representations is learned by our model automatically. In the online inference phase, TDReminder leverages the trained model to compute the likelihood of a commit being a TODO-missed commit. We evaluate TDReminder on datasets crawled from 10k popular Python and Java repositories in GitHub respectively. Our experimental results show that TDReminder outperforms a set of benchmarks by a large margin in TODO-missed commits detection. Moreover, to better help developers use TDReminder in practice, we have incorporated Large Language Models (LLMs) with our approach to provide explainable recommendations. The user study shows that our tool can effectively inform developers not only "when" to add TODOs, but also "where" and "what" TODOs should be added, verifying the value of our tool in practical application.
引用
收藏
页码:2732 / 2752
页数:21
相关论文
共 50 条
  • [21] Just-in-time software defect prediction using deep temporal convolutional networks
    Pasquale Ardimento
    Lerina Aversano
    Mario Luca Bernardi
    Marta Cimitile
    Martina Iammarino
    Neural Computing and Applications, 2022, 34 : 3981 - 4001
  • [22] Impact of "just-in-time" simulation training for COVID-19 pandemic preparedness
    Ngiam, Nicola
    Fu, Kristy X.
    Ong, Jacqueline S. M.
    ASIA PACIFIC SCHOLAR, 2022, 7 (02): : 17 - 26
  • [23] Improved conditional Gaussian regression soft sensor based on just-in-time learning
    Li H.
    Wang Z.
    Wang X.
    Huagong Xuebao/CIESC Journal, 2024, 75 (06): : 2299 - 2312
  • [24] Just-in-Time, Just-in-Place Virtual Training in the Pediatric Emergency Department: A Novel Approach to Impact the Perfusion Exam
    Shah, Ashish S.
    Sobolewski, Brad
    Chon, Sabina
    Cruse, Bradly
    Glisson, Mike
    Zackoff, Matthew W.
    Davis, David
    Zhang, Yin
    Schumacher, Daniel J.
    Geis, Gary L.
    ADVANCES IN MEDICAL EDUCATION AND PRACTICE, 2023, 14 : 901 - 911
  • [25] Effort-Aware Just-in-Time Defect Identification in Practice: A Case Study at Alibaba
    Yan, Meng
    Xia, Xin
    Fan, Yuanrui
    Lo, David
    Hassan, Ahmed E.
    Zhang, Xindong
    PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20), 2020, : 1308 - 1319
  • [26] A compositional model for effort-aware Just-In-Time defect prediction on android apps
    Zhao, Kunsong
    Xu, Zhou
    Yan, Meng
    Xue, Lei
    Li, Wei
    Catolino, Gemma
    IET SOFTWARE, 2022, 16 (03) : 259 - 278
  • [27] Transfer Learning for Just-in-Time Design Smells Prediction using Temporal Convolutional Networks
    Ardimento, Pasquale
    Aversano, Lerina
    Bernardi, Mario Luca
    Cimitile, Marta
    Iammarino, Martina
    PROCEEDINGS OF THE 16TH INTERNATIONAL CONFERENCE ON SOFTWARE TECHNOLOGIES (ICSOFT), 2021, : 310 - 317
  • [28] Using deep temporal convolutional networks to just-in-time forecast technical debt principal
    Ardimento, Pasquale
    Aversano, Lerina
    Bernardi, Mario Luca
    Cimitile, Marta
    Iammarino, Martina
    JOURNAL OF SYSTEMS AND SOFTWARE, 2022, 194
  • [29] Code churn: A neglected metric in effort-aware just-in-time defect prediction
    Liu, Jinping
    Zhou, Yuming
    Yang, Yibiao
    Lu, Hongmin
    Xu, Baowen
    11TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2017), 2017, : 11 - 19
  • [30] Prediction of Pr/Nd component content based on improved just-in-time learning algorithm
    Lu R.-X.
    Rao Y.-C.
    Yang H.
    Zhu J.-Y.
    Yang G.
    Kongzhi Lilun Yu Yingyong/Control Theory and Applications, 2020, 37 (08): : 1846 - 1854