Home > Research > Publications & Outputs > Detecting broken pointcuts using structural com...

Electronic data

  • SCP-final

    Rights statement: This is the author’s version of a work that was accepted for publication in Science of Computer Programming. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in Science of Computer Programming, 150, 2017 DOI: 10.1016/j.scico.2017.06.011

    Accepted author manuscript, 785 KB, PDF document

    Available under license: CC BY-NC-ND: Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License

Links

Text available via DOI:

View graph of relations

Detecting broken pointcuts using structural commonality and degree of interest

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

Detecting broken pointcuts using structural commonality and degree of interest. / Khatchadourian, Raffi; Rashid, Awais; Masuhara, Hidehiko et al.
In: Science of Computer Programming, Vol. 150, 15.12.2017, p. 56-74.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Khatchadourian, R, Rashid, A, Masuhara, H & Watanabe, T 2017, 'Detecting broken pointcuts using structural commonality and degree of interest', Science of Computer Programming, vol. 150, pp. 56-74. https://doi.org/10.1016/j.scico.2017.06.011

APA

Khatchadourian, R., Rashid, A., Masuhara, H., & Watanabe, T. (2017). Detecting broken pointcuts using structural commonality and degree of interest. Science of Computer Programming, 150, 56-74. https://doi.org/10.1016/j.scico.2017.06.011

Vancouver

Khatchadourian R, Rashid A, Masuhara H, Watanabe T. Detecting broken pointcuts using structural commonality and degree of interest. Science of Computer Programming. 2017 Dec 15;150:56-74. Epub 2017 Jun 29. doi: 10.1016/j.scico.2017.06.011

Author

Khatchadourian, Raffi ; Rashid, Awais ; Masuhara, Hidehiko et al. / Detecting broken pointcuts using structural commonality and degree of interest. In: Science of Computer Programming. 2017 ; Vol. 150. pp. 56-74.

Bibtex

@article{73e67bd557f44842b33c68462483a928,
title = "Detecting broken pointcuts using structural commonality and degree of interest",
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).",
keywords = "Software development environments, Software maintenance, Software tools",
author = "Raffi Khatchadourian and Awais Rashid and Hidehiko Masuhara and Takuya Watanabe",
note = "This is the author{\textquoteright}s version of a work that was accepted for publication in Science of Computer Programming. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in Science of Computer Programming, 150, 2017 DOI: 10.1016/j.scico.2017.06.011",
year = "2017",
month = dec,
day = "15",
doi = "10.1016/j.scico.2017.06.011",
language = "English",
volume = "150",
pages = "56--74",
journal = "Science of Computer Programming",
issn = "0167-6423",
publisher = "Elsevier",

}

RIS

TY - JOUR

T1 - Detecting broken pointcuts using structural commonality and degree of interest

AU - Khatchadourian, Raffi

AU - Rashid, Awais

AU - Masuhara, Hidehiko

AU - Watanabe, Takuya

N1 - This is the author’s version of a work that was accepted for publication in Science of Computer Programming. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in Science of Computer Programming, 150, 2017 DOI: 10.1016/j.scico.2017.06.011

PY - 2017/12/15

Y1 - 2017/12/15

N2 - 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).

AB - 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).

KW - Software development environments

KW - Software maintenance

KW - Software tools

U2 - 10.1016/j.scico.2017.06.011

DO - 10.1016/j.scico.2017.06.011

M3 - Journal article

VL - 150

SP - 56

EP - 74

JO - Science of Computer Programming

JF - Science of Computer Programming

SN - 0167-6423

ER -