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

On reconciling patches and aspects

Published:02 March 2009Publication 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M.E. Fiuczynski, patch (1) Considered Harmful, Tenth Workshop on Hot Topics in Operating Systems, Sante Fe, NM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M.E. Fiuczynski, Better Tools for Kernel Evolution, Please! ;login: 30 (2005) 8--10.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  6. Y. Padioleau, J. Lawall, G. Muller, René Rydhof Hansen. Documenting and Automating Collateral Evolutions in Linux Device Drivers. EuroSys 2008, 247--260. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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).Google ScholarGoogle Scholar

Index Terms

  1. On reconciling patches and aspects

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • 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

      Copyright © 2009 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 2 March 2009

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
    • Article Metrics

      • Downloads (Last 12 months)1
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader