Litcius/Paper detail

Learning probabilistic models for static analysis alarms

Hyunsu Kim, Mukund Raghothaman, Kihong Heo

2022Proceedings of the 44th International Conference on Software Engineering15 citationsDOI

Abstract

We present BayeSmith, a general framework for automatically learning probabilistic models of static analysis alarms. Several probabilistic reasoning techniques have recently been proposed which incorporate external feedback on semantic facts and thereby reduce the user's alarm inspection burden. However, these approaches are fundamentally limited to models with pre-defined structure, and are therefore unable to learn or transfer knowledge regarding an analysis from one program to another. Furthermore, these probabilistic models often aggressively generalize from external feedback and falsely suppress real bugs. To address these problems, we propose BayeSmith that learns the structure and weights of the probabilistic model. Starting from an initial model and a set of training programs with bug labels, BayeSmith refines the model to effectively prioritize real bugs based on feedback. We evaluate the approach with two static analyses on a suite of C programs. We demonstrate that the learned models significantly improve the performance of three state-of-the-art probabilistic reasoning systems.

Topics & Concepts

Probabilistic logicComputer scienceMachine learningArtificial intelligenceSet (abstract data type)SuiteStatistical modelProbabilistic relevance modelProbabilistic analysis of algorithmsData miningProgramming languageHistoryArchaeologySoftware Engineering ResearchSoftware Reliability and Analysis ResearchSoftware Testing and Debugging Techniques