Skip to Main content Skip to Navigation
Theses

Prévention et détection des interférences inter-aspects : méthode et application à l'aspectisation de la tolérance aux fautes

Jimmy Lauret 1
1 LAAS-TSF - Équipe Tolérance aux fautes et Sûreté de Fonctionnement informatique
LAAS - Laboratoire d'analyse et d'architecture des systèmes
Abstract : Aspect-oriented programming (AOP) separates the different concerns of a computer software system to improve modularity. AOP offers many benefits since it allows separating the functional code from the non-functional code, thus improving reuse and configurability of computer systems. Configurability is essential to ensure the resilience of computer systems, since it allows modifying the dependability mechanisms. However, the paradigm of aspectoriented programming introduces new challenges regarding testing. In large systems where multiple non-functional concerns coexist, an AOP implementation of these concerns can be problematic. Sharing the same data flow and the same control flow, aspects implementing different concerns can write into variables read by other aspects, or interrupt the control flow involving various aspects, and thus preventing the execution of some aspects in the chain. In this work we focus more specifically on interference between aspects implementing fault tolerance mechanisms. This interference is due to a lack of declaration of fine-grain precedence between aspects or an incorrect precedence declaration. To better control the assembly of the various aspects composing fault tolerance mechanisms, we have developed a method combining avoidance of interferences with runtime detection interferences at code level. The purpose of avoidance is to prevent the introduction of interference by requiring a statement of precedence between aspects during the aspects integration. Detection allows exhibiting during the test, errors introduced in the precedence statement. These two aspects of our approach are performed through the use of an extension called AspectJ AIRIA. AIRIA 's constructs allow instrumentation and therefore the detection of interference between aspects, with facilities compilation to implement the interference avoidance. Our approach is designed and equipped to limit the debugging time : the tester can focus directly on the points where an interference occurs. Finaly, we illustrate our approach on a case study : a duplex replication protocol. In this context, the protocol is implemented using fine grained aspects allowing a better configurability of the replication policy.We show that the assembly of these fine-grained aspects gives rise to interference data flow and control flow that are detected by our instrumentation approach. We define a set of interfering aspects in this example, and show how our approach allows the detection of interferences.
Document type :
Theses
Complete list of metadata

Cited literature [82 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-01067471
Contributor : Arlette Evrard <>
Submitted on : Tuesday, September 23, 2014 - 2:44:39 PM
Last modification on : Thursday, June 10, 2021 - 3:04:22 AM
Long-term archiving on: : Wednesday, December 24, 2014 - 8:56:10 PM

Identifiers

  • HAL Id : tel-01067471, version 1

Citation

Jimmy Lauret. Prévention et détection des interférences inter-aspects : méthode et application à l'aspectisation de la tolérance aux fautes. Informatique et langage [cs.CL]. Institut National Polytechnique de Toulouse - INPT, 2013. Français. ⟨tel-01067471⟩

Share

Metrics

Record views

372

Files downloads

472