A SYMBOLIC APPROACH TOWARDS CONSTRAINT BASED SOFTWARE VERIFICATION