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 条
  • [41] Static source code metrics and static analysis warnings for fine-grained just-in-time defect prediction
    Trautsch, Alexander
    Herbold, Steffen
    Grabowski, Jens
    2020 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2020), 2020, : 127 - 138
  • [42] Temporal convolutional networks for just-in-time design smells prediction using fine-grained software metrics
    Ardimento, Pasquale
    Aversano, Lerina
    Bernardi, Mario Luca
    Cimitile, Marta
    Iammarino, Martina
    NEUROCOMPUTING, 2021, 463 : 454 - 471
  • [43] LSTM Soft Sensor Development of Batch Processes With Multivariate Trajectory-Based Ensemble Just-in-Time Learning
    Shen, Feifan
    Zheng, Jiaqi
    Ye, Lingjian
    Ma, Xiushui
    IEEE ACCESS, 2020, 8 : 73855 - 73864
  • [44] Effort-Aware Just-in-Time Defect Prediction: Simple Unsupervised Models Could Be Better Than Supervised Models
    Yang, Yibiao
    Zhou, Yuming
    Liu, Jinping
    Zhao, Yangyang
    Lu, Hongmin
    Xu, Lei
    Xu, Baowen
    Leung, Hareton
    FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 157 - 168
  • [45] DME: An Adaptive and Just-in-Time Weighted Ensemble Learning Method for Classifying Block-Based Concept Drift Steam
    Feng, Baoquan
    Gu, Yan
    Yu, Hualong
    Yang, Xibei
    Gao, Shang
    IEEE ACCESS, 2022, 10 : 120578 - 120591
  • [46] Full condition monitoring of geological drilling process based on just-in-time learning-aided slow feature analysis
    Yang, Aoxue
    Wu, Min
    Lu, Chengda
    Hu, Jie
    Nakanishi, Yosuke
    JOURNAL OF PROCESS CONTROL, 2024, 142
  • [47] Supervised local and non-local structure preserving projections with application to just-in-time learning for adaptive soft sensor
    Shao, Weiming
    Tian, Xuemin
    Wang, Ping
    CHINESE JOURNAL OF CHEMICAL ENGINEERING, 2015, 23 (12) : 1925 - 1934
  • [48] Modeling and Optimization of the Cement Calcination Process for Reducing NOx Emission Using an Improved Just-In-Time Gaussian Mixture Regression
    Zheng, Jinquan
    Du, Wenli
    Lang, Ziqiang
    Qian, Feng
    INDUSTRIAL & ENGINEERING CHEMISTRY RESEARCH, 2020, 59 (11) : 4987 - 4999
  • [49] A Just-in-Time Fine-Tuning Framework for Deep Learning of SAE in Adaptive Data-Driven Modeling of Time-Varying Industrial Processes
    Wu, Yijun
    Liu, Diju
    Yuan, Xiaofeng
    Wang, Yalin
    IEEE SENSORS JOURNAL, 2021, 21 (03) : 3497 - 3505
  • [50] Development of Soft Sensor Based on Sequential Kernel Fuzzy Partitioning and Just-in-Time Relevance Vector Machine for Multiphase Batch Processes
    Wang, Jianlin
    Qiu, Kepeng
    Wang, Rutong
    Zhou, Xinjie
    Guo, Yongqi
    IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, 2021, 70