Efficient pointcut projection

In aspect-oriented programming languages pointcuts identify run-time events that trigger execution of additional features. Pointcuts normally have a pattern-based static element choosing guidelines whose execution activates an event, for example a pattern which picks method-call instructions depending on the target method’s name. Present implementations realize identification of matching directions by evaluating all instructions in the executed program and matching them with all patterns found in the program’s pointcuts. However this kind of execution is slow. An optimized implementation thus remains highly desirable in run-time environments that support the dynamic deployment of aspects; slow pattern evaluation invariably leads to a decline of the whole application. The patterns utilized in pointcuts based on current languages, i.e. method, constructor, and field signatures, are well structured. In an effort to speed-up pattern matching, this particular framework can be used, both to make indexes over the relevant instructions and also to optimize the order in which the sub-patterns are analyzed….

Contents: Efficient Pointcut Projection

1 Introduction
1.1 Terminology
1.2 Context and motivation
1.3 Contents
2 Data model of ALIA4J
2.1 Examples
3 Problem statement
3.1 Sub problems
3.2 Limitations
4 Database query optimisation
4.1 Indices
4.1.1 Theory
4.1.2 Application of theory
4.2 Selectivity
4.2.1 Theory
4.2.2 Application of theory
4.3 Query reordering
4.3.1 Theory
4.4 Summary
4.5 Conclusion
5 Call-site and pattern survey
5.1 Call-site characteristics
5.1.1 Methodology
5.1.2 Acquired information
5.1.3 Class names
5.1.4 Static initialisers
5.1.5 Constructors
5.1.6 Field reads and writes
5.1.7 Methods
5.1.8 Summary
Master thesis Efficient pointcut projection iiiContents
5.2 Pattern characteristics
5.2.1 Methodology
5.2.2 Acquired information
5.2.3 Static initialisers
5.2.4 Constructors
5.2.5 Field reads and writes
5.2.6 Methods
5.3 Optimisation strategies
5.3.1 Static initialisers
5.3.2 Constructors
5.3.3 Field reads and writes
5.3.4 Methods
5.3.5 Conclusion
6 Implementation
6.1 Methodology
6.1.1 Benchmarking techniques
6.1.2 Benchmarked areas
6.1.3 Setting up the benchmark data
6.1.4 Benchmark data
6.2 Base
6.3 Sub-pattern matching order
6.4 Sorting
6.4.1 Sorting by class
6.4.2 Sorting by name
6.4.3 Sorting by name prefix
6.4.4 Evaluation
6.5 Memory usage
6.6 Evaluation………..

Source: University of Twente

Download URL 2: Visit Now

Leave a Comment