Software and systems traceability is essential for downstream tasks such as data-driven software analysis and intelligent tool development. However, despite the increasing attention to mining and understanding technical debt in software systems, specific tools for supporting the track of technical debts are rarely available. In this work, we propose the first programming language-independent tracking tool for self-admitted technical debt (SATD) -- a sub-optimal solution that is explicitly annotated by developers in software systems. Our approach takes a git repository as input and returns a list of SATDs with their evolution actions (created, deleted, updated) at the commit-level. Our approach also returns a line number indicating the latest starting position of the corresponding SATD in the system. Our SATD tracking approach first identifies an initial set of raw SATDs (which only have created and deleted actions) by detecting and tracking SATDs in commits' hunks, leveraging a state-of-the-art language-independent SATD detection approach. Then it calculates a context-based matching score between pairs of deleted and created raw SATDs in the same commits to identify SATD update actions. The results of our preliminary study on Apache Tomcat and Apache Ant show that our tracking tool can achieve a F1 score of 92.8% and 96.7% respectively.


翻译:软件和系统的可追溯性对于下游任务(例如数据驱动的软件分析和智能工具开发)至关重要。然而,尽管越来越多的关注被投入到挖掘和了解软件系统中的技术债务,但特定于支持技术债务追踪的工具很少可用。在本文中,我们提出了第一个编程语言无关的自认技术债务(SATD)追踪工具——一种由开发者在软件系统中明确标注的次优解决方案。我们的方法将git存储库作为输入,并返回SATD的列表,以及它们在提交级别上的演变操作(创建、删除、更新)。我们的方法还返回一个行号,表示对应SATD在系统中的最新起始位置。我们的SATD追踪方法首先通过在提交的代码片段中检测和追踪SATD,利用最先进的语言无关SATD检测方法,识别一个初始的原始SATD集合(只有创建和删除操作)。然后,在同一提交中计算被删除和创建的原始SATD对之间的基于上下文的匹配得分,以识别SATD的更新操作。我们在Apache Tomcat和Apache Ant上进行的初步研究结果表明,我们的追踪工具可以分别达到92.8%和96.7%的F1分数。

0
下载
关闭预览

相关内容

【MIT Sam Hopkins】如何读论文?How to Read a Paper
专知会员服务
108+阅读 · 2022年3月20日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
53+阅读 · 2019年9月29日
量化金融强化学习论文集合
专知
14+阅读 · 2019年12月18日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
基于PyTorch/TorchText的自然语言处理库
专知
28+阅读 · 2019年4月22日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
【推荐】用TensorFlow实现LSTM社交对话股市情感分析
机器学习研究会
11+阅读 · 2018年1月14日
上百份文字的检测与识别资源,包含数据集、code和paper
数据挖掘入门与实战
17+阅读 · 2017年12月7日
【推荐】图像分类必读开创性论文汇总
机器学习研究会
14+阅读 · 2017年8月15日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
Arxiv
10+阅读 · 2021年3月30日
Arxiv
16+阅读 · 2021年1月27日
VIP会员
相关VIP内容
【MIT Sam Hopkins】如何读论文?How to Read a Paper
专知会员服务
108+阅读 · 2022年3月20日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
53+阅读 · 2019年9月29日
相关资讯
量化金融强化学习论文集合
专知
14+阅读 · 2019年12月18日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
基于PyTorch/TorchText的自然语言处理库
专知
28+阅读 · 2019年4月22日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
【推荐】用TensorFlow实现LSTM社交对话股市情感分析
机器学习研究会
11+阅读 · 2018年1月14日
上百份文字的检测与识别资源,包含数据集、code和paper
数据挖掘入门与实战
17+阅读 · 2017年12月7日
【推荐】图像分类必读开创性论文汇总
机器学习研究会
14+阅读 · 2017年8月15日
相关基金
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
国家自然科学基金
1+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员