TY - GEN
T1 - On reconciling patches and aspects
AU - Burgy, Laurent
AU - Fiuczynski, Marc E.
AU - Yuen, Marco
AU - Grimm, Robert
N1 - Copyright:
Copyright 2010 Elsevier B.V., All rights reserved.
PY - 2009
Y1 - 2009
N2 - 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.
AB - 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.
KW - aosd for c
KW - c4
KW - patch
UR - http://www.scopus.com/inward/record.url?scp=77953981115&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=77953981115&partnerID=8YFLogxK
U2 - 10.1145/1509276.1509278
DO - 10.1145/1509276.1509278
M3 - Conference contribution
AN - SCOPUS:77953981115
SN - 9781605584508
T3 - Proceedings of the 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th Int. Conf. Aspect-Oriented Software Development, AOSD.09
SP - 1
EP - 5
BT - Proceedings of the 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th Int. Conf. Aspect-Oriented Software Development, AOSD.09
T2 - 8th Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS '09, Co-located with the 8th International Conference on Aspect-Oriented Software Development, AOSD.09
Y2 - 2 March 2009 through 6 March 2009
ER -