On reconciling patches and aspects

Laurent Burgy, Marc E. Fiuczynski, Marco Yuen, Robert Grimm

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish (US)
Title of host publicationProceedings 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
Pages1-5
Number of pages5
DOIs
StatePublished - 2009
Event8th 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 - Charlottesville, VA, United States
Duration: Mar 2 2009Mar 6 2009

Other

Other8th 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
CountryUnited States
CityCharlottesville, VA
Period3/2/093/6/09

Fingerprint

Computer programming languages

Keywords

  • aosd for c
  • c4
  • patch

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Software

Cite this

Burgy, L., Fiuczynski, M. E., Yuen, M., & Grimm, R. (2009). On reconciling patches and aspects. In 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 (pp. 1-5) https://doi.org/10.1145/1509276.1509278

On reconciling patches and aspects. / Burgy, Laurent; Fiuczynski, Marc E.; Yuen, Marco; Grimm, Robert.

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. 2009. p. 1-5.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Burgy, L, Fiuczynski, ME, Yuen, M & Grimm, R 2009, On reconciling patches and aspects. in 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. pp. 1-5, 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, Charlottesville, VA, United States, 3/2/09. https://doi.org/10.1145/1509276.1509278
Burgy L, Fiuczynski ME, Yuen M, Grimm R. On reconciling patches and aspects. In 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. 2009. p. 1-5 https://doi.org/10.1145/1509276.1509278
Burgy, Laurent ; Fiuczynski, Marc E. ; Yuen, Marco ; Grimm, Robert. / On reconciling patches and aspects. 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. 2009. pp. 1-5
@inproceedings{60828897af6b4398854ccc38ef61e630,
title = "On reconciling patches and aspects",
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.",
keywords = "aosd for c, c4, patch",
author = "Laurent Burgy and Fiuczynski, {Marc E.} and Marco Yuen and Robert Grimm",
year = "2009",
doi = "10.1145/1509276.1509278",
language = "English (US)",
isbn = "9781605584508",
pages = "1--5",
booktitle = "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",

}

TY - GEN

T1 - On reconciling patches and aspects

AU - Burgy, Laurent

AU - Fiuczynski, Marc E.

AU - Yuen, Marco

AU - Grimm, Robert

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

SN - 9781605584508

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

ER -