Slides presenting results from our IST paper (https://arxiv.org/abs/1710.04692) / IEEE Software blog post (http://blog.ieeesoftware.org/2017/11/can-we-trust-stack-overflow-netiquette.html) investigating whether we can trust Stack Overflow netiquette for writing better questions.
How to Ask for Technical Help? Evidence-based Guidelines for Writing Questions on Stack Overflow
1. How to Ask for Technical Help?
Evidence-based Guidelines for Writing
Questions on Stack Overflow
Fabio Calefato, Filippo Lanubile, Nicole Novielli
COLLAB
University of Bari
Int’l Colloquium on Language Devices and Communication Strategies in Digital Communities
Bari, Nov. 28, 2017
2. • Programmers cooperate, directly or indirectly
• Massive adoption of social media and rise of the ‘social programmer’ (Storey, ‘12)
and the surrounding ecosystem (Singer et al., ’13)
3. Community-based Q&A
• Devs more and more seek technical support
from experts other than teammates
– Before: mailing lists and web forums
– Now: question-and-answer sites
• Benefits
– Often answered within minutes
– Gamification leverages
community participation
– Skills acknowledgment
4. • Q&A site for sw developers
• Created in 2008 by Jeff Atwood and Joel
Spolsky
• Most successful Q&A site
– ~15M questions
– ~23M answers
– ~8M users
– ~40M visits per month
5.
6. A shift in Q&A sites purpose
Platforms originally aimed at
providing quick solutions to the
information seeker
Platforms supporting the process
of community-driven knowledge
creation
Anderson et al., Discovering Value from Community Activity on Focused Question
Answering Sites: A Case Study of Stack Overflow, KDD 2012
Short-term value,
mostly for the or
original asker
Long-term value,
for a broader
audience
7. • Important for SE from both professional and
educational perspective
• ~40M visits per month [1]
– ~16M from professional developers
• ~8M registered users [1]
– ~70% report to be self-taught sw devs
• Developers read manuals less and less, they
rather “search” [2]
[1] http://stackoverflow.com/research/developer-survey-2016
[2] M. Shaw, Progress Toward an Engineering Discipline for Software, ICSE 2016 Keynote
12. Wait, we said
“No chit-chat.”!
Excellent tips, thanks!
I'm trying to do this in a makefile and
it fails horribly: do you know why?
Thanks, Jason
That answer was extremely
helpful Scott, thanks for the
pointer on that!
Excellent! Thanks for the link.
“
“
15. Toxicity Hazard /1
Various blog posts from the web
• My Love-Hate Relationship with Stack Overflow
• Why I no Longer Contribute to StackOverflow
• One Aspect of Stack Overflow I Hate and How to
Fix it
• StackOverflow needs Tweaking
• StackOverflow is Dead
• StackOverflow Sucks
• Why StackOverflow Sucks
• This is Why StackOverflow Sucks
• Why StackOverflow Sucks and Participating
There is Impossible
• Stack Overflow Hates New Users
• Stackoverflow Is A Difficult Community to
Participate In
• Off-topic on Stackoverflow: that’s enough
20. Affect
SentiStrength
• Estimates the strength of both positive and
negative polarity in short text
Excerpts from the Stack Overflow
Sentiment Strength
Scores
Discretized Sentiment
Scores
Positive Negative Positive Negative Neutral
“I have very simple and stupid trouble […].
I'm pretty confused, explain please, what is
wrong?”
+1 -2 False True False
“[…] Any help would be really great! :-)” +5 -1 True False False
“I want them to resize based on the length
of the data they’re showing”
+1 -1 False False True
22. Findings
# Guideline
Success
factor
Empirical
support
User
perception
Source
1
Write questions using
a neutral emotional
style
Affect Yes Effective
Skeet, SO Help Center,
Kucuktunc et al., Bazelli et
al.
2
Provide sample code
and data
Presentation
quality
Yes Effective
Skeet, Asaduzzaman et al.,
Duijn et al., Treude et al.
3
Use capital letters
where appropriate
Presentation
quality
Yes Effective Skeet
4 Be concise
Presentation
quality
Yes Ineffective Skeet
5
Use short, descriptive
question titles
Presentation
quality
No Ineffective Skeet
6
Provide context
through tags
Presentation
quality
No Effective Skeet
7
Provide context
through URLs
Presentation
quality
No Effective Ponzanelli et al.
8
Be aware of low-
efficiency hours
Time Yes Ineffective Bosu et al.
=
=
=
¹
¹
¹
= match
¹ mismatch
¹
¹
23. Toxicity Hazard /2
Answers from our survey
People on Stack Overflow
can be extremely rude
Novice users get flamed
in this forum
Now I access Stack Overflow
through Google without a user
account
It’s my last resort, I don’t really
want to deal with their arrogant
comments
“
“
24. Toxicity Hazard /3
StackOverflow is like ‘the high school
cool kids table’ from the movies
http://michael.richter.name/blogs/why-i-
no-longer-contribute-to-stackoverflow
“ “
25. Take-away message
• To reduce the number of unresolved questions,
help users ask better ones
• Increase the awareness in the community
about available guidelines
• Focus only on those that actually work
26. Thanks!
Contents lists available at ScienceDirect
Information and Software Technology
journal homepage: www.elsevier.com/locate/infsof
How to ask for technical help? Evidence-based guidelines for writing
questions on Stack Overflow
Fabio Calefatoa
, Filippo Lanubileb
, Nicole Noviellib,
*
a
Dipartimento Jonico, University of Bari “A. Moro”, via Duomo 259, 74123, Taranto, Italy
b
Dipartimento di Infomatica, University of Bari “A. Moro”, via E. Orabona 4, 70125, Bari, Italy
A R T I C L E I N F O
Keywords:
Social software engineering
Crowdsourcing
Stack Overflow
Question answering
Sentiment analysis
Emotion mining
A B S T R A C T
Context: The success of Stack Overflow and other community-based question-and-answer (Q&A) sites depends
mainly on the will of their members to answer others’ questions. In fact, when formulating requests on Q&A sites,
we are not simply seeking for information. Instead, we are also asking for other people's help and feedback.
Understanding the dynamics of the participation in Q&A communities is essential to improve the value of
crowdsourced knowledge.
Objective: In this paper, we investigate how information seekers can increase the chance of eliciting a successful
answer to their questions on Stack Overflow by focusing on the following actionable factors: affect, presentation
quality, and time.
Method: We develop a conceptual framework of factors potentially influencing the success of questions in Stack
Overflow. We quantitatively analyze a set of over 87 K questions from the official Stack Overflow dump to assess
the impact of actionable factors on the success of technical requests. The information seeker reputation is in-
cluded as a control factor. Furthermore, to understand the role played by affective states in the success of
questions, we qualitatively analyze questions containing positive and negative emotions. Finally, a survey is
conducted to understand how Stack Overflow users perceive the guideline suggestions for writing questions.
Results: We found that regardless of user reputation, successful questions are short, contain code snippets, and
do not abuse with uppercase characters. As regards affect, successful questions adopt a neutral emotional style.
Conclusion: We provide evidence-based guidelines for writing effective questions on Stack Overflow that soft-
ware engineers can follow to increase the chance of getting technical help. As for the role of affect, we em-
pirically confirmed community guidelines that suggest avoiding rudeness in question writing.
1. Introduction
Software engineering involves a large amount of social interaction,
as programmers often need to cooperate with others, whether directly
or indirectly [13]. The massive adoption of social media has spurred the
rise of the ‘social programmer’ [61] and the surrounding ecosystem
[56]. In fact, social media have deeply influenced the design of software
development-oriented tools such as GitHub1
and Stack Overflow,2
re-
spectively, a social coding site and a community-based question an-
swering site, which have recently attracted a considerable amount of
research on social software engineering [15,60,62].
Stack Overflow is an example of an online community where social
programmers do networking by reading and answering others’ ques-
tions, thus participating in the creation and diffusion of crowdsourced
knowledge and software documentation [1,62]. The success of Stack
Overflow and, more in general, of community-based question-and-an-
swer (Q&A) sites, mainly depends on the will of their members to an-
swer others’ questions. In fact, when formulating requests on Q&A sites,
we are not simply seeking for information but we are also asking for
other people's help and feedback. Understanding the dynamics of the
participation in Q&A communities is essential to improve the value of
crowdsourced knowledge [3,49,66]. Educating users to formulate
questions properly is beneficial not only for the information seekers,
since it increases the likelihood of receiving support, but also for the
whole community, since it enhances effective knowledge-sharing be-
havior, also in the perspective of the creation of long-lasting value
pieces of knowledge [3,11].
The Stack Overflow community provides official recommendations
http://dx.doi.org/10.1016/j.infsof.2017.10.009
Received 7 February 2017; Received in revised form 16 September 2017; Accepted 12 October 2017
*
Corresponding author.
E-mail addresses: fabio.calefato@uniba.it (F. Calefato), filippo.lanubile@uniba.it (F. Lanubile), nicole.novielli@uniba.it (N. Novielli).
1
https://github.com
2
http://stackoverflow.com
@fcalefato
collab.di.uniba.it/research