An initial study on the use of execution complexity metrics as indicators of software vulnerabilities

  • Authors:
  • Yonghee Shin;Laurie Williams

  • Affiliations:
  • DePaul University, Chicago, IL, USA;North Carolina State University, Raleigh, NC, USA

  • Venue:
  • Proceedings of the 7th International Workshop on Software Engineering for Secure Systems
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Allocating code inspection and testing resources to the most problematic code areas is important to reduce development time and cost. While complexity metrics collected statically from software artifacts are known to be helpful in finding vulnerable code locations, some complex code is rarely executed in practice and has less chance of its vulnerabilities being detected. To augment the use of static complexity metrics, this study examines execution complexity metrics that are collected during code execution as indicators of vulnerable code locations. We conducted case studies on two large size, widely-used open source projects, the Mozilla Firefox web browser and the Wireshark network protocol analyzer. Our results indicate that execution complexity metrics are better indicators of vulnerable code locations than the most commonly-used static complexity metric, lines of source code. The ability of execution complexity metrics to discriminate vulnerable code locations from neutral code locations and to predict vulnerable code locations vary depending on projects. However, the vulnerability prediction models using execution complexity metrics are superior to the models using static complexity metrics in reducing inspection effort.