Searching for a Needle in a Haystack: Predicting Security Vulnerabilities for Windows Vista

Thomas Zimmermann, Nachiappan Nagappan, Laurie Williams

2010 · 205 citations · 22 references

Concepts

TL;DR

Software vulnerability prediction is critical because widely deployed systems are more likely to be attacked, yet the rarity of vulnerabilities creates a sparse dataset that complicates prediction. The study aims to evaluate how well classical software metrics and organizational structure can predict vulnerabilities in Windows Vista. The authors conducted a large‑scale empirical analysis of Windows Vista, measuring complexity, churn, coverage, dependency metrics, and company structure to assess their predictive power. Classical metrics achieve high precision but low recall, whereas dependency metrics yield lower precision but substantially higher recall.

Abstract

Many factors are believed to increase the vulnerability of software system; for example, the more widely deployed or popular is a software system the more likely it is to be attacked. Early identification of defects has been a widely investigated topic in software engineering research. Early identification of software vulnerabilities can help mitigate these attacks to a large degree by focusing better security verification efforts in these components. Predicting vulnerabilities is complicated by the fact that vulnerabilities are, most often, few in number and introduce significant bias by creating a sparse dataset in the population. As a result, vulnerability prediction can be thought of us preverbally “searching for a needle in a haystack.” In this paper, we present a large-scale empirical study on Windows Vista, where we empirically evaluate the efficacy of classical metrics like complexity, churn, coverage, dependency measures, and organizational structure of the company to predict vulnerabilities and assess how well these software measures correlate with vulnerabilities. We observed in our experiments that classical software measures predict vulnerabilities with a high precision but low recall values. The actual dependencies, however, predict vulnerabilities with a lower precision but substantially higher recall.

References

22