| SABER: smart analysis based error reduction |
| Full text |
Pdf
(160 KB)
|
| Source
|
International Symposium on Software Testing and Analysis
archive
Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
table of contents
Boston, Massachusetts, USA
SESSION: Program analysis III
table of contents
Pages: 243 - 251
Year of Publication: 2004
ISBN:1-58113-820-2
Also published in ...
|
|
Authors
|
|
Darrell Reimer
|
IBM T.J. Watson Research Center, Hawthorne, NY
|
|
Edith Schonberg
|
IBM T.J. Watson Research Center, Hawthorne, NY
|
|
Kavitha Srinivas
|
IBM T.J. Watson Research Center, Hawthorne, NY
|
|
Harini Srinivasan
|
IBM T.J. Watson Research Center, Hawthorne, NY
|
|
Bowen Alpern
|
IBM T.J. Watson Research Center, Hawthorne, NY
|
|
Robert D. Johnson
|
IBM T.J. Watson Research Center, Hawthorne, NY
|
|
Aaron Kershenbaum
|
IBM T.J. Watson Research Center, Hawthorne, NY
|
|
Larry Koved
|
IBM T.J. Watson Research Center, Hawthorne, NY
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 4, Downloads (12 Months): 33, Citation Count: 10
|
|
|
ABSTRACT
In this paper, we present an approach to automatically detect high impact coding errors in large Java applications which use frameworks. These high impact errors cause serious performance degradation and outages in real world production environments, are very time-consuming to detect, and potentially cost businesses thousands of dollars. Based on 3 years experience working with IBM customer production systems, we have identified over 400 high impact coding patterns, from which we have been able to distill a small set of pattern detection algorithms. These algorithms use deep static analysis, thus moving problem detection earlier in the development cycle from production to development. Additionally, we have developed an automatic false positive filtering mechanism based on domain specific knowledge to achieve a level of usability acceptable to IBM field engineers. Our approach also provides necessary contextual information around the sources of the problems to help in problem remediation. We outline how our approach to problem determination can be extended to multiple programming models and domains. We have implemented this problem determination approach in the SABER tool and have used it successfully to detect many serious code defects in several large commercial applications. This paper shows results from four such applications that had over 60 coding defects.
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
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
2
|
|
 |
3
|
|
 |
4
|
|
| |
5
|
|
 |
6
|
|
 |
7
|
Jong-Deok Choi , Manish Gupta , Mauricio Serrano , Vugranam C. Sreedhar , Sam Midkiff, Escape analysis for Java, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.1-19, November 01-05, 1999, Denver, Colorado, United States
|
 |
8
|
James C. Corbett , Matthew B. Dwyer , John Hatcliff , Shawn Laubach , Corina S. Păsăreanu , Robby , Hongjun Zheng, Bandera: extracting finite-state models from Java source code, Proceedings of the 22nd international conference on Software engineering, p.439-448, June 04-11, 2000, Limerick, Ireland
[doi> 10.1145/337180.337234]
|
| |
9
|
D. L. Detlefs. An overview of the extended static checking system. SIGSOFT Proceedings of the First Workshop on Formal Methods in Software Practice, January 1996, 1--9.
|
 |
10
|
Maryam Emami , Rakesh Ghiya , Laurie J. Hendren, Context-sensitive interprocedural points-to analysis in the presence of function pointers, Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, p.242-256, June 20-24, 1994, Orlando, Florida, United States
|
| |
11
|
D. Engler, B. Chelf, A. Chou and S. Hallem, Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions, In Proc. of SOSP, October 2000, 1--16.
|
 |
12
|
|
 |
13
|
Seth Hallem , Benjamin Chelf , Yichen Xie , Dawson Engler, A system and language for building system-specific, static analyses, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, June 17-19, 2002, Berlin, Germany
|
| |
14
|
D. Hovemeyer and W. Pugh, Finding Bugs is Easy, http://www.cs.umd.edu/~pugh/java/bugs/docs/findbugsPaper.pdf
|
 |
15
|
|
| |
16
|
S.C. Johnson. Lint, a C program checker. Unix Programmer's Manual, 4.2 Berkeley Software Distribution Supplementary Docs; U.C. Berkeley, 1984.
|
| |
17
|
L. Koved, JABA-JAva Bytecode Analysis nhttp://www.research.ibm.com/javasec/JaBA.html.
|
 |
18
|
Larry Koved , Marco Pistoia , Aaron Kershenbaum, Access rights analysis for Java, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
| |
19
|
Object Technology International, Inc. Eclipse platform technical overview, July 2001, http://www.eclipse.org/whitepapers/eclipse-overview.pdf.
|
| |
20
|
Parasoft Corporation. Automatic Java{TM} software and component testing: using Jtest to automate unit testing and coding standard enforcement, http://www.parasoft.com/jsp/products/article.jsp?articleId=839&product=Jtest.
|
| |
21
|
|
CITED BY 10
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Monica S. Lam , Michael Martin , Benjamin Livshits , John Whaley, Securing web applications with static and dynamic information flow tracking, Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, p.3-12, January 07-08, 2008, San Francisco, California, USA
|
|
|
|
|