A Double-Edged Sword? Software Reuse and Potential Security Vulnerabilities

Published in Proceedings of the 18th International Conference on Software and Systems Reuse (ICSR '19), 2019

Recommended citation: Antonios Gkortzis, Daniel Feitosa, Diomidis Spinellis, 'A double-edged sword? software reuse and potential security vulnerabilities', Publisher: Springer, Cham, pages: 187-203 https://doi.org/10.1007/978-3-030-22888-0_13 https://antonisgkortzis.github.io/files/GFS_ICSR_19.pdf

Abstract

Reuse is a common and often-advocated software development practice. Significant efforts have been invested into facilitating it, leading to advancements such as software forges, package managers, and the widespread integration of open source components into proprietary software systems. Reused software can make a system more secure through its maturity and extended vetting, or increase its vulnerabilities through a larger attack surface or insecure coding practices. To shed more light on this issue, we investigate the relationship between software reuse and potential security vulnerabilities, as assessed through static analysis. We empirically investigated 301 open source projects in a holistic multiple-case methods study. In particular, we examined the distribution of potential vulnerabilities between the native code created by a project’s development team and external code reused through dependencies, as well as the correlation between the ratio of reuse and the density of vulnerabilities. The results suggest that the amount of potential vulnerabilities in both native and reused code increases with larger project sizes. We also found a weak-to-moderate correlation between a higher reuse ratio and a lower density of vulnerabilities. Based on these findings it appears that code reuse is neither a frightening werewolf introducing an excessive number of vulnerabilities nor a silver bullet for avoiding them.

Download paper here