University of Twente Student Theses

Login

Efficient pointcut projection

Bijker, Remko (2010) Efficient pointcut projection.

[img] PDF
1MB
Abstract:Pointcuts in aspect-oriented programming languages specify run-time events which cause execution of additional functionality. Hereby, pointcuts typically have a pattern-based static component selecting instructions whose execution triggers an event, e.g. a pattern that selects method-call instructions based on the target method's name. Current implementations realise identification of matching instructions by examining all instructions in the executed program and matching them against all patterns found in the program's pointcuts. But such an implementation is slow. An optimised implementation is therefore highly desirable in run-time environments which support the dynamic deployment of aspects; slow pattern evaluation invariably causes a slowdown of the entire application. The patterns used in pointcuts supported by current languages, i.e. method, constructor, and field signatures, are well structured. In order to speed-up pattern matching, this structure can be exploited, both to create indexes over the relevant instructions and to optimise the order in which the sub-patterns are evaluated. In this thesis we present background on pattern matching and outline two optimisation strategies. We furthermore present two case studies that survey signatures and patterns that actually occur in the real-world. This results in several heuristics that can improve the performance of matching patterns to instructions. The information gathered in the survey and the two outlines optimisation strategies are used to determine how efficient the different optimisation strategies work at run-time. We present multiple implementations of these optimisation strategies and compare their run-time performance. This results in several efficient optimisation strategies which can be chosen based on variables such as the number of attachments that are going to be applied, application size and memory requirements.
Item Type:Essay (Bachelor)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science
Programme:Computer Science BSc (56964)
Link to this item:https://purl.utwente.nl/essays/59754
Export this item as:BibTeX
EndNote
HTML Citation
Reference Manager

 

Repository Staff Only: item control page