Proceedings of the 20th International Systems and Software Product Line Conference 2016
DOI: 10.1145/2934466.2934467
|View full text |Cite
|
Sign up to set email alerts
|

Do #ifdefs influence the occurrence of vulnerabilities? an empirical study of the linux kernel

Abstract: Preprocessors support the diversification of software products with #ifdefs, but also require additional effort from developers to maintain and understand variable code. We conjecture that #ifdefs cause developers to produce more vulnerable code because they are required to reason about multiple features simultaneously and maintain complex mental models of dependencies of configurable code.We extracted a variational call graph across all configurations of the Linux kernel, and used configuration complexity met… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
12
0

Year Published

2017
2017
2020
2020

Publication Types

Select...
7
2

Relationship

0
9

Authors

Journals

citations
Cited by 24 publications
(12 citation statements)
references
References 33 publications
0
12
0
Order By: Relevance
“…It can be verified that the coefficients of the equations 1 and 2 are low values, since the flaw rates are also low. It is uncommon to find buggy functions in Linux (Ferreira et al, 2016). So, when this already low value is divided by the number of modules, which tends to increase over time, we get very low values for the flaw rates.…”
Section: Resultsmentioning
confidence: 94%
“…It can be verified that the coefficients of the equations 1 and 2 are low values, since the flaw rates are also low. It is uncommon to find buggy functions in Linux (Ferreira et al, 2016). So, when this already low value is divided by the number of modules, which tends to increase over time, we get very low values for the flaw rates.…”
Section: Resultsmentioning
confidence: 94%
“…As we see in Figure 1, however, this configurability also obscures software defects. Previous studies show that such configurable code is dangerous: it has been correlated with more bugs [2] and shown to be more difficult for developers to debug [3]. We use our simulation framework to find variability bugs.…”
Section: What Are Variability Bugs?mentioning
confidence: 99%
“…We have made our framework and dataset publicly available. 2 The contributions of this paper are the following:…”
Section: Introductionmentioning
confidence: 99%
“…For example, when evolving HCSSs in VCSs, developers often commit unrelated or loosely related implementations of features [13]. Then, evolving a particular feature requires to find the implementation artifacts over many #ifdefs, compromising code comprehension and complicating maintenance and evolution tasks [9].…”
Section: Introductionmentioning
confidence: 99%