In the good old days physicists repeated each other's experiments, just to be sure. Today they stick to FORTRAN, so that they can share each other's programs, bugs included.
If you want more effective programmers, you will discover that they should not waste their time debugging, they should not introduce the bugs to start with.
Testing shows the presence, not the absence of bugs.
Program testing can be used to show the presence of bugs, but never to show their absence!
If debugging is the process of removing software bugs, then programming must be the process of putting them in.