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.
Type de document :
Article dans une revue
Transaction on Aspect-Oriented Software Development, LNCS, 2006, 1 (1)
Liste complète des métadonnées

Littérature citée [58 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00442180
Contributeur : Nicolas Loriant <>
Soumis le : vendredi 18 décembre 2009 - 15:12:52
Dernière modification le : vendredi 22 juin 2018 - 09:27:35
Document(s) archivé(s) le : jeudi 17 juin 2010 - 23:55:15

Fichier

douence.taosd06.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : inria-00442180, version 1

Citation

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. Transaction on Aspect-Oriented Software Development, LNCS, 2006, 1 (1). 〈inria-00442180〉

Partager

Métriques

Consultations de la notice

329

Téléchargements de fichiers

249