Skip to Main content Skip to Navigation
Journal articles

An expressive aspect language for system applications with Arachne

Rémi Douence 1, 2 Thomas Fritz 3 Nicolas Loriant 3, 1 Jean-Marc Menaud 3, 1 Marc Ségura-Devillechaise 3 Mario Südholt 3, 1
1 OBASCO - Objects, aspects and components
Mines Nantes - Mines Nantes, Inria Rennes – Bretagne Atlantique
2 ASCOLA - Aspect and composition languages
LINA - Laboratoire d'Informatique de Nantes Atlantique, Département informatique - EMN, Inria Rennes – Bretagne Atlantique
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.
Document type :
Journal articles
Complete list of metadata

Cited literature [58 references]  Display  Hide  Download
Contributor : Nicolas Loriant Connect in order to contact the contributor
Submitted on : Friday, December 18, 2009 - 3:12:52 PM
Last modification on : Wednesday, April 27, 2022 - 3:47:24 AM
Long-term archiving on: : Thursday, June 17, 2010 - 11:55:15 PM


Files produced by the author(s)


  • HAL Id : inria-00442180, version 1


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, Springer, 2006, 1 (1). ⟨inria-00442180⟩



Record views


Files downloads