ACM Home Page
Please provide us with feedback. Feedback
Using production grammars in software testing
Full text PdfPdf (1.27 MB)
Source DSL archive
Proceedings of the 2nd conference on Domain-specific languages table of contents
Austin, Texas, United States
Pages: 1 - 13  
Year of Publication: 1999
ISBN:1-58113-255-7
Also published in ...
Authors
Emin Gün Sirer  Department of Computer Science, University of Washington, Box 352350, Seattle, WA
Brian N. Bershad  Department of Computer Science, University of Washington, Box 352350, Seattle, WA
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
SIGPLAN: ACM Special Interest Group on Programming Languages
USENIX Assoc : USENIX Assoc
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 50,   Citation Count: 11
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/331960.331965
What is a DOI?

ABSTRACT

Extensible typesafe systems, such as Java, rely critically on a large and complex software base for their overall protection and integrity, and are therefore difficult to test and verify. Traditional testing techniques, such as manual test generation and formal verification, are too time consuming, expensive, and imprecise, or work only on abstract models of the implementation and are too simplistic. Consequently, commercial virtual machines deployed so far have exhibited numerous bugs and security holes.In this paper, we discuss our experience with using production grammars in testing large, complex and safety-critical software systems. Specifically, we describe lava, a domain specific language we have developed for specifying production grammars, and relate our experience with using lava to generate effective test suites for the Java virtual machine. We demonstrate the effectiveness of production grammars in generating complex test cases that can, when combined with comparative and variant testing techniques, achieve high code and value coverage. We also describe an extension to production grammars that enables concurrent generation of certificates for test cases. A certificate is a behavioral description that specifies the intended outcome of the generated test case, and therefore acts as an oracle by which the correctness of the tested system can be evaluated in isolation. We report the results of applying these testing techniques to commercial Java implementations. We conclude that the use of production grammars in combination with other automated testing techniques is a powerful and effective method for testing software systems, and is enabled by a special purpose language for specifying extended production grammars.


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.

Adl-Tabatabai et al. 96
 
Aho et al 88
 
Bauer&Lamb 79
 
Berners-Lee et al 96
Berners-Lee, T., Fielding, R., Frystyk, H. "Informational RFC 1945 - Hypertext Transfer Protocol -- HTTP/1.0," Request for Comments, Internet Engineering Task Force, May 1996.
 
Celentano et al. 80
Celentano, A., Crespi-Reghizzi, S., Vigna, P. D., Ghezzi, C., Granata, G., and Savoretti, F. "Compiler Testing Using a Sentence Generator." In Software: Practice ~ Experience. 10(11), 1980, pp. 897-918.
 
Chang et al. 95
Chang, J., Richardson, D. J., and Sankar, S. "Automated Test Selection from ADL Speciflcattons." In the First California Software Symposium (CSS'95), March 1995.
 
Dean et al. 97
 
Dershowitz & Jouannaud 90
 
Dershowitz 93
 
Drossopoulou & Eisenbach 97
Drossopoulou, S., Elsenbach, S. "Java Is Typesafe - Probably." In 11th European Conference on Object Oriented Programming, June 1997.
 
Drossopoulou & Eisenbach 98
Drossopoulou, S., Eisenbach, S. "Towards an Operational Semantics and Proof of Type Soundness for Java." March 1998, to be published, http://www-dse.doc.ic.ac.uk/projects/slurp/ pubs/chapter.ps.
 
Drossopoulou et al. 99
Freund&Mitchell 98
 
Freund&Mitchell 99
Freund, S. N. and Mitchell, J. C. "A Type System for Java Bytecode Subroutines and Exceptions." To be published.
Gargantini & Heitmeyer 99
 
Griswold
Griswold, D. "The Java HotSpot Virtual Machine Architecture." http://www.javasoft.com/ products/hotspot/whitepaper.html
 
Inferno
Lucent Technologies. Inferno. http://inferno.bell-labs.com/mferno/
 
Lindholm&Yellin 99
Mandrioli et al. 95
 
McGraw & Felten 96
 
McKeeman 98
McKeeman, W. M. "Differential Testing for Software." Digital Technical Journal Vol 10, No 1, December 1998.
 
Meyer & Downing 97
 
Muller et al. 97
Muller, G., Moura, B., Bellard, F., Consel, C. "Harissa: A Flexible and Efficient Java Environment Mixing Bytecode and Compiled Code." In Proceedings of the Third Conference on Object Oriented Technologies, 1997.
Necula 97
Necula & Lee 98
 
Oracle
Oracle Corporation. Oracle Application Server Release 4.0 Documentation. http://technet.oracle.com/ doc/was.htm
 
Proebsting et al. 97
Proebstmg, T. A., Townsend, G., Bridges, P., Hartman, J.H., Newsham, T. and Watterson S. A. "Toba: Java for Applications: A Way Ahead of Time (WAT) Compiler." In Proceedings of the Third Conference on Object Oriented Technologies, 1997.
Prusinkiewicz et al. 88
Sirer et al. 98
Stata&Abadi 98
 
SunJWS
Sun. Java Web Server. http://www.sun.com/ so ftware/iwebserver/index .html
 
Syme 97
Syme, D. "Proving Java Type-Soundness." University of Cambridge Computer Laboratory Technical Report 427, June 1997.
 
Weyuker et al. 94

CITED BY  11
 
 
 

Collaborative Colleagues:
Emin Gün Sirer: colleagues
Brian N. Bershad: colleagues

Peer to Peer - Readers of this Article have also read: