Pre-trained Model-based Actionable Warning Identification: A Feasibility Study
Preprint
Abstract
Actionable Warning Identification (AWI) plays a pivotal role in improving the usability of static code analyzers. Currently, Machine Learning (ML)-based AWI approaches, which mainly learn an AWI classifier from labeled warnings, are notably common. However, these approaches still face the problem of restricted performance due to the direct reliance on a limited number of labeled warnings to develop a classifier. Very recently, Pre-Trained Models (PTMs), which have been trained through billions of text/code tokens and demonstrated substantial success applications on various code-related tasks, could potentially circumvent the above problem. Nevertheless, the performance of PTMs on AWI has not been systematically investigated, leaving a gap in understanding their pros and cons. In this paper, we are the first to explore the feasibility of applying various PTMs for AWI. By conducting the extensive evaluation on 10K+ SpotBugs warnings from 10 large-scale and open-source projects, we observe that all studied PTMs are consistently 9.85%~21.12% better than the state-of-the-art ML-based AWI approaches. Besides, we investigate the impact of three primary aspects (i.e., data preprocessing, model training, and model prediction) in the typical PTM-based AWI workflow. Further, we identify the reasons for current PTMs' underperformance on AWI. Based on our findings, we provide several practical guidelines to enhance PTM-based AWI in future work.Keywords
All Related Versions
This publication has 14 references indexed in Scilit:
- Pre-Trained Model-Based Automated Software Vulnerability Repair: How Far are We?IEEE Transactions on Dependable and Secure Computing, 2023
- An Empirical Study of Class Rebalancing Methods for Actionable Warning IdentificationIEEE Transactions on Reliability, 2023
- An empirical assessment of machine learning approaches for triaging reports of static analysis toolsEmpirical Software Engineering, 2023
- Neural Transfer Learning for Repairing Security Vulnerabilities in C CodeIEEE Transactions on Software Engineering, 2022
- Learning to recognize actionable static code warnings (is intrinsically easy)Empirical Software Engineering, 2021
- Pre-trained models: Past, present and futureAI Open, 2021
- SpongeBugs: Automatically generating fix suggestions in response to static code analysis warningsJournal of Systems and Software, 2020
- Mining Fix Patterns for FindBugs ViolationsIEEE Transactions on Software Engineering, 2018
- Learning from imbalanced data: open challenges and future directionsProgress in Artificial Intelligence, 2016
- The use of the area under the ROC curve in the evaluation of machine learning algorithmsPattern Recognition, 1997