Effective false positive filtering for evolving software
Bharti Chimdyalwar, Shrawan Kumar · 2011
Model checking and static analysis are two techniques widely used to detect property violations in code. However, for property checking on large software systems, only static analysis tools are applied due to their ability to scale up in spite of being imprecise in comparison to model checking tools. All reported violations are manually examined to separate out large number of false positives. This is effort intensive, time consuming and requires reasonable understanding of the system. In this paper, we present a technique that reduces the number of reported false positives by exploiting the incremental nature of large software system development. This is achieved by performing an impact analysis of changes introduced in the current version and suppressing the false positives that are immune to these changes. The paper also presents our experience in applying this technique on a large embedded software system, where we found an 80% reduction in the overall false positives reported.