Hi All,
I want to start a project that can locate and fix or suggest fixes to software bugs. I mean that my idea is to automate software debugging process as much as possible. Actually, I don't know if there is anybody who implemented this idea before or thought about it, but I want to make it as my graduation project in the faculty.

So if there is anybody who can guide me to any useful material, please I need that material so much.

If you can't guide me to any useful scientific material about the subject but you have an effective research mechanism that I can use in my research about this subject, please tell me what you have and I'll be so grateful.

Thanks in advance for any help :)

I don't think a program can do that except for the simplest and most obvious of bugs; the kind that compilers or semantic checkers already catch for you 100% of the time. Finding anything more complex with any certainty needs a human brain behind the wheel. ;)

You can try it, but I think you'll get too many false positives or not be able to catch most bugs for it to be a practical tool... I'd start by looking at what syntactic and semantic checkers already find with high accuracy and see if I can write an automated correction tool that fixes the found problems and logs the change. I'm not sure you can do more than that without wreaking havoc, but the next step is probably trying to really formalize a debugging methodology and writing a program that does it for you at runtime and points out inconsistencies in data...

You can hook a running program like a debugger and then manipulate it, but I don't think it'd be easy or clean unless the debugger is designed for it. And even if it is, debugging logic is like spaghetti. Mine is at least. :D

One example of this might be quickcheck.

What kind of software bugs? Do you mean logic errors?

I am really not asure if that is possible. I mean computer programming is problem solving and in order to solve a problem the computer needs to understand it.

when computers have reached the point where they can understand and participate in an intelligent conversation then I would suggest that all of us programmers start looking for new jobs since then your project would have reached square one.

But that is only my opinion. I rarely lsiten to the opinions of others so I would not tell you to listen to mine.