Design and Implementation of an Aspect-Oriented C Programming Language

5Citations
Citations of this article
12Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Aspect-Oriented Programming (AOP) is a programming paradigm that implements crosscutting concerns in a modular way. People have witnessed the prosperity of AOP languages for Java and C++, such as AspectJ and AspectC++, which has propelled AOP to become an important programming paradigm with many interesting application scenarios, e.g., runtime verification. In contrast, the AOP languages for C are still poor and lack compiler support. In this paper, we design a new general-purpose and expressive aspect-oriented C programming language, namely Aclang, and implement a compiler for it, which brings fully-fledged AOP support into the C domain. We have evaluated the effectiveness and performance of our compiler against two state-of-the-art tools, ACC and AspectC++. In terms of effectiveness, Aclang outperforms ACC and AspectC++. In terms of performance, Aclang outperforms ACC in execution time and outperforms AspectC++ in both execution time and memory consumption.

Cite

CITATION STYLE

APA

Chen, Z., Zhu, Y., & Wang, Z. (2024). Design and Implementation of an Aspect-Oriented C Programming Language. Proceedings of the ACM on Programming Languages, 8(OOPSLA1). https://doi.org/10.1145/3649834

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free