Topic: To Whom it may Concern, Please Integrate my Patch
What we hope to accomplish:
The Linux kernel has become the de-facto standard OS for many embedded systems. High code quality, reliability and robustness are fundamental non-functional requirements for embedded systems in general. In safety-critical embedded systems in particular, the development process needs to conform with certain certification criteria.
The code quality of the Kernel is determined by its open development process, and relies on public mutual code reviews. Trusted, hierarchically organised maintainers are responsible for the integration of new code fragments. However, there is no clear and standardised definition of "the process" -- the Kernel lacks documentation of meeting the necessary criteria for the certification.
In order to support certification efforts, we analyse the development history in order to reproduce the development process. With ex-post analyses, we extract performance indicators that can be used to judge the conformance with the semi-formally defined development processes.
One part of our analysis focuses on the integration of patches. One central questions is, if patches are correctly integrated by maintainers. To answer this question, we first derive a definition for "correctly integrated patches", and conduct a large-scale analysis on the recent history of the Kernel development.
Our findings show that recent integrations largely conform with the guidelines, but we still found major discrepancies: Many maintainers integrate patches beyond their responsibility. To understand such and other phenomenons, we broadened our research get a better understanding of the Kernel infrastructure and the topology of its subsystems, which we will present in our talk.
Results can be used to support certification efforts and provide deep insights of otherwise unapparent peculiarities of the Linux Kernel development process.
Critical participants: Lukas Bulwahn, Ralf Ramsauer, Wolfgang Mauerer
Estimated Time: 30min