Prosus, one of the biggest tech investment companies in Europe, has acquired Stack Overflow for a staggering $1.8 billion. The popular question-and-answer website and online repository clocks 100 million visitors a month.
However, the website has a lot of outdated answers/solutions.
Outdated answers
Technical Q&A websites are revolutionising how users seek information online. A 2015 case study showed Google developers perform an average of 12 code search queries daily.
Since its launch in 2008, Stack Overflow has hosted over 18 million questions and 27 million answers (as of 2020). The top eight discussed topics on the website are JavaScript, Java, C#, PHP, Android, jQuery, HTML, and Android.
Stack Overflow users earn reputation badges for an upvote on questions or answers. Users get privileges such as voting, commenting, and even editing other people’s posts once they accrue enough badges.
Software systems are developing at a rapid pace. For example, Android has released 18 major versions since September 2008. The quick evolution renders a lot of answers on Stack Overflow outdated.
It feels like StackOverflow has developed a fatal flaw with regard to web content. Almost every popular question has a top-voted and approved answer that is out of date. In most cases, the answer is totally wrong and no decent developer would recommend it anymore.
— Yehuda Katz (@wycats) July 27, 2021
In a paper by the IEEE fellows titled, “An Empirical Study of Obsolete Answers on Stack Overflow”, authors made the following observations:
- Over 58 percent of the answers were probably already obsolete when posted
- Only 20.5 percent of obsolete answers are ever updated
- Answers under certain topics like node.js and Android are more likely to become obsolete
The authors further suggested the website should develop mechanisms to encourage the whole community to maintain answers. Users seeking answers should be vigilant and must go through all the information in answer threads.
The reward system or the gamification of the website could also backfire. Software engineer Jason C Mcdonald said the number of votes an answer receives is sometimes not related to its accuracy, relevance, and usefulness.
Stack Overflow’s outdated answers project
Earlier this year, Stack Overflow introduced the Outdated Answers Project to address the frustration of users over obsolete answers. An internal survey found almost 14 percent of the users think shoddy/irrelevant answers give the website a bad rap.
The website already has a few feedback mechanisms in place to audit the quality and authenticity of the answer, including meta and internal staff checks. While the project is still in the beginning stages, Stack Overflow has identified what constitutes an outdated answer:
- Answers that become obsolete after new versions of frameworks are available
- Solutions that work but there are newer and better ways to achieve the same goal
- Solutions posing a security threat
- Answers which may be useful to developers working on legacy technologies but not for those working on newer technologies.
The team plans to use a mix of automation and user intervention to weed out the obsolete answers. The team will train the machine learning model and engage with the community to flag content.
Expert opinions
We sounded out a few experts and Stack Overflow users on ways to deal with the problem.
“StackOverflow depends on upvotes by existing members. These upvotes are accumulated over the years and are a great metric for deciding the quality of an answer. Basis upvotes, an answer is marked accepted. The problem starts when these accepted answers don’t work anymore or create further damage than solving. Hence, to identify the newer accurate answer, I think they can introduce a way of highlighting a newer acceptable answer by calculating the growth rate of its upvotes. Looking at the time of upvotes and their growth can help a visitor understand the upcoming accurate answer. Another solution is like upvote/downvote, there can be a flag to show that the existing best answer is “outdated”. This is especially needed, where the answer may damage the situation rather than solving it,” said Rushikesh Jadhav, chief technologist, ESDS Software Solution Pvt Ltd.
“Using Stack Overflow comes with a rider. When you don’t know the exact challenge you are facing, it is common to copy-paste your questions/errors to StackOverflow to find the solutions. Vice versa, you may just blindly implement the solutions suggested. This is only a quick fix as one may not have understood the challenge in/or the context as a whole.
Stack Overflow is a great place to be if you are debugging, but it has to be used with caution. Don’t allow it to get to your muscle memory. Use it to answer the questions, but also take time to understand why it’s the solution,” said Sujay Narumanchi, ML architect, Drishti Technologies.
As per Avneesh Agarwal, Founder and CEO of SpeckyFox Technologies, the Stack Overflow team can adopt following steps:
- Perform sampling and survey users to get their feedback
- Prioritise areas/tags that are frequently used and have maximum issues
- Fix the issues in these areas in phase I
- Apply 80-20 Pareto’s principle and clean the platform