Write a Blog >>
ESEC/FSE 2021
Thu 19 - Sat 28 August 2021 Clowdr Platform

TODO comments are very widely used by software developers to describe their pending tasks during software development. However, after performing the task developers sometimes neglect or simply forget to remove the TODO comment, resulting in obsolete TODO comments. These obsolete TODO comments can confuse development teams and may cause the introduction of bugs in the future, decreasing the software's quality and maintainability. Manually identifying obsolete TODO comments is time-consuming and expensive. It is thus necessary to detect obsolete TODO comments and remove them automatically before they cause any unwanted side effects. In this work, we propose a novel model, named TDCleaner, to identify obsolete TODO comments in software projects. TDCleaner can assist developers in just-in-time checking of TODO comments status and avoid leaving obsolete TODO comments. Our approach has two main stages: offline learning and online prediction. During offline learning, we first automatically establish <code_change, todo_comment, commit_msg> training samples and leverage three neural encoders to capture the semantic features of TODO comment, code change and commit message respectively. TDCleaner then automatically learns the correlations and interactions between different encoders to estimate the final status of the TODO comment. For online prediction, we check a TODO comment's status by leveraging the offline trained model to judge the TODO comment's likelihood of being obsolete.
We built our dataset by collecting TODO comments from the top-10,000 Python and Java Github repositories and evaluated TDCleaner on them. Extensive experimental results show the promising performance of our model over a set of benchmarks. We also performed an in-the-wild evaluation with real-world software projects, we reported 18 obsolete TODO comments identified by TDCleaner to Github developers and 9 of them have already been confirmed and removed by the developers, demonstrating the practical usage of our approach.

Wed 25 Aug

Displayed time zone: Athens change

08:00 - 09:00
Analytics & Software Evolution—Code RecommendationJournal First / Research Papers +12h
Chair(s): Davide Di Ruscio University of L'Aquila, Saikat Chakraborty Columbia University
08:00
10m
Paper
Cross-Language Code Search using Static and Dynamic AnalysesArtifacts Available
Research Papers
George Mathew North Carolina State University, Kathryn Stolee North Carolina State University
DOI
08:10
10m
Paper
Automating the Removal of Obsolete TODO Comments
Research Papers
Zhipeng Gao Monash University, Xin Xia Huawei Technologies, David Lo Singapore Management University, John Grundy Monash University, Thomas Zimmermann Microsoft Research
DOI
08:20
10m
Paper
Generating Question Titles for Stack Overflow from Mined Code Snippets
Journal First
Zhipeng Gao Monash University, Xin Xia Huawei Technologies, John Grundy Monash University, David Lo Singapore Management University, Yuan-Fang Li Monash University
08:30
30m
Live Q&A
Q&A (Analytics & Software Evolution—Code Recommendation)
Research Papers

20:00 - 21:00
Analytics & Software Evolution—Code RecommendationResearch Papers / Journal First
Chair(s): Davide Di Ruscio University of L'Aquila, Saikat Chakraborty Columbia University
20:00
10m
Paper
Cross-Language Code Search using Static and Dynamic AnalysesArtifacts Available
Research Papers
George Mathew North Carolina State University, Kathryn Stolee North Carolina State University
DOI
20:10
10m
Paper
Automating the Removal of Obsolete TODO Comments
Research Papers
Zhipeng Gao Monash University, Xin Xia Huawei Technologies, David Lo Singapore Management University, John Grundy Monash University, Thomas Zimmermann Microsoft Research
DOI
20:20
10m
Paper
Generating Question Titles for Stack Overflow from Mined Code Snippets
Journal First
Zhipeng Gao Monash University, Xin Xia Huawei Technologies, John Grundy Monash University, David Lo Singapore Management University, Yuan-Fang Li Monash University
20:30
30m
Live Q&A
Q&A (Analytics & Software Evolution—Code Recommendation)
Research Papers