2017 47th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN) (2017)
Denver, CO, United States
June 26, 2017 to June 29, 2017
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/DSN.2017.62
The Linux kernel is highly configurable, and thus, in principle, any line of code can be included or excluded from the compiled kernel based on configuration operations. Configurability complicates the task of a kernel janitor, who cleans up faults across the code base. A janitor may not be familiar with the configuration options that trigger compilation of a particular code line, leading him to believe that a fix has been compile-checked when this is not the case. We propose JMake, a mutation-based tool for signaling changed lines that are not subjected to the compiler. JMake shows that for most of the 12,000 file-modifying commits between Linux v4.3 and v4.4 the configuration chosen by the kernel allyesconfig option is sufficient, once the janitor chooses the correct architecture. For most commits, this check requires only 30 seconds or less. We then characterize the situations in which changed code is not subjected to compilation in practice.
Kernel, Linux, Tools, Standards, Testing, Electronic mail, Encoding
J. Lawall and G. Muller, "JMake: Dependable Compilation for Kernel Janitors," 2017 47th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Denver, CO, United States, 2017, pp. 357-366.