Optimizing the Evaluation of Patterns in Pointcuts

Remko Bijker, Christoph Bockisch, Andreas Sewe

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review


    Pointcuts in aspect-oriented programming languages specify runtime 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 realize identi﬿cation 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 optimized implementation is therefore highly desirable in runtime environments which support the dynamic deployment of aspects; slow pattern evaluation invariably causes a slowdown of the entire application. The patterns used in pointcuts as well as the signatures against they are matched, i.e., method, constructor, and ﬿eld signatures, are well structured. We present two case studies that survey patterns and signatures actually occurring in the wild. From the resulting data we derive several heuristics that can drive pattern-evaluation optimizations, both by creating indexes over the relevant instructions and by optimizing the order in which the sub-patterns are evaluated.
    Original languageUndefined
    Title of host publicationFourth workshop on Virtual Machines and Intermediate Languages
    Place of PublicationNew York
    PublisherAssociation for Computing Machinery (ACM)
    Number of pages10
    ISBN (Print)978-1-4503-0545-7
    Publication statusPublished - 2010
    EventFourth workshop on Virtual Machines and Intermediate Languages, Reno/Tahoe, Nevada, USA: Fourth workshop on Virtual Machines and Intermediate Languages - New York
    Duration: 1 Jan 2010 → …

    Publication series



    ConferenceFourth workshop on Virtual Machines and Intermediate Languages, Reno/Tahoe, Nevada, USA
    CityNew York
    Period1/01/10 → …


    • pointcuts
    • CR-D.3.3
    • Signatures
    • Aspect Oriented Programming
    • EWI-19539
    • patterns
    • IR-75914
    • Pattern-matching
    • METIS-275910

    Cite this