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

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint Dive into the research topics of 'XFindBugs: eXtended FindBugs for AspectJ'. Together they form a unique fingerprint.

  • 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