XFindBugs: eXtended FindBugs for AspectJ

Haihao Shen, Sai Zhang, Jianjun Zhao, Jianhong Fang, Shiyuan Yao

Research output: Chapter in Book/Report/Conference proceedingConference contribution

10 Citations (Scopus)

Abstract

Aspect-oriented software development (AOSD) is gaining popularity with the wider adoption of languages such as AspectJ. However, though the state-of-the-art aspect-oriented programming environment (such as AJDT in the Eclipse IDE) provides powerful capabilities to check the syntactic or grammar errors in AspectJ programs, it fails to detect potential semantic defects in aspect-oriented software systems. In this paper, we present XFindBugs, an eXtended FindBugs for AspectJ, to help programmers find potential bugs in AspectJ applications through static analysis. XFindBugs supports 17 bug patterns to cover common error-prone features in an aspect-oriented system, and integrates the corresponding bug detectors into the FindBugs framework. We evaluate XFindBugs on a number of large-scale open source AspectJ projects (306,800 LOC in total). In our evaluation, XFindBugs confirms 7 reported bugs and finds 257 previously unknown defects. Our experiment also indicates that the bug patterns supported in XFindBugs exist in real-world software systems, even for mature applications by experienced programmers.

Original languageEnglish
Title of host publicationProceedings of the 2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08
Pages70-76
Number of pages7
DOIs
Publication statusPublished - Dec 1 2008
Externally publishedYes
Event2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08 - Atlanta, GA, United States
Duration: Nov 9 2008Nov 10 2008

Other

Other2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08
CountryUnited States
CityAtlanta, GA
Period11/9/0811/10/08

Fingerprint

Aspect oriented programming
Defects
Static analysis
Syntactics
Software engineering
Semantics
Detectors
Experiments

All Science Journal Classification (ASJC) codes

  • Software

Cite this

Shen, H., Zhang, S., Zhao, J., Fang, J., & Yao, S. (2008). XFindBugs: eXtended FindBugs for AspectJ. In Proceedings of the 2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08 (pp. 70-76) https://doi.org/10.1145/1512475.1512490

XFindBugs : eXtended FindBugs for AspectJ. / Shen, Haihao; Zhang, Sai; Zhao, Jianjun; Fang, Jianhong; Yao, Shiyuan.

Proceedings of the 2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08. 2008. p. 70-76.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Shen, H, Zhang, S, Zhao, J, Fang, J & Yao, S 2008, XFindBugs: eXtended FindBugs for AspectJ. in Proceedings of the 2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08. pp. 70-76, 2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08, Atlanta, GA, United States, 11/9/08. https://doi.org/10.1145/1512475.1512490
Shen H, Zhang S, Zhao J, Fang J, Yao S. XFindBugs: eXtended FindBugs for AspectJ. In Proceedings of the 2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08. 2008. p. 70-76 https://doi.org/10.1145/1512475.1512490
Shen, Haihao ; Zhang, Sai ; Zhao, Jianjun ; Fang, Jianhong ; Yao, Shiyuan. / XFindBugs : eXtended FindBugs for AspectJ. Proceedings of the 2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08. 2008. pp. 70-76
@inproceedings{62607427319e42aa951ed78fc0509c9c,
title = "XFindBugs: eXtended FindBugs for AspectJ",
abstract = "Aspect-oriented software development (AOSD) is gaining popularity with the wider adoption of languages such as AspectJ. However, though the state-of-the-art aspect-oriented programming environment (such as AJDT in the Eclipse IDE) provides powerful capabilities to check the syntactic or grammar errors in AspectJ programs, it fails to detect potential semantic defects in aspect-oriented software systems. In this paper, we present XFindBugs, an eXtended FindBugs for AspectJ, to help programmers find potential bugs in AspectJ applications through static analysis. XFindBugs supports 17 bug patterns to cover common error-prone features in an aspect-oriented system, and integrates the corresponding bug detectors into the FindBugs framework. We evaluate XFindBugs on a number of large-scale open source AspectJ projects (306,800 LOC in total). In our evaluation, XFindBugs confirms 7 reported bugs and finds 257 previously unknown defects. Our experiment also indicates that the bug patterns supported in XFindBugs exist in real-world software systems, even for mature applications by experienced programmers.",
author = "Haihao Shen and Sai Zhang and Jianjun Zhao and Jianhong Fang and Shiyuan Yao",
year = "2008",
month = "12",
day = "1",
doi = "10.1145/1512475.1512490",
language = "English",
isbn = "9781605583822",
pages = "70--76",
booktitle = "Proceedings of the 2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08",

}

TY - GEN

T1 - XFindBugs

T2 - eXtended FindBugs for AspectJ

AU - Shen, Haihao

AU - Zhang, Sai

AU - Zhao, Jianjun

AU - Fang, Jianhong

AU - Yao, Shiyuan

PY - 2008/12/1

Y1 - 2008/12/1

N2 - Aspect-oriented software development (AOSD) is gaining popularity with the wider adoption of languages such as AspectJ. However, though the state-of-the-art aspect-oriented programming environment (such as AJDT in the Eclipse IDE) provides powerful capabilities to check the syntactic or grammar errors in AspectJ programs, it fails to detect potential semantic defects in aspect-oriented software systems. In this paper, we present XFindBugs, an eXtended FindBugs for AspectJ, to help programmers find potential bugs in AspectJ applications through static analysis. XFindBugs supports 17 bug patterns to cover common error-prone features in an aspect-oriented system, and integrates the corresponding bug detectors into the FindBugs framework. We evaluate XFindBugs on a number of large-scale open source AspectJ projects (306,800 LOC in total). In our evaluation, XFindBugs confirms 7 reported bugs and finds 257 previously unknown defects. Our experiment also indicates that the bug patterns supported in XFindBugs exist in real-world software systems, even for mature applications by experienced programmers.

AB - Aspect-oriented software development (AOSD) is gaining popularity with the wider adoption of languages such as AspectJ. However, though the state-of-the-art aspect-oriented programming environment (such as AJDT in the Eclipse IDE) provides powerful capabilities to check the syntactic or grammar errors in AspectJ programs, it fails to detect potential semantic defects in aspect-oriented software systems. In this paper, we present XFindBugs, an eXtended FindBugs for AspectJ, to help programmers find potential bugs in AspectJ applications through static analysis. XFindBugs supports 17 bug patterns to cover common error-prone features in an aspect-oriented system, and integrates the corresponding bug detectors into the FindBugs framework. We evaluate XFindBugs on a number of large-scale open source AspectJ projects (306,800 LOC in total). In our evaluation, XFindBugs confirms 7 reported bugs and finds 257 previously unknown defects. Our experiment also indicates that the bug patterns supported in XFindBugs exist in real-world software systems, even for mature applications by experienced programmers.

UR - http://www.scopus.com/inward/record.url?scp=77950591313&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=77950591313&partnerID=8YFLogxK

U2 - 10.1145/1512475.1512490

DO - 10.1145/1512475.1512490

M3 - Conference contribution

AN - SCOPUS:77950591313

SN - 9781605583822

SP - 70

EP - 76

BT - Proceedings of the 2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08

ER -