Litcius/Paper detail

Learning to reduce false positives in analytic bug detectors

Anant Kharkar, Roshanak Zilouchian Moghaddam, Matthew Jin, Xiaoyu Liu, X. Shi, Colin B. Clement, Neel Sundaresan

2022Proceedings of the 44th International Conference on Software Engineering35 citationsDOIOpen Access PDF

Abstract

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.

Topics & Concepts

False positive paradoxComputer scienceGeneralizability theoryStatic analysisSoftware bugTrue positive rateStatic program analysisSoftwareCode (set theory)Symbolic executionMachine learningData miningArtificial intelligenceProgramming languageSoftware developmentSet (abstract data type)MathematicsStatisticsSoftware Engineering ResearchSoftware Testing and Debugging TechniquesSoftware Reliability and Analysis Research