Pattern Mining-based Warning Prioritization by Refining Abstract Syntax Tree

Xiuting Ge 1, 2, 3
Xuanye Li 1, 2, 3
Yuanyuan Sun 3
Mingshuang Qing 3
Haitao Zheng 1
Huibin Zhang 1
Xianyu Wu 1
1
 
GuangDong Tops Soft-park co, LTD, P. R. China
2
 
Shanghai Key Laboratory of Computer, Software Evaluating and Testing P. R. China
Publication typeJournal Article
Publication date2024-07-23
scimago Q3
wos Q4
SJR0.206
CiteScore1.8
Impact factor0.6
ISSN02181940, 17936403
Abstract

Static code analysis tools (SATs) are widely used to detect potential defects in software projects. However, the usability of SATs is seriously hindered by a large number of unactionable warnings. Currently, many warning prioritization approaches are proposed to improve the usability of SATs. These approaches mainly extract different warning features to capture the statistical or historical information of warnings, thereby ranking actionable warnings in front of unactionable warnings. Such features are extracted by extremely relying on domain knowledge. However, the precise domain knowledge is difficult to be acquired. Also, the domain knowledge obtained in a project cannot be directly applied to other projects due to different application scenarios among different projects. To address the above problem, we propose a pattern mining-based warning prioritization approach based on the warning-related Abstract Syntax Tree (AST). To automatically mine actionable warning patterns, our approach leverages an advanced technique to collect actionable warnings, designs an algorithm to extract the warning-related AST, and mines patterns from ASTs of all actionable warnings. To prioritize the newly reported warnings, our approach combines exact and fuzzing matching techniques to calculate the similarity score between patterns of the newly reported warnings and the mined actionable warning patterns. We compare our approach with four typical baselines on five open-source and large-scale Java projects. The results show that our approach outperforms four baselines and achieves the maximum MAP (0.76) and MRR (2.19). Besides, a case study on Defect4J dataset demonstrates that our approach can discover 83% of true defects in the top 10 warnings.

Found 

Are you a researcher?

Create a profile to get free access to personal recommendations for colleagues and new articles.
Metrics
0
Share
Cite this
GOST |
Cite this
GOST Copy
Ge X. et al. Pattern Mining-based Warning Prioritization by Refining Abstract Syntax Tree // International Journal of Software Engineering and Knowledge Engineering. 2024. Vol. 34. No. 10. pp. 1593-1619.
GOST all authors (up to 50) Copy
Ge X., Li X., Sun Y., Qing M., Zheng H., Zhang H., Wu X. Pattern Mining-based Warning Prioritization by Refining Abstract Syntax Tree // International Journal of Software Engineering and Knowledge Engineering. 2024. Vol. 34. No. 10. pp. 1593-1619.
RIS |
Cite this
RIS Copy
TY - JOUR
DO - 10.1142/s0218194024500293
UR - https://www.worldscientific.com/doi/10.1142/S0218194024500293
TI - Pattern Mining-based Warning Prioritization by Refining Abstract Syntax Tree
T2 - International Journal of Software Engineering and Knowledge Engineering
AU - Ge, Xiuting
AU - Li, Xuanye
AU - Sun, Yuanyuan
AU - Qing, Mingshuang
AU - Zheng, Haitao
AU - Zhang, Huibin
AU - Wu, Xianyu
PY - 2024
DA - 2024/07/23
PB - World Scientific
SP - 1593-1619
IS - 10
VL - 34
SN - 0218-1940
SN - 1793-6403
ER -
BibTex |
Cite this
BibTex (up to 50 authors) Copy
@article{2024_Ge,
author = {Xiuting Ge and Xuanye Li and Yuanyuan Sun and Mingshuang Qing and Haitao Zheng and Huibin Zhang and Xianyu Wu},
title = {Pattern Mining-based Warning Prioritization by Refining Abstract Syntax Tree},
journal = {International Journal of Software Engineering and Knowledge Engineering},
year = {2024},
volume = {34},
publisher = {World Scientific},
month = {jul},
url = {https://www.worldscientific.com/doi/10.1142/S0218194024500293},
number = {10},
pages = {1593--1619},
doi = {10.1142/s0218194024500293}
}
MLA
Cite this
MLA Copy
Ge, Xiuting, et al. “Pattern Mining-based Warning Prioritization by Refining Abstract Syntax Tree.” International Journal of Software Engineering and Knowledge Engineering, vol. 34, no. 10, Jul. 2024, pp. 1593-1619. https://www.worldscientific.com/doi/10.1142/S0218194024500293.