SOFTWARE FAULT DETECTION VIA GRAMMAR-BASED TEST CASE GENERATION