The Use Of Software Faults In Software Reliability Assessment And Software Mutation Testing