An expressive aspect language for system applications with Arachne - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Journal Articles LNCS Transactions on Aspect-Oriented Software Development Year : 2006

An expressive aspect language for system applications with Arachne

Abstract

Security, networking and prefetching are typical examples of concerns which crosscut system-level C applications. While a careful de- sign can help to address these concerns, they frequently become an issue at runtime, especially if avoiding server downtime is important. Vulner- abilities 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 sys- tems 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 as- pects to be woven “on the fly” in running legacy applications. We show how these abilities can be used to prevent security breaches, to modular- ize 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.
Fichier principal
Vignette du fichier
douence.taosd06.pdf (517.57 Ko) Télécharger le fichier
Origin : Files produced by the author(s)
Loading...

Dates and versions

inria-00442180 , version 1 (18-12-2009)

Identifiers

  • HAL Id : inria-00442180 , version 1

Cite

Rémi Douence, Thomas Fritz, Nicolas Loriant, Jean-Marc Menaud, Marc Ségura-Devillechaise, et al.. An expressive aspect language for system applications with Arachne. LNCS Transactions on Aspect-Oriented Software Development, 2006, 1 (1). ⟨inria-00442180⟩
160 View
378 Download

Share

Gmail Facebook X LinkedIn More