Testing Java Virtual Machines


In this paper, the authors describe their experience with automatically testing Java virtual machines and describe two specific techniques for generating test cases.

In this paper, the authors describe their experience with automatically testing Java virtual machines. They outline two 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. They show that this fast and effective technique achieves broad code coverage and discuss its shortcomings.

Second, they present a well-structured technique for generating complex test cases from cogent grammar descriptions. They 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.

This 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.

About the author

TechWell Contributor's picture TechWell Contributor

The opinions and positions expressed within these guest posts are those of the author alone and do not represent those of the TechWell Community Sites. Guest authors represent that they have the right to distribute this content and that such content is not violating the legal rights of others. If you would like to contribute content to a TechWell Community Site, email editors@techwell.com.

StickyMinds is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

Nov 09
Nov 09
Apr 13
May 03