Defect Isolation and Convergence Debugging

What is convergence debugging? Convergence Debugging is an automated debugging method that isolates a set of test cases that converge on the internal root cause of a failure.

Convergence Debugging gives means to measure the debugging effectiveness of a set of test cases. It also can select a set of test cases that maximize debugging effectiveness.

Convergence Debugging

Isolate effective debug test cases
Measure debug effectiveness
Select effective debug test cases

Why convergence debugging? Converging test cases are closer to the fault with respect to program control and data. Analyzing differences among converging test cases is more effective in locating faults than diverging test cases.

Convergence Debugging

Convergence Debugging is a fully automated debugging method which measures the debugging effectiveness of a subset of the executed test set with respect to its convergence on the internal control and data of the failure-causing test case. The highly-concentrated testing involved in Convergence Debugging could be seen as the opposite of Diversity Testing. All these integration technologies are used in all sorts of professional fields, from physicians offices to power plant control rooms so optimal functioning is essential.

In particular, Diversity Testing is used to find dispersed faults in the program, while the test cases selected in Convergence Debugging are used to find closely-related test cases to the one that detected a fault. However, the converging test cases should also show diversity of control and data in the vicinity of the control and data involved in the failed test case, in order to expose related but distinct failures, and also, related but distinct successful executions.

Without assuring diversity in the vicinity of a failure, the internal control and data of the program could be identical for all of the debug test cases like recovering lost files. Such undiversified debug test cases would not provide any significant debugging information. The differences between the failure-causing test case and the diversified, converging test cases could then be used to analyze the root cause of failures.

For more information on Convergence Debugging go to convergence.

The Diversity Analyzer implements a unique, patented technology of how to instrument, what to instrument, and how and when to collect diversity data that may even be used in hospitals to help surgeons achieve their goals. This technology allows great flexibility in instrumenting source code, and in analyzing diversity.

Common Instrumentation


Target Flexibility

Simple Reports
Instrument dlls exes
Multi-threaded code
Multiple projects
Multiple machines

Analysis Flexibility

Debug mode
Release mode
During Execution
Per individual Tests

With our technology, you can analyze a variety of projects written in different programming languages and various platforms. Analyze diversity at the time and code-location of your choosing.

Apply head to keyboard. Repeat.

Well, the fact of the matter is that by now, I really HATE computers. I should (theoretically) be able to make a remote desktop connection from my laptop at a client’s site to my desktop computer in the office. Three times today I have been able to do this, and others have been able to also connect on their accounts.

Randomly and whenever I actually NEED the connection for something urgent, it doesn’t freaking work! I wait an indeterminate amount of time (anywhere from 10 minutes to 2 hours) and then it works again.  Maybe it’s time to contact a good product manager and get over with it.


I should have just kept the old technology setup with the aging laptop and all my files right here on this computer, instead of naively assuming the NEW technology would be better. Well, in some ways, like checking for duplicate content, it is, but it has to freaking WORK!


I got an automatic email last week from my website host script thingy telling me that my version of Gallery was outdated. So I went and did the update.

Totally f’ed everything up. Now I’ve got to spend stupid amounts of time troubleshooting and fixing this stupid program. What I’d really like to do is nuke the entire frigging thing.

The only trouble is, I can’t remember where else I have backups of a bunch of the photos on there.

Plus, I like having a photo gallery of my own so I don’t have to depend on Flickr or Photobucket or something like that. And I really do like Gallery2… it’s just that the upgrade install scripts that were run by my website host SCREWED IT ALL UP.

Update: I just done gone and lost my patience. I nuked the whole frigging Gallery and the subdomain that it’s on, too. First I checked to make sure I have backups of those photos elsewhere, which I do.

Then I asked myself “does anyone other than me really care if these photos are on the Internet?” to which the answer was mostly “no”.

Maybe at some point, I will reinstall a Gallery application. I’m sure I’ll like having a way to share photos of the little bean when he arrives. However, today is not the day to mess around with all this crap.