Learning to Reduce False Positives in Analytic Bug Detectors
This addresses the issue for software developers who must manually verify false positives, though it is incremental as it builds on existing static analysis tools.
The paper tackles the problem of false positives in static analysis bug detectors by proposing a Transformer-based learning approach, which improves precision by 17.5% and is validated across null dereference and resource leak bug types.
Due to increasingly complex software design and rapid iterative development, code defects and security vulnerabilities are prevalent in modern software. In response, programmers rely on static analysis tools to regularly scan their codebases and find potential bugs. In order to maximize coverage, however, these tools generally tend to report a significant number of false positives, requiring developers to manually verify each warning. To address this problem, we propose a Transformer-based learning approach to identify false positive bug warnings. We demonstrate that our models can improve the precision of static analysis by 17.5%. In addition, we validated the generalizability of this approach across two major bug types: null dereference and resource leak.