ACM Home Page
Please provide us with feedback. Feedback
XFindBugs: eXtended FindBugs for AspectJ
Full text PdfPdf (191 KB)
Source Workshop on Program Analysis for Software Tools and Engineering archive
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering table of contents
Atlanta, Georgia
SESSION: Usability of analysis tools and results table of contents
Pages 70-76  
Year of Publication: 2008
ISBN:978-1-60558-382-2
Authors
Haihao Shen  Shanghai Jiao Tong University, Shanghai, China
Sai Zhang  Shanghai Jiao Tong University, Shanghai, China
Jianjun Zhao  Shanghai Jiao Tong University, Shanghai, China
Jianhong Fang  Shanghai Jiao Tong University, Shanghai, China
Shiyuan Yao  Shanghai Jiao Tong University, Shanghai, China
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 49,   Citation Count: 0
Additional Information:

abstract   references   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1512475.1512490
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
AJHotDraw. http: //sourceforge.net/projects/ajhotdraw.
 
2
AJHSQLDB. http://sourceforge.net/projects/ajhsqldb.
 
3
AspectJ. http://eclipse.org/aspectj/.
 
4
AspectJ Bugzilla. http://www.eclipse.org/aspectj/bugs.php.
 
5
Aspectj development tools (ajdt). http://www.eclipse.org/ajdt/.
 
6
AspectJ Programming Guide. http://www.eclipse.org/aspectj/doc/released/progguide.
 
7
Eclipse. http://www.eclipse.org/.
 
8
FindBugs. http://findbugs.sourceforge.net/.
 
9
Glassbox. http://www.glassbox.com/.
 
10
JLint. http://jlint.sourceforge.net/.
 
11
PMD. http://pmd.sourceforge.net/.
12
 
13
14
15
16
 
17
 
18
19
20
21
 
22
T. Henzinger, R. Jhala, R. Majumdar, and G. Sutre. Software verification with blast. In In Tenth International Workshop on Model Checking of Software (SPIN), volume 2648 of Lecture Notes in Computer Science, pages 235--239. Springer-Verlag, 2003., 2003.
23
 
24
D. Hovemeyer and W. Pugh. Finding concurrency bugs in java. 2004 PODC Workshop on Concurrency and Synchronization in Java Programs.
25
26
27
28
 
29
30
 
31
 
32
H. Shen, S. Zhang, J. Zhao, J. Fang, and S. Yao. XFindBugs: eXtended FindBugs for AspectJ. Technical Report TR-SJTU-CSE-08-06, Center for Software Engineering, Shanghai Jiao Tong University. Download: http://cse.sjtu.edu.cn/XFindBugs, July 2008.
33
 
34
35
 
36
S. Zhang, Z. Gu, Y. Lin, and J. Zhao. Change impact analysis for AspectJ programs. In Proc. 24th IEEE International Conference on Software Maintenance, Sep 2008.
 
37
 
38
Collaborative Colleagues:
Haihao Shen: colleagues
Sai Zhang: colleagues
Jianjun Zhao: colleagues
Jianhong Fang: colleagues
Shiyuan Yao: colleagues