Loading...
Please wait, while we are loading the content...
Similar Documents
Testing Java Virtual Machines An Experience Report on Automatically Testing Java Virtual Machines
| Content Provider | Semantic Scholar |
|---|---|
| Author | Sirer, Emin Gün |
| Copyright Year | 1999 |
| Abstract | The Java Virtual Machine (JVM) has emerged as a ubiquitous platform for network computing. JVMs have been incorporated into browsers, web servers, database engines, and personal digital assistants, and there are plans under way to use them on embedded devices and smartcards. The adoption of JVMs into such diverse and security critical domains requires that their safety and security be tested rigorously. Unfortunately, Java virtual machines are large, complex, and have many subtleties, and consequently testing them is a difficult task. Commercial virtual machines deployed so far have had to rely on manual and ad hoc techniques for testing, and have subsequently exhibited substantial weaknesses that could lead to information theft or destruction. In this paper, we describe our experience with automatically testing Java virtual machines. We outline two effective automatic testing techniques for JVMs. The first technique is comparative evaluation with mutations, where randomly perturbed test inputs are used to identify discrepancies between different versions of JVMs. We show that this fast and effective technique achieves broad code coverage, and discuss its shortcomings. Second, we present a well-structured technique for generating complex test cases from cogent grammar descriptions. We describe lava, a special purpose language we developed to specify production grammars for testing, and show that grammar-based test generation can produce very complex test cases from compact specifications. The testing process is easy to steer, and can generate targeted test cases. Most importantly, grammars enable the tester to reason about the expected system behavior on the test inputs. We show how grammars can be used in conjunction with inductive proofs to solve the oracle problem, and describe various application areas for grammar based testing. Finally, we report the results of applying these techniques to commercial Java virtual machine implementations. |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://www.cs.cornell.edu/people/egs/kimera/papers/kimera-starwest99.pdf |
| Alternate Webpage(s) | http://www.cs.cornell.edu/People/egs/papers/kimera-starwest.pdf |
| Alternate Webpage(s) | http://www.cs.washington.edu/homes/egs/papers/kimera-starwest.ps |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Report |