Abstract
In the Linux kernel source tree, header files typically define
many small functions that have a simple behavior but are
critical to ensure readability, correctness, and maintainability.
We have observed, however, that some Linux code does not
use these functions systematically. In this paper, we propose
an approach combining rule-based program matching and
transformation with generative programming to generate
rules for finding and fixing code fragments that should use the
functions defined in header files. We illustrate our approach
using an in-depth study based on four typical functions
defined in the header file include/linux/usb.h.
many small functions that have a simple behavior but are
critical to ensure readability, correctness, and maintainability.
We have observed, however, that some Linux code does not
use these functions systematically. In this paper, we propose
an approach combining rule-based program matching and
transformation with generative programming to generate
rules for finding and fixing code fragments that should use the
functions defined in header files. We illustrate our approach
using an in-depth study based on four typical functions
defined in the header file include/linux/usb.h.
Original language | English |
---|---|
Title of host publication | Proceedings of the 8th workshop on Aspects, components, and patterns for infrastructure software |
Number of pages | 6 |
Publisher | Association for Computing Machinery |
Publication date | 2009 |
Pages | 7-12 |
ISBN (Print) | 978-1-60558-450-8 |
DOIs | |
Publication status | Published - 2009 |
Event | Workshop on Aspects, components, and patterns for infrastructure software (ACP4IS 2009) - Charlottesville, VA, United States Duration: 2 Mar 2009 → 2 Mar 2009 Conference number: 8 |
Conference
Conference | Workshop on Aspects, components, and patterns for infrastructure software (ACP4IS 2009) |
---|---|
Number | 8 |
Country/Territory | United States |
City | Charlottesville, VA |
Period | 02/03/2009 → 02/03/2009 |