A proof of incorrectness of a program can be given by
showing a single input on which the program fails
to give the correct output.
Some mathematical proof techniques operate by looking for counter-examples.
When combined these with the published
ProofOfCorrectness for programs
you have a way to
uncover bugs.
This is in tight relation to the falsification theory of philosophy of science. Also, in its refined forms, it models "positive heuristics" (knowledge of what is good, so where the problem should not be) to know where to look when you have a proof of incorrectness.