Home > Research > Publications & Outputs > AspectJ code analysis and verification with GASR

Electronic data

  • GASR16

    Rights statement: This is the author’s version of a work that was accepted for publication in Journal of Systems and Software. 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 Journal of Systems and Software, 117, 2016 DOI: 10.1016/j.jss.2016.04.014

    Accepted author manuscript, 35.4 MB, 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

AspectJ code analysis and verification with GASR

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

AspectJ code analysis and verification with GASR. / Fabry, Johan; De Roover, Coen; Noguera, Carlos et al.
In: Journal of Systems and Software, Vol. 117, 01.07.2016, p. 528-544.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Fabry, J, De Roover, C, Noguera, C, Zschaler, S, Rashid, A & Jonckers, V 2016, 'AspectJ code analysis and verification with GASR', Journal of Systems and Software, vol. 117, pp. 528-544. https://doi.org/10.1016/j.jss.2016.04.014

APA

Fabry, J., De Roover, C., Noguera, C., Zschaler, S., Rashid, A., & Jonckers, V. (2016). AspectJ code analysis and verification with GASR. Journal of Systems and Software, 117, 528-544. https://doi.org/10.1016/j.jss.2016.04.014

Vancouver

Fabry J, De Roover C, Noguera C, Zschaler S, Rashid A, Jonckers V. AspectJ code analysis and verification with GASR. Journal of Systems and Software. 2016 Jul 1;117:528-544. Epub 2016 Apr 16. doi: 10.1016/j.jss.2016.04.014

Author

Fabry, Johan ; De Roover, Coen ; Noguera, Carlos et al. / AspectJ code analysis and verification with GASR. In: Journal of Systems and Software. 2016 ; Vol. 117. pp. 528-544.

Bibtex

@article{506a4b77773f434faed21a18c8e161fb,
title = "AspectJ code analysis and verification with GASR",
abstract = "Aspect-oriented programming languages extend existing languages with new features for supporting modularization of crosscutting concerns. These features however make existing source code analysis tools unable to reason over this code. Consequently, all code analysis efforts of aspect-oriented code that we are aware of have either built limited analysis tools or were performed manually. Given the significant complexity of building them or manual analysis, a lot of duplication of effort could have been avoided by using a general-purpose tool. To address this, in this paper we present Gasr: a source code analysis tool that reasons over AspectJ source code, which may contain metadata in the form of annotations. Gasr provides multiple kinds of analyses that are general enough such that they are reusable, tailorable and can reason over annotations. We demonstrate the use of Gasr in two ways: we first automate the recognition of previously identified aspectual source code assumptions. Second, we turn implicit assumptions into explicit assumptions through annotations and automate their verification. In both uses Gasr performs detection and verification of aspect assumptions on two well-known case studies that were manually investigated in earlier work. Gasr finds already known aspect assumptions and adds instances that had been previously overlooked.",
keywords = "Aspect Oriented Programming, Source Code Analysis, Logic Program Querying, Aspectual Assumptions",
author = "Johan Fabry and {De Roover}, Coen and Carlos Noguera and Steffen Zschaler and Awais Rashid and Viviane Jonckers",
note = "This is the author{\textquoteright}s version of a work that was accepted for publication in Journal of Systems and Software. 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 Journal of Systems and Software, 117, 2016 DOI: 10.1016/j.jss.2016.04.014",
year = "2016",
month = jul,
day = "1",
doi = "10.1016/j.jss.2016.04.014",
language = "English",
volume = "117",
pages = "528--544",
journal = "Journal of Systems and Software",
issn = "0164-1212",
publisher = "Elsevier Inc.",

}

RIS

TY - JOUR

T1 - AspectJ code analysis and verification with GASR

AU - Fabry, Johan

AU - De Roover, Coen

AU - Noguera, Carlos

AU - Zschaler, Steffen

AU - Rashid, Awais

AU - Jonckers, Viviane

N1 - This is the author’s version of a work that was accepted for publication in Journal of Systems and Software. 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 Journal of Systems and Software, 117, 2016 DOI: 10.1016/j.jss.2016.04.014

PY - 2016/7/1

Y1 - 2016/7/1

N2 - Aspect-oriented programming languages extend existing languages with new features for supporting modularization of crosscutting concerns. These features however make existing source code analysis tools unable to reason over this code. Consequently, all code analysis efforts of aspect-oriented code that we are aware of have either built limited analysis tools or were performed manually. Given the significant complexity of building them or manual analysis, a lot of duplication of effort could have been avoided by using a general-purpose tool. To address this, in this paper we present Gasr: a source code analysis tool that reasons over AspectJ source code, which may contain metadata in the form of annotations. Gasr provides multiple kinds of analyses that are general enough such that they are reusable, tailorable and can reason over annotations. We demonstrate the use of Gasr in two ways: we first automate the recognition of previously identified aspectual source code assumptions. Second, we turn implicit assumptions into explicit assumptions through annotations and automate their verification. In both uses Gasr performs detection and verification of aspect assumptions on two well-known case studies that were manually investigated in earlier work. Gasr finds already known aspect assumptions and adds instances that had been previously overlooked.

AB - Aspect-oriented programming languages extend existing languages with new features for supporting modularization of crosscutting concerns. These features however make existing source code analysis tools unable to reason over this code. Consequently, all code analysis efforts of aspect-oriented code that we are aware of have either built limited analysis tools or were performed manually. Given the significant complexity of building them or manual analysis, a lot of duplication of effort could have been avoided by using a general-purpose tool. To address this, in this paper we present Gasr: a source code analysis tool that reasons over AspectJ source code, which may contain metadata in the form of annotations. Gasr provides multiple kinds of analyses that are general enough such that they are reusable, tailorable and can reason over annotations. We demonstrate the use of Gasr in two ways: we first automate the recognition of previously identified aspectual source code assumptions. Second, we turn implicit assumptions into explicit assumptions through annotations and automate their verification. In both uses Gasr performs detection and verification of aspect assumptions on two well-known case studies that were manually investigated in earlier work. Gasr finds already known aspect assumptions and adds instances that had been previously overlooked.

KW - Aspect Oriented Programming

KW - Source Code Analysis

KW - Logic Program Querying

KW - Aspectual Assumptions

U2 - 10.1016/j.jss.2016.04.014

DO - 10.1016/j.jss.2016.04.014

M3 - Journal article

VL - 117

SP - 528

EP - 544

JO - Journal of Systems and Software

JF - Journal of Systems and Software

SN - 0164-1212

ER -