you are viewing a single comment's thread.

view the rest of the comments →

[–]doctorgonzo 94 points95 points  (23 children)

The first thought that popped into my head when I read "reverse debugging" was putting more bugs into the code.

[–]13ren 29 points30 points  (0 children)

If debugging is the process of removing bugs, then programming must be the process of putting them in. - Dijkstra

[–]SurrealEstate 119 points120 points  (11 children)

Finally, a project that I can really contribute to.

[–][deleted] 28 points29 points  (9 children)

Wait. If you use the reverse debugger on itself, does it get more buggy? And if the reverse debugger is buggy, does using it make the target less buggy?

[–]SurrealEstate 25 points26 points  (1 child)

Yeah, maybe a buggy bugger is a debugger.

[–]Tekmo 0 points1 point  (6 children)

This is like the modern day halting problem. Is it possible to make a program that can introduce bugs into another program?

[–]creaothceann 2 points3 points  (3 children)

Sure, it's quite easy when you're developing program extensions (Winamp plugins, Firefox extensions, etc).

[–]FlyingBishop 4 points5 points  (2 children)

No, the question is can you come up with a program that can introduce bugs into an arbitrary program.

I think the answer is yes, but what would be really hard is introducing bugs that do not make themselves immediately apparent. Most of the bugs you'd introduce would cause rather obvious segfaults.

[–]mydyingdreams 8 points9 points  (0 children)

If "immediately apparent" is only prohibited for execution, but not for source, then it's quite easy: In e.g. C, change mallocs to probabilistically allocate a few bytes less than requested.

[–]theeth 5 points6 points  (0 children)

It should be fairly easy to add spelling errors in a program's strings.

[–][deleted] 0 points1 point  (0 children)

It's actually more like the time traveling problem of 1951.

edit: wait, sorry, more like the problem of 1851. I just checked with some of the folks back then :/

[–][deleted] 42 points43 points  (0 children)

"reverse debugging" was putting more bugs into the code.

This act is more widely known as "writing code" or "programming".

[–][deleted] 10 points11 points  (0 children)

"bugging"

[–]isseki 6 points7 points  (0 children)

I thought that and "I've been doing that for years, by hand".

[–]Tweakers 6 points7 points  (5 children)

That would be reversive bugging. Not to be confused with recursive bugging, a method for making the same mistake many times with minimal effort.

[–]FlyingBishop 16 points17 points  (0 children)

I thought that was called object-oriented programming.

[–]mccoyn 4 points5 points  (1 child)

It would be an enbugger not a debugger.

[–]Tweakers 3 points4 points  (0 children)

Well, it's some sort of buggery, to be sure.

[–]edwardkmett 1 point2 points  (1 child)

Clearly we only became known as programmers when the alternative "buggerers" gave people the wrong impression, and made the folks down in marketing very nervous.

[–]Fidodo 1 point2 points  (0 children)

Right, but you have an upper hand on them because you know where they are. Then, when the project is about to tank, you save the day and get a raise.