Undertaker-checkpatch: how to avoid #ifdef bugs in the Linux kernel

This proposal has been accepted as a session.


One Line Summary

I present a tool, which checks Git commits for variability related #ifdef bugs.


Variability related bugs in the Linux kernel can stem from various sources. An #ifdef block may reference a broken Kconfig feature (e.g., the feature is not defined or it’s a typo). Contradictory dependencies in Kconfig may also forcefully set a feature’s value. Other bugs may be caused by conflicting preconditions of #ifdef blocks. Despite all these bugs have different causes and effects, they have one thing in common: they are hard to analyze.

The talk includes the results of an empirical case study of variability related bugs in 24 versions of the Linux kernel (v2.6.29-v3.12) and a tool, which checks and analyzes the causes and effects of such bugs in Git commits


kconfig, git, bugs, ifdef, tool

Presentation Materials