What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 122 Stack Exchange communities.

Marcel Bruch had a great idea: A wiki for stack traces.

If you get a stack trace in your IDE, you click on it and pages from this wiki are offered (or a new page is created).

On the wiki pages, solutions for the problem could be posted.

So what we would need is a API to turn stack traces into "questions", upload them and SO would return a list of relevant links that the IDE could display. For browser users, there would be a text area where visitors can paste stack traces.

Would it be possible to create something like this on SO?

[EDIT] I feel that downvoters haven't even started to understand what this question is about. So some explanations:

What's a beginner? A beginner is someone who doesn't even know where to begin.

So the beginner has an error on his computer. What should he do? What can he do? He doesn't even understand half of the words on the screen. He can't tell which information we would need to help.

Furthermore, if you look at the questions, they are always the same. Theoretically, there is an infinite numbers of paths through a program but in reality, only a small number is executed. Beginners are humans. All human brains are similar. So the errors are similar. There might be 100 of them but not millions.

If beginners had a tool that would a) collect all useful information, b) submit that automatically to a search engine, and c) display similar problems, this would reduce a lot of confused questions on SO (and comments like "please provide additional information").

Now, a couple of people will argue "they should search" but that's the key problem: They don't know what's wrong. If you google for the error message, that might return something useful but not always. Try to google for "java.lang.NullPointerException: null".

For an expert, it's obvious how to solve this but a beginner (by definition) doesn't even know what a null pointer is.

Again, there are billions of places in a program where the code can throw NPEs but 99% of the places never do. And the small rest always throws it for the same reason (missing parameter on the command line, broken config file, broken database).

So my suggestion is to extend SO with a stacktrace wiki/search engine which allows to aggregate, search and quantify automatic error reports.

Tooling should include things like: Submit a stack trace (incl. program name, programming language and possibly class path) automatically, find similar reports, post answers/comments to those stack traces and merge them.

From my limited point of view, we already have almost everything at SO except for the stack trace search engine.

share|improve this question
3  
I'm not really sure how I imagine this working. There's a nearly infinite number of stack traces that you could get from a debugger. Sure, eventually we might be able to post them all, but I don't see how that would be useful to anyone. And I certainly don't know how/why it's easier for someone who isn't sitting in front of the debugger to answer the question. –  Cody Gray Jun 3 '11 at 13:00
1  
But in reality, you don't get an infinite number of stack traces because most issues have the same reason. –  Aaron Digulla Jun 6 '11 at 8:14
    
The same underlying reason, perhaps. But that doesn't mean the stack traces all look the same. Preparing a set of "common follies" wouldn't be that difficult. But problems with the same underlying cause (and even solution) can present themselves in more ways than you can shake a stick at. And even if you say, well, we'll just tackle the .NET Framework. Okay... Visual Studio exclusively? What about WinForms vs WPF vs ASP.NET vs Silverlight vs etc. etc. It's a noble idea, but I think the Q&A system we have is really the best approach we can hope for. –  Cody Gray Jun 6 '11 at 8:33
    
As always, belief isn't going to solve problems. Marcel has numbers and the numbers show that it works. I couldn't care less if VisualStudio doesn't support this :-) I have a feeling that this is a huge step forward to help beginners. When the wiki exists, framework developers can use the same numbers to improve their API to avoid the most common errors (or at least produce better error messages). –  Aaron Digulla Jun 6 '11 at 8:39
add comment

3 Answers

up vote 5 down vote accepted

I just came across this post as it refers to my blog post.

The idea Aaron describes is not exactly a "wiki for stacktraces" but a search engine for stacktraces that, given a user's stacktrace, gives you pointers to related threads in mailing lists, forums, issue trackers, or StackOverflow that contain (or refer to) similar stacktraces. It's not so much designed to automatically create questions and answers to them :)

The idea behind this search engine is that most stacktraces occur quite frequently like the one reported in the blog post and often several threads exist that discuss exactly the same problem. Web search engines do not work well for this kind of problem. Thus, we designed a search engine that points you directly to threads that discuss your problem. If you like, you might compare this to a search engine that aims to find similar questions in stackoverflow - which could help users to find already existing answers to their problem even before they post their question.

Just to provide some experimental numbers. To evaluate the quality of such a stacktrace search engine, we replayed the bug reports from Eclipse Bugzilla from 2001 to 2008 one by one and for each new bug report containing a stacktrace we tried to find the corresponding bug id this new report was marked as duplicate of. The result: In ~70% of all cases we found the right bug id under the top 3 positions. With such an approach the number of duplicates could be reduced significantly.

We are currently rewriting the engine to work with large databases and create several stacktrace crawlers that read RSS feeds, and mailing lists to find stacktraces. Yet the approach is language dependent to see whether people would use it and to learn whether it works in the large. However, most concepts can be generalized quite easily.

This project is part of the Eclipse Code Recommenders project hosted at http://eclipse.org/recommenders/.

There is also a slide deck that provides quick introduction what Code Recommenders is about: http://www.slideshare.net/Microbiotic/2010-0624-karlsruher-entwicklertag

If some of you guys are interested in discussing some more details of the search engine and how this could be integrated into StackOverflow - let me know. You can reach me and my team at eclipse.org/forums/eclipse.recommenders or via twitter @marcelbruch.

Thanks, Marcel

share|improve this answer
    
It seems that a stacktrace wiki is not welcome on SO. Are you going to provide one? –  Aaron Digulla Jun 6 '11 at 8:15
    
vartec pointed out that this might be a great business idea for answers.onstartups.com –  Aaron Digulla Jun 6 '11 at 9:39
1  
Work on this has already started quite some time before the blog post. Actually, Maven and several people at Eclipse already expressed some interest on this when I talked to them few months ago. We will set up such a system for Eclipse to see how far we get with this in the wild. Feel invited to join the discussion over at Eclipse: dev.eclipse.org/mhonarc/lists/recommenders-dev/msg00059.html Best, Marcel –  Marcel Jun 6 '11 at 16:47
add comment

The API that would allow writing is not going to be available for some time. Right now we only have read access. You can see the roadmap here: Announcing API version 1.1

I believe the community would strongly resist automated question asking, for a variety of reasons, but first and foremost is that enabling beginners to ask trivial questions without thought to what they are actually doing would negatively impact the usefulness of the site for experts.

share|improve this answer
    
I see what you mean but I can't agree: The problem of the beginner is that they don't know what to ask. All they have is an error message and very often, an expert can tell what's wrong by looking at the error - mostly because all beginners run into the same few issues. –  Aaron Digulla Jun 6 '11 at 8:17
add comment

Original blog post talks about it in context of one particular application/platform. And I do agree that's a good idea to have such a tool in support forums, but I don't think using SE for that would be good idea.

In order for this to work you'd have to have rather specialized search engine, which would do some smart comparison of stack traces. Which is going to be quite hard if your not limited to one language, framework, OS, etc.

Also kind of seem like a tool, which would attract "gimmi-teh-codez" kind of questions. I mean, question asked without putting in even a minimal effort to find solution on your own.

share|improve this answer
    
Same comment as for Adam: Since beginners don't know where to start, leaving them without tools is not a solution. So, yes, we need a specialized search engine and IDE tooling. As I see it, this would make the questions better because a) the tool would quickly point out existing solutions and b) if it's a new question, it would contain a lot of valuable information which a newbie didn't even knew was valuable. –  Aaron Digulla Jun 6 '11 at 8:20
    
Personally I really dislike the direction SO is taking lately. Used to be site for expert programmers, now it's turning into newbie support forum. Tools such as you propose, would make it even more so. I don't really think SE should be a site for ppl, who are to lazy to read the stack trace themselves. –  vartec Jun 6 '11 at 9:00
    
I'm sure they will all stop being lazy just because you don't like it ;-) Seriously: If we don't want to waste time with such questions, we have to provide tools for them to get better answers with less effort. –  Aaron Digulla Jun 6 '11 at 9:08
    
@Aaron: I agree it will be useful, but I do not agree that SE is the place for that. Especially that trivial questions are explicitly disallowed. Anyway, if you'd make a working system like that, you could make a lot of money on that. So rather than on meta, you should be on answers.onstartups.com –  vartec Jun 6 '11 at 9:33
add comment

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .