Table of Contents
Fetching ...

Understanding Usefulness in Developer Explanations on Stack Overflow

Martin Obaidi, Kushtrim Qengaj, Hannah Deters, Jakob Droste, Marc Herrmann, Kurt Schneider, Jil Klünder

TL;DR

The paper investigates what drives perceived usefulness of developer explanations on Stack Overflow by treating explanations as a communicative artifact and estimating a relative usefulness score $U_{ps}$ from upvotes. It uses a metadata-driven, correlation-based approach on 3,323 questions and 59,398 answers from the Android-tag to examine structural, contextual, and linguistic predictors, including $E_{pol}$, code blocks, and timing, alongside author reputation. Findings indicate that structural richness and timely, context-grounded explanations are associated with higher usefulness, while sentiment has a negligible effect and reputation exerts a moderate influence, implying credibility and content quality jointly shape judgments. The work provides open data and practical implications for requirements engineering and developer communication, promoting clearer, evidence-based explanations and awareness of potential authority biases in collaborative settings.

Abstract

Explanations are essential in software engineering (SE) and requirements communication, helping stakeholders clarify ambiguities, justify design choices, and build shared understanding. Online Q&A forums such as Stack Overflow provide large-scale settings where such explanations are produced and evaluated, offering valuable insights into what makes them effective. While prior work has explored answer acceptance and voting behavior, little is known about which specific features make explanations genuinely useful. The relative influence of structural, contextual, and linguistic factors, such as content richness, timing, and sentiment, remains unclear. We analyzed 3,323 questions and 59,398 answers from Stack Overflow, combining text analysis and statistical modeling to examine how explanation attributes relate to perceived usefulness (normalized upvotes). Structural and contextual factors, especially explanation length, code inclusion, timing, and author reputation, show small to moderate positive effects. Sentiment polarity has negligible influence, suggesting that clarity and substance outweigh tone in technical communication. This study provides an empirical account of what drives perceived usefulness in developer explanations. It contributes methodological transparency through open data and replication materials, and conceptual insight by relating observed communication patterns to principles of requirements communication. The findings offer evidence-based implications for how developers and RE practitioners can craft clearer and more effective explanations, potentially supporting fairer communication in both open and organizational contexts. From an RE perspective, these determinants can be interpreted as practical signals for ambiguity reduction and rationale articulation in day-to-day requirements communication.

Understanding Usefulness in Developer Explanations on Stack Overflow

TL;DR

The paper investigates what drives perceived usefulness of developer explanations on Stack Overflow by treating explanations as a communicative artifact and estimating a relative usefulness score from upvotes. It uses a metadata-driven, correlation-based approach on 3,323 questions and 59,398 answers from the Android-tag to examine structural, contextual, and linguistic predictors, including , code blocks, and timing, alongside author reputation. Findings indicate that structural richness and timely, context-grounded explanations are associated with higher usefulness, while sentiment has a negligible effect and reputation exerts a moderate influence, implying credibility and content quality jointly shape judgments. The work provides open data and practical implications for requirements engineering and developer communication, promoting clearer, evidence-based explanations and awareness of potential authority biases in collaborative settings.

Abstract

Explanations are essential in software engineering (SE) and requirements communication, helping stakeholders clarify ambiguities, justify design choices, and build shared understanding. Online Q&A forums such as Stack Overflow provide large-scale settings where such explanations are produced and evaluated, offering valuable insights into what makes them effective. While prior work has explored answer acceptance and voting behavior, little is known about which specific features make explanations genuinely useful. The relative influence of structural, contextual, and linguistic factors, such as content richness, timing, and sentiment, remains unclear. We analyzed 3,323 questions and 59,398 answers from Stack Overflow, combining text analysis and statistical modeling to examine how explanation attributes relate to perceived usefulness (normalized upvotes). Structural and contextual factors, especially explanation length, code inclusion, timing, and author reputation, show small to moderate positive effects. Sentiment polarity has negligible influence, suggesting that clarity and substance outweigh tone in technical communication. This study provides an empirical account of what drives perceived usefulness in developer explanations. It contributes methodological transparency through open data and replication materials, and conceptual insight by relating observed communication patterns to principles of requirements communication. The findings offer evidence-based implications for how developers and RE practitioners can craft clearer and more effective explanations, potentially supporting fairer communication in both open and organizational contexts. From an RE perspective, these determinants can be interpreted as practical signals for ambiguity reduction and rationale articulation in day-to-day requirements communication.
Paper Structure (27 sections, 1 figure, 5 tables)

This paper contains 27 sections, 1 figure, 5 tables.

Figures (1)

  • Figure 1: Overview of the study workflow following FLOW notation stapel2009flow. The symbols are chosen accordingly to the notation stapel2009flow.