Log in

No account? Create an account

Previous Entry | Next Entry

Java software that's popular but buggy?

So, my new thesis topic involves detecting bugs (and intrusion attempts) by instrumenting the code that's of interest, extracting variable state profiles, and doing cluster analysis on the resulting data, looking for outliers. (Insert much handwaving here about exactly how I'll accomplish this, as I'm still in the process of reading the relevant papers to get up to speed.) With the right sort of clustering algorithm, outlying points in the profile stream frequently indicate risky executions, and in an ideal case, I'd be able to tie that information back to specific lines in the source code that bear further scrutiny, and to magically sniff out missing test cases that need to be added to the regression suite.

Everything that our group has done so far has been in Java, so I'll be doing a bunch of low-level JVM hacking using BCEL to instrument the programs that we're using for test cases. There's also an automated tool that was written a few years ago for 1.2, but it won't run under 1.4; fixing it may wind up on my "to do" list. Aside from a bunch of compiler tools, the main application that's been used as a guinea pig so far has been a Jabber client that a group of undergrads wrote last year, and my advisor wants me to find at least one more example.

What I need is a sizeable database of both successful and unsuccessful executions, which means that I need to find something that's popular, but still buggy enough to give me enough failure cases. (Actual crashes don't count, since you get a stack trace -- we're concerned with weird and subtle bugs, the sort that are hard to track down.) My first impulse was to use PCGen, since I have a captive audience for it in my D&D campaign, and the version that I need is still in beta, but we only use it once or twice a week, so I'm not sure that I'd get enough data from it. Ideally, I'd like to find something that a sizeable user community uses every day that's in Java, and that isn't of rock-solid quality. Can anyone think of a good example?



( 6 comments — Leave a comment )
Jan. 4th, 2004 04:02 pm (UTC)
Java Software that is buggy...
Well - my feel of java is that it's ALL buggy. Of course
I have only programmed in it a bit, and that is shaded by
the fact that the platforms i have done it on do not support
threading well...

The older version of openoffice should be a good bug farm for
you ;-)
Jan. 4th, 2004 04:31 pm (UTC)
someotherguy, my resident geekboy: "Not offhand. PCGen sounds like a good choice, though."
Jan. 4th, 2004 05:50 pm (UTC)
Off the top of my head: TopCoder has pretty much everything to do with their programming competitions, client- and server-side, written in Java; they might be interested. Also off the top of my head, FreeNet and related projects like Frost.
Jan. 4th, 2004 11:00 pm (UTC)
Freenet Bugs
Freenet has what they call the heisenbug which as far as i know
no one has figured out.
Jan. 4th, 2004 09:07 pm (UTC)
java software
I'd suggest ArgoUML from Tigris.org As far as I know it's in fairly wide use, but is still buggy. Plus, they have an open buzilla.

There are other packages from Tigris.org which may be suitable.
Jan. 5th, 2004 04:50 am (UTC)
Re: java software
Oh, that's right -- ArgoUML is the other example that's already been instrumented. I'm in the process of setting it and the Java Jabber client up to start playing with them, and with my data collection tools. I'll have to run over to tigris.org to check the other projects out; thanks!
( 6 comments — Leave a comment )