1. A method of implementing code coverage for a target software application executing on a computer system comprising a processor and loaded from a software image, said method comprising the steps of: adding a bit dedicated for code coverage in each instruction in said target software application, wherein said code coverage bits are initially cleared by a compiler; during execution of said software application, utilizing a hardware circuit to set the code coverage bit for every instruction executed, wherein setting said code coverage bit indicates its corresponding instruction has executed; and after execution of each instruction, writing the modified software application code with code coverage bit set back to the executing software image, wherein a processor instruction cache is writable and operative to store updated code coverage bits associated with each instruction executed.