Investigations on automated test data generation techniques with special reference to loops and infeasible paths