Abstract
Linux is increasingly used to power everything from embedded devices to supercomputers. Developers of such systems often start with a mainline kernel from kernel.org and then apply patches for their application domain. Many of these patches represent crosscutting concerns in that they do not fit within a single program module and are scattered throughout the kernel sources-easily affecting over a hundred files. It requires nontrivial effort to maintain such a crosscutting patch, even across minor kernel upgrades due to the variability of the kernel proper. Moreover, it is a significant challenge to ensure the kernel's correctness when integrating multiple crosscutting concerns. To make matters worse, developers use simple code merging tools that directly manipulate source file lines instead of relying on a lexical, grammatical, or semantic level of abstraction. The result is that patch maintenance is extremely time consuming and error prone. In this paper, we propose a new tool, called c4, designed to help manipulate patches at the level of their abstract syntax and semantics. We believe our approach will simplify the management of OS variations and thereby improve OS evolution.
Original language | American English |
---|---|
State | Published - 2005 |
Event | 10th Workshop on Hot Topics in Operating Systems, HotOS 2005 - Santa Fe, United States Duration: Jun 12 2005 → Jun 15 2005 |
Conference
Conference | 10th Workshop on Hot Topics in Operating Systems, HotOS 2005 |
---|---|
Country/Territory | United States |
City | Santa Fe |
Period | 6/12/05 → 6/15/05 |
ASJC Scopus subject areas
- Hardware and Architecture
- Computer Networks and Communications
- Information Systems