Hi Shaku, the main goal of the Code Prover is the verification of the code, which means proving the absence of run-time errors. Furthermore the Code Prover can give insight into the runtime behaviour and the data ranges of the code. To visualize this, the Code Prover highlights the code either in red (proven runtime error) orange (possible runtime error) and green (proven absence of runtime errors). Furthermore the Code Prover highlights unreachable code in grey.
This can not be done by the Bug Finder. Its main goal is to find bugs through exhaustive testing. The bugs found in the code are highlighted in red. Compared to the Code Prover, the Bug Finder is trading the depth of analysis for speed.
Both the bug finder and the Code Prover are explicitly designed during the development process. Many customers use the Bug Finder during the implementation of the code and both products for the unit tests, integration tests and acceptance tests.