arrow
返回

Mining Fix Patterns for FindBugs Violations

delete2021-01-01
delete92
delete
OA
AI
刘逵 (Kui Liu)
D
Dongsun Kim *
T
Tegawendé F. Bissyandé
S
Shin Yoo
Y
Yves Le Traon
DOI:10.1109/TSE.2018.2884955delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
Several static analysis tools, such as Splint or FindBugs, have been proposed to the software development community to help detect security vulnerabilities or bad programming practices. However, the adoption of these tools is hindered by their high false positive rates. If the false positive rate is too high, developers may get acclimated to violation reports from these tools, causing concrete and severe bugs being overlooked. Fortunately, some violations are actually addressed and resolved by developers. We claim that those violations that are recurrently fixed are likely to be true positives, and an automated approach can learn to repair similar unseen violations. However, there is lack of a systematic way to investigate the distributions on existing violations and fixed ones in the wild, that can provide insights into prioritizing violations for developers, and an effective way to mine code and fix patterns which can help developers easily understand the reasons of leading violations and how to fix them. In this paper, we first collect and track a large number of fixed and unfixed violations across revisions of software. The empirical analyses reveal that there are discrepancies in the distributions of violations that are detected and those that are fixed, in terms of occurrences, spread and categories, which can provide insights into prioritizing violations. To automatically identify patterns in violations and their fixes, we propose an approach that utilizes convolutional neural networks to learn features and clustering to regroup similar instances. We then evaluate the usefulness of the identified fix patterns by applying them to unfixed violations. The results show that developers will accept and merge a majority (69/116) of fixes generated from the inferred fix patterns. It is also noteworthy that the yielded patterns are applicable to four real bugs in the Defects4J major benchmark for software testing and automated repair.
Keyword:
Fix pattern
pattern mining
program repair
findbugs violation
unsupervised learning
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

IEEE Transactions on Software Engineering 封面图
IEEE Transactions on Software Engineering
IF:
5.6
论文数:
2.8K
被引数:
1.1W

机构

U
university of luxembourg
学者数:
5.2K
论文数: 4.8K
被引数: 4
引用论文

引用论文

Properties of cardiac conduction in a cell-based computational model
err2019-05-31
err0
errOAAI
errKaroline Horgmo Jæger; Andrew G. Edwards; Andrew McCulloch; Aslak Tveito
err分享
err收藏
Balanocarpol, a new polyphenol from Balanocarpus zeylanicus(trimen) and Hopea jucunda(Thw.)(Dipterocarpaceae)
err1985-01-01
err0
PREAI
errM. N. Champika Diyasena; Subramaniam Sotheeswaran; Sivagnanasunderam Surendrakumar; Sinnathamby Balasubramanian; Michael Bokel; Wolfgang Kraus
err分享
err收藏
Best Management Practices and Nutrient Reduction: An Integrated Economic-Hydrologic Model of the Western Lake Erie Basin
err2020-12-18
err0
errOAAI
errHongxing Liu; Wendong Zhang; Elena Irwin; Jeffrey Kast; Noel Aloysius; Jay Martin; Margaret Kalcic
err分享
err收藏
Ebola virus sequencing protocol v1
err
IF0
err2019-09-25
err0
errOAAI
errJosh Quick
err分享
err收藏
学者 查看更多内容