Flexible and efficient profiling with aspect‐oriented programming

dc.contributor.authorWalter Binder
dc.contributor.authorDanilo Ansaloni
dc.contributor.authorAlex Villazón
dc.contributor.authorPhilippe Moret
dc.coverage.spatialBolivia
dc.date.accessioned2026-03-22T14:37:18Z
dc.date.available2026-03-22T14:37:18Z
dc.date.issued2011
dc.descriptionCitaciones: 16
dc.description.abstractAbstract Many 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‐level instrumentation details are hidden from the tool developer. In order to build efficient profilers, we introduce inter‐advice communication, an extension to common AOP languages that enables efficient data passing between advices that are woven into the same method using local variables. We illustrate our approach with two case studies. First, we show that an existing, instrumentation‐based tool for listener latency profiling can be easily recast as an aspect. Second, we present an aspect for comprehensive calling context profiling. In order to reduce profiling overhead, our aspect parallelizes application execution and profile creation, resulting in a speedup of 110% on a machine with more than two cores, compared with a primitive, non‐parallel approach. Copyright © 2011 John Wiley & Sons, Ltd.
dc.identifier.doi10.1002/cpe.1760
dc.identifier.urihttps://doi.org/10.1002/cpe.1760
dc.identifier.urihttps://andeanlibrary.org/handle/123456789/47580
dc.language.isoen
dc.publisherWiley
dc.relation.ispartofConcurrency and Computation Practice and Experience
dc.sourceUniversità della Svizzera italiana
dc.subjectComputer science
dc.subjectProfiling (computer programming)
dc.subjectBytecode
dc.subjectAspect-oriented programming
dc.subjectJava
dc.subjectProgramming language
dc.subjectInstrumentation (computer programming)
dc.subjectSpeedup
dc.subjectVirtual machine
dc.subjectOperating system
dc.titleFlexible and efficient profiling with aspect‐oriented programming
dc.typearticle

Files