skip to main content
10.1145/1509276.1509278acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

On reconciling patches and aspects

Published: 02 March 2009 Publication History

Abstract

In previous work, we presented a domain-specific enhancement to C, called C4, that lets developers manage program extensions leveraging techniques inspired by the AOSD model as an alternative to the conventional patch approach [3]. Our goal is to offer: (1) tool compatibility letting programmers develop, integrate, modify, and debug C4-based extensions that preserve their existing development workflow and leverages their existing tools rather than requiring additional tools; (2) code understandability of the C4 syntax such that is it straightforward for an uninitiated C programmer to use immediately; and, (3) runtime performance achieving near-zero overhead such that it can be used even in performance critical execution paths. As such C4 source code can be viewed as the result of weaving in AOSD style introductions and advices inline into C program. However, C4 lacked a proper representation of its unwoven form--i.e., what's conventionally in AOSD circles referred to as the pointcut language. This paper makes a case for B4: a patch-based pointcut representation of unwoven C4 and contrasts it with development-oriented pointcut languages belonging to the AspectC family that have been defined for the C programming language.

References

[1]
Y. Coady, G. Kiczales, M. Feeley, and G. Smolyn, Using aspectC to improve the modularity of path-specific customization in operating system code. SIGSOFT Softw. Eng. Notes 26 (2001) 88--98.
[2]
M.D. Ernst, G.J. Badros, and D. Notkin, An Empirical Analysis of C Preprocessor Use. IEEE Transactions on Software Engineering 28 (2002) 1146--1170.
[3]
M.E. Fiuczynski, patch (1) Considered Harmful, Tenth Workshop on Hot Topics in Operating Systems, Sante Fe, NM, 2005.
[4]
M.E. Fiuczynski, Better Tools for Kernel Evolution, Please! ;login: 30 (2005) 8--10.
[5]
M. Gong, C. Zhang, and H.-A. Jacobsen. Systems Development with AspeCt-oriented C (ACC). Connections 2007 (ECE Symposium, University of Toronto), June 2007.
[6]
Y. Padioleau, J. Lawall, G. Muller, René Rydhof Hansen. Documenting and Automating Collateral Evolutions in Linux Device Drivers. EuroSys 2008, 247--260.
[7]
A. Reynolds, M. E. Fiuczynski, and R. Grimm. On the feasibility of an AOSD approach to Linux kernel extensions. 7th Workshop on Aspects, Components, and Patterns for Infrastructure Software (2008).
[8]
Olaf Spinczyk, Daniel Lohmann, and Matthias Urban, Advances in AOP with AspectC++, Software Methodologies, Tools and Techniques (SoMeT 2005), IOS Press, September, 2005, Tokyo, Japan.
[9]
M. Yuen, M. E. Fiuczysnki, R. Grimm, Y. Coady, and D. Walker. Making extensibility of system software practical with the C4 toolkit. Workshop on Software Engineering Properties of Languages and Aspect Technologies (2006).

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ACP4IS '09: Proceedings of the 8th workshop on Aspects, components, and patterns for infrastructure software
March 2009
54 pages
ISBN:9781605584508
DOI:10.1145/1509276
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 March 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. aosd for c
  2. c4
  3. patch

Qualifiers

  • Research-article

Conference

AOSD '09

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 168
    Total Downloads
  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media