Aspect Interaction Analysis using Slicing and Graph based Semantics
نویسنده
چکیده
Aspect Oriented language aims to make cross-cutting concerns clearly identifiable with special linguistic construct called aspects. In order to analyze the properties of an aspect one should consider the aspect itself and the part of the system it affects. This part is just a slice of the entire system and can be extracted by exploiting program slicing algorithms. However they will behave correctly in isolation, but when interaction changes an aspect’s behavior or disables and aspect, we will term it as aspect interference. We will propose an approach to detect aspect interference, Aspect composition are modeled by using graph production system for modelling aspect-language semantics. This graph is transformed into runtime-state representation. Combined with the production system (also with proper tool) the execution of the aspect is simulated. This simulation results in LTS(labelled transition system) that can be used to analyze verify different behavior at join points.
منابع مشابه
Slicing Aspect-Oriented Software
Program slicing has many applications in software engineering activities including program comprehension, debugging, testing, maintenance, and model checking. In this paper, we propose an approach to slicing aspect-oriented software. To solve this problem, we present a dependencebased representation called aspect-oriented system dependence graph (ASDG), which extends previous dependence graphs,...
متن کاملData-flow and Control-flow Analysis of AspectJ Software for Program Slicing
We propose an approach for program slicing of AspectJ software, based on a novel data-flow and control-flow program representation. The representation is built at the source-code level and, unlike previous work, captures the semantic intricacies of various pointcut designators, multiple advices per joint point, dynamic advices, exceptions, and general flow of data to, from, and between advices....
متن کاملExtending Program Slicing in Aspect-Oriented Programming with Inter-Type Declarations
Program slicing can be very useful for understanding and debugging aspect-oriented programs. Program slicing is a common technique, but it is not trivial to use in aspectoriented programming. Current implementations of slicing tools lack support for features of popular aspect-oriented languages. This paper proposes a detailed algorithm for the construction of an aspect-oriented system dependenc...
متن کاملPolicy-Based Slicing of Hibernate Query Language
This paper introduces a policy-based slicing of Hibernate Query Language (HQL) based on a refined notion of dependence graph. The policies are defined on persistent objects, rather than transient objects, which are stored in an underlying database. We extend the Class Dependence Graph (ClDG) of object-oriented languages to the case of HQL, and we refine it by applying semantics-based Abstract I...
متن کاملAn Approach for Computing Dynamic Slice of Concurrent Aspect-Oriented Programs
We propose a dynamic slicing algorithm to compute the slice of concurrent aspect-oriented programs. We use a dependence based intermediate program representation called Concurrent Aspect-oriented System Dependence Graph (CASDG) to represent a concurrent aspect-oriented program. The CASDG of an aspect-oriented program consists of a system dependence graph (SDG) for the non-aspect code, a group o...
متن کامل