| Validating structural properties of nested objects |
| Full text |
Pdf
(309 KB)
|
| Source
|
Conference on Object Oriented Programming Systems Languages and Applications
archive
Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
table of contents
Vancouver, BC, CANADA
SESSION: Practitioner reports
table of contents
Pages: 294 - 304
Year of Publication: 2004
ISBN:1-58113-833-4
|
|
Authors
|
|
Darrell Reimer
|
IBM Research, Hawthorne, NY
|
|
Edith Schonberg
|
IBM Research, Hawthorne, NY
|
|
Kavitha Srinivas
|
IBM Research, Hawthorne, NY
|
|
Harini Srinivasan
|
IBM Research, Hawthorne, NY
|
|
Julian Dolby
|
IBM Research, Hawthorne, NY
|
|
Aaron Kershenbaum
|
IBM Research, Hawthorne, NY
|
|
Larry Koved
|
IBM Research, Hawthorne, NY
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 3, Downloads (12 Months): 13, Citation Count: 0
|
|
|
ABSTRACT
Frameworks are widely used to facilitate software reuse and accelerate development time. However, there are currently no systematic mechanisms to enforce the explicit and implicit rules of these frameworks. This paper focuses on a class of framework rules that place restrictions on the properties of data structures in framework applications. We present a mechanism to enforce these rules by the use of a generic "bad store template" which can be customized for different rule instances. We demonstrate the use of this template to validate specific bad store rules within J2EE framework applications. Violations of these rules cause subtle defects which manifest themselves at runtime as data loss, data corruption, or race conditions. Our algorithm to detect "bad stores" is implemented in the Smart Analysis-Based Error Reduction (SABER) validation tool, where we pay special attention to facilitating problem understanding and remediation, by providing detailed problem explanations. We present experimental results on four commercially deployed e-commerce applications that show over 200 "bad stores".
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
|
|
 |
2
|
|
| |
3
|
D. Bacon, J. Bloch, J. Bogda, C. Click, P. Haahr, D. Lea, T. May, J. Maessen, J.D. Mitchell, K. Nilsen, W. Pugh, E.G. Sirer. The "Double check locking is broken". http://www.cs.umd.edu/ pugh/java/memoryModel/DoubleCheckedLocking.html.
|
| |
4
|
|
 |
5
|
|
 |
6
|
Jong-Deok Choi , Keunwoo Lee , Alexey Loginov , Robert O'Callahan , Vivek Sarkar , Manu Sridharan, Efficient and precise datarace detection for multithreaded object-oriented programs, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, June 17-19, 2002, Berlin, Germany
|
 |
7
|
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]
|
 |
8
|
|
| |
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
|
|
| |
12
|
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.
|
 |
13
|
|
 |
14
|
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
|
| |
15
|
D. Hovemeyer and W. Pugh, Finding Bugs is Easy, <http://www.cs.umd.edu/ pugh/java/bugs/docs/findbugsPaper.pdf>
|
 |
16
|
|
| |
17
|
JavaTM 2 Platform, Enterprise Edition Specification, v1.4 API Specification, Sun Microsystems. 11/24/2003.
|
| |
18
|
S.C. Johnson. Lint, a C program checker. Unix Programmer's Manual, 4.2 Berkeley Software Distribution Supplementary Docs; U.C. Berkeley, 1984.
|
 |
19
|
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
|
| |
20
|
K.M.Leino, G. Nelson, and J. Saxe. ESC/Java User's Manual. Technical note 2000-002, Compaq Systems Research Center, Oct. 2001.
|
 |
21
|
|
| |
22
|
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>>.
|
| |
23
|
D. Reimer, K. Srinivas, H. Srinivasan, RD Johnson, and L. Koved. SABER: Smart Analysis Based Error Reduction. IBM Research Report, 2004.
|
 |
24
|
|
| |
25
|
N. Sterling. Warlock: a static data race analysis tool. In USENIX Proceedings, Winter Technical Conference, 1993, 97--106.
|
| |
26
|
|
|