URIs for exceptions?

Over in the comments to Henry Story’s bug ontology post, I wrote:

There should be RDF representations of program error reports, such as Java exceptions. Then I could SPARQL for “NullPointerException in class so-and-so of project foobar“, and possibly a solution has been filed, or at least I will find a related bug.

Drew Perttula adds:

As to Richard’s “RDF representations of program error reports”, see http://themongoose.sourceforge.net for one of several projects that hash up the stack trace into an error id. Those seem like they could lead to excellent automatic URLs which can be later associated with the tracking of the bug that makes that stack trace. I’d love to get an error and paste its url directly in my browser to see “this error has [n] frequency in the last few weeks; [these] other users have been experiencing it; [this] developer is working on the bug fix, and the details for that bug are [here]”.

This would be very useful and is entirely doable. Exceptions should have URIs that resolve to the project’s issue tracker or web-based support forum.

This entry was posted in General, Semantic Web. Bookmark the permalink.

3 Responses to URIs for exceptions?

  1. Richard, I guess this is already the case at least for java exceptions, since they have a unique name, at least when the package is included. Of course, there should be some syntax to make a “real” URI out of it.

  2. Nah, Bernhard, exception class names don’t help here. There are millions of ways in which a java.lang.NullPointerException can be thrown—the identifier must depend on where it was thrown, and in which codebase (on the stacktrace). And a unique identifier on its own is not much help. It must be a URI that resolves to something useful.

  3. Specifically, it’s ok for the same bug to appear as multiple URIs, since we can fold them all together on the web server(s) that present the bug info pages. But it’s considerably worse for multiple errors to get the same URI, since then the user will probably get a disambiguation page that says “is this the wrong-type-from-config-file or the wrong-type-from-database error?”.