Skip to main navigation Skip to search Skip to main content

Detecting broken pointcuts using structural commonality and degree of interest

  • Raffi Khatchadourian
  • , Awais Rashid
  • , Hidehiko Masuhara
  • , Takuya Watanabe

    Research output: Contribution to journal › Article (Academic Journal) › peer-review

    3 Citations (Scopus)

    Abstract

    Pointcut fragility is a well-documented problem in Aspect-Oriented Programming; changes to the base-code can lead to join points incorrectly falling in or out of the scope of pointcuts. Deciding which pointcuts have broken due to base-code changes is a daunting venture, especially in large and complex systems. We present an automated approach that recommends pointcuts that are likely to require modification due to a particular base-code change, as well as ones that do not. Our hypothesis is that join points selected by a pointcut exhibit common structural characteristics. Patterns describing such commonality are used to recommend pointcuts that have potentially broken with a degree of confidence as the developer is typing. The approach is implemented as an extension to the popular Mylyn Eclipse IDE plug-in, which maintains focused contexts of entities relevant to the task at hand using a Degree of Interest (DOI) model. We show that it is accurate in revealing broken pointcuts by applying it to multiple versions of several open source projects and evaluating the quality of the recommendations produced against actual modifications. We found that our tool made broken pointcuts 2.14 times more interesting in the DOI model than unbroken ones, with a p-value under 0.1, indicating a significant difference in final DOI value between the two kinds of pointcuts (i.e., broken and unbroken).
    Original languageEnglish
    Pages (from-to)56-74
    Number of pages19
    JournalScience of Computer Programming
    Volume150
    Early online date29 Jun 2017
    DOIs
    Publication statusPublished - 15 Dec 2017

    Research Groups and Themes

    • Cyber Security

    Fingerprint

    Dive into the research topics of 'Detecting broken pointcuts using structural commonality and degree of interest'. Together they form a unique fingerprint.

    Cite this