2011
DOI: 10.1002/cpe.1760
|View full text |Cite
|
Sign up to set email alerts
|

Flexible and efficient profiling with aspect‐oriented programming

Abstract: SUMMARYMany profilers for virtual execution environments, such as the Java virtual machine (JVM), are implemented with low-level bytecode instrumentation techniques, which is tedious, error-prone, and complicates maintenance and extension of the tools. In order to reduce the development time and cost, we promote building profilers for the JVM using high-level aspect-oriented programming (AOP). We show that the use of aspects yields concise profilers that are easy to develop, extend, and maintain, because low-l… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
9
0

Year Published

2012
2012
2015
2015

Publication Types

Select...
4
2
1

Relationship

4
3

Authors

Journals

citations
Cited by 16 publications
(9 citation statements)
references
References 40 publications
0
9
0
Order By: Relevance
“…In contrast, an instrumentation framework such as DiSL has no need for the usual form of the around advice, which lets the advice code decide whether to skip or proceed with the method invocation [22]. DiSL therefore only supports inlining snippets before and after a particular join point, together with a way for the snippets inlined into the same method to exchange data using synthetic local variables [26], as illustrated on Figure 2.…”
Section: Methods Execution Time Profilermentioning
confidence: 99%
“…In contrast, an instrumentation framework such as DiSL has no need for the usual form of the around advice, which lets the advice code decide whether to skip or proceed with the method invocation [22]. DiSL therefore only supports inlining snippets before and after a particular join point, together with a way for the snippets inlined into the same method to exchange data using synthetic local variables [26], as illustrated on Figure 2.…”
Section: Methods Execution Time Profilermentioning
confidence: 99%
“…AOP has, for instance, been applied with some success to profiling [6] and runtime verification [1]. However, different domains have different needs, in particular in terms of the join-point model and, unfortunately, tracking information flows requires to operate at a granularity level not covered by our off-the-shelf weaver for JavaScript, AspectScript.…”
Section: Aspectizing Javascript Information Flowmentioning
confidence: 99%
“…Thus, later instrumentations generally cannot distinguish between the original code and code inserted by earlier instrumentations. 4 As a consequence, controlling the composition of instrumentations becomes infeasible. This is also true of the Scala library Mnemonics [11] which is slightly less low-level than the aforementioned frameworks; by exploiting Scala's type system, it ensures that only certain well-formed, type-safe bytecode sequences can be generated.…”
Section: Related Workmentioning
confidence: 99%
“…In the past, the AspectJ language [8] (or derivatives) has been used for implementing dynamic analyses; often alternative compilers are used for this purpose, such as MAJOR [4,16,17] and MAJOR2 [10,13] which allows instrumenting the Java class library unlike the standard AspectJ weaver. In AspectJ, aspects extend classes with pointcuts and advice.…”
Section: Aspect-oriented Approachesmentioning
confidence: 99%