An expressive aspect language for system applications with arachne

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

Abstract

Security, networking and prefetching are typical examples of concerns which crosscut system-level C applications. While a careful design can help to address these concerns, they frequently become an issue at runtime, especially if avoiding server downtime is important. Vulnerabilities caused by buffer overflows and double-free bugs are frequently discovered after deployment, thus opening critical breaches in running applications. Performance issues also often arise at run time: in the case of Web caches, e.g., a prefetching strategy may be required to increase performance. Aspect-oriented programming is an appealing solution to solve these issues. However, none of the current dynamic aspect systems is expressive and efficient enough to support them properly in the context of C applications. Arachne is a new aspect system specifically designed to address these issues. Its aspect language allows aspects to be expressed concisely using a sequence construct for quantification over function calls and accesses through variable aliases. Arachne enables aspects to be woven "on the fly" in running legacy applications. We show how these abilities can be used to prevent security breaches, to modularize the replacement of network protocols by more efficient ones, and to introduce prefetching in Web caches. We present two formal semantics for Arachne: one which defines in abstract terms the main properties of the sequence construct, and a second one which enables reasoning about the actual implementation. Following a detailed presentation of Arachne's implementation, we give performance evaluations showing that Arachne is fast enough to extend high-performance applications, such as the Squid Web cache. © Springer-Verlag Berlin Heidelberg 2006.

Cite

CITATION STYLE

APA

Douence, R., Fritz, T., Loriant, N., Menaud, J. M., Ségura-Devillechaise, M., & Südholt, M. (2006). An expressive aspect language for system applications with arachne. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 3880 LNCS, 174–213. https://doi.org/10.1007/11687061_6

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