Introduction
Motivation
Java protection
Kimera verification
Testing Techniques
Formal methods
Manual code analysis
Manual test generation
Testing on the public
Automated testing techniques
Comparison Testing
Testing Results
Test Coverage
Problems with Comparison Testing
Grammar-based test production
Grammar Properties
Test Generation
Grammar Experience
Conclusions