Dynamic Adaptation of the Squid Web Cache with Arachne

  • Authors:
  • Marc Segura-Devillechaise;Jean-Marc Menaud;Nicolas Loriant;Remi Douence;Mario Sudholt;Thomas Fritz;Egon Wuchner

  • Affiliations:
  • École des Mines de Nantes;École des Mines de Nantes;École des Mines de Nantes;École des Mines de Nantes;École des Mines de Nantes;University of British Columbia;Siemens

  • Venue:
  • IEEE Software
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Networking software, and in particular popular Web caches such as Squid, is highly optimized for execution speed and therefore disregards several common software design principles—for example, modularity. This is an important impediment to their adaptation to new requirements, such as extending an existing Web cache protocol or closing a security hole. Furthermore, such adaptations typically crosscut the applications' legacy code.The authors investigate the use of Arachne, a system for the aspect-oriented programming of C applications. They present three examples of adaptations of the Squid Web cache: correcting a security hole, introducing prefetching, and extending a protocol. These show that Arachne's expressive aspect language, especially its notion of sequence aspects, enables concise modularization of these adaptations, and that Arachne's dynamic weaver lets developers perform such adaptations without a perceptible performance overhead. This article is part of a special issue on aspect-oriented programming.