Do #ifdefs influence the occurrence of vulnerabilities? an empirical study of the linux kernel
Gabriel Ferreira, Momin M. Malik, Christian Kästner, Jürgen Pfeffer, Sven Apel · 2016
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.