| XFindBugs: eXtended FindBugs for AspectJ |
| Full text |
Pdf
(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 |
|
| Bibliometrics |
Downloads (6 Weeks): 4, Downloads (12 Months): 50, Citation Count: 0
|
|
|
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
|
Chris Allan , Pavel Avgustinov , Aske Simon Christensen , Laurie Hendren , Sascha Kuzins , Ondřej Lhoták , Oege de Moor , Damien Sereni , Ganesh Sittampalam , Julian Tibble, Adding trace matching with free variables to AspectJ, Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
| |
13
|
|
 |
14
|
Nathaniel Ayewah , William Pugh , J. David Morgenthaler , John Penix , YuQian Zhou, Evaluating static analysis defect warnings on production software, Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, p.1-8, June 13-14, 2007, San Diego, California, USA
[doi> 10.1145/1251535.1251536]
|
 |
15
|
Nathaniel Ayewah , William Pugh , J. David Morgenthaler , John Penix , YuQian Zhou, Using FindBugs on production software, Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion, October 21-25, 2007, Montreal, Quebec, Canada
[doi> 10.1145/1297846.1297897]
|
 |
16
|
|
| |
17
|
|
| |
18
|
|
 |
19
|
Cormac Flanagan , K. Rustan M. Leino , Mark Lillibridge , Greg Nelson , James B. Saxe , Raymie Stata, Extended static checking for Java, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, June 17-19, 2002, Berlin, Germany
|
 |
20
|
Jan Hannemann , Gregor Kiczales, Design pattern implementation in Java and aspectJ, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
 |
21
|
Wilke Havinga , Istvan Nagy , Lodewijk Bergmans , Mehmet Aksit, A graph-based approach to modeling and detecting composition conflicts related to introductions, Proceedings of the 6th international conference on Aspect-oriented software development, March 12-16, 2007, Vancouver, British Columbia, Canada
[doi> 10.1145/1218563.1218574]
|
| |
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
|
David Hovemeyer , William Pugh, Finding more null pointer bugs, but not too many, Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, p.9-14, June 13-14, 2007, San Diego, California, USA
[doi> 10.1145/1251535.1251537]
|
 |
27
|
|
 |
28
|
|
| |
29
|
|
 |
30
|
Joseph R. Ruthruff , John Penix , J. David Morgenthaler , Sebastian Elbaum , Gregg Rothermel, Predicting accurate and actionable static analysis warnings: an experimental approach, Proceedings of the 30th international conference on Software engineering, May 10-18, 2008, Leipzig, Germany
[doi> 10.1145/1368088.1368135]
|
| |
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
|
|
|