Challenges with applying vulnerability prediction models

Patrick Morrison, Kim Herzig, Thomas Brendan Murphy, Laurie Williams

2015 · 124 citations · 33 references

Concepts

TL;DR

Vulnerability prediction models promise to guide engineers in prioritizing verification resources, yet despite the adoption of defect prediction, Microsoft has not embraced VPMs. This study evaluates whether VPMs built with standard guidelines deliver actionable results for allocating engineering effort. Actionability was defined by the inspection effort required, and the authors replicated a VPM on two Windows OS releases, varying granularity and statistical learners. Binary‑level models achieved ~0.75 precision and ~0.2 recall, but binaries were too large to inspect and engineers preferred source‑file predictions, whose precision fell below 0.5 and recall below 0.2, indicating VPMs must be refined, possibly with security‑specific metrics.

Abstract

Vulnerability prediction models (VPM) are believed to hold promise for providing software engineers guidance on where to prioritize precious verification resources to search for vulnerabilities. However, while Microsoft product teams have adopted defect prediction models, they have not adopted vulnerability prediction models (VPMs). The goal of this research is to measure whether vulnerability prediction models built using standard recommendations perform well enough to provide actionable results for engineering resource allocation. We define 'actionable' in terms of the inspection effort required to evaluate model results. We replicated a VPM for two releases of the Windows Operating System, varying model granularity and statistical learners. We reproduced binary-level prediction precision (~0.75) and recall (~0.2). However, binaries often exceed 1 million lines of code, too large to practically inspect, and engineers expressed preference for source file level predictions. Our source file level models yield precision below 0.5 and recall below 0.2. We suggest that VPMs must be refined to achieve actionable performance, possibly through security-specific metrics.

References

33