what answer for which audience? - plg.uwaterloo.camigod/846/current/projects/05-damien-gla… · 2)...

5
What Answer for Which Audience? Identifying Categories of Answers on Stack Overflow Damien & Glaucia CS846 - Fall 2019

Upload: others

Post on 06-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: What Answer for Which Audience? - plg.uwaterloo.camigod/846/current/projects/05-Damien-Gla… · 2) Version-specific answers 3) Similar answers Exploratory Study: Mining categories

What Answer for Which Audience? Identifying Categories of Answers on Stack Overflow

Damien & GlauciaCS846 - Fall 2019

Page 2: What Answer for Which Audience? - plg.uwaterloo.camigod/846/current/projects/05-Damien-Gla… · 2) Version-specific answers 3) Similar answers Exploratory Study: Mining categories

RQ1: Are there categories of answer on SO?

RQ2: Are those categories distributed differently depending on the audience?

Exploratory StudyMost viewed questions

Exploratory StudyAnswer semantics

Words of interest = {solution, answer, approach, version}

Page 3: What Answer for Which Audience? - plg.uwaterloo.camigod/846/current/projects/05-Damien-Gla… · 2) Version-specific answers 3) Similar answers Exploratory Study: Mining categories

Exploratory Study: Mining categoriesSemantics

Exploratory Study: Mining categoriesSemantics

1) Alternative answers2) Version-specific answers3) Similar answers

Exploratory Study: Mining categoriesAnswer features

1) Length of code2) Length of text3) Readability score (Flesh-Kincaid)4) Score5) Similarity with question (Jaccard)6) Edits7) Order8) Contains link9) Contains bold

10) Contains list11) Contains image12) Number of comments13) Response time

1

2

34

6

89

12

13

Exploratory StudyAnswer features

1) Length of code2) Length of text3) Readability score (Flesh-Kincaid)4) Score5) Similarity with question (Jaccard)6) Edits7) Order8) Contains link9) Contains bold

10) Contains list11) Contains image12) Number of comments13) Response time

1) Code ratio

2) Similarity with question

3) Formatting ratio

4) Response time

}

}

Page 4: What Answer for Which Audience? - plg.uwaterloo.camigod/846/current/projects/05-Damien-Gla… · 2) Version-specific answers 3) Similar answers Exploratory Study: Mining categories

Mining CategoriesFeatures: k-means and decision tree

Mining Categories● Late code

● Late fancy explanation

● Late plain explanation

● Quick general code

● Quick general fancy explanation

● Quick general plain explanation

● Quick specific

Example

● Alternative answers● Version-specific answers● Similar answers

Example● Late code

● Late fancy explanation

● Late plain explanation

● Quick general code

● Quick general fancy explanation

● Quick general plain explanation

● Quick specific

Source: https://stackoverflow.com/questions/4105331/how-do-i-convert-from-int-to-string

Page 5: What Answer for Which Audience? - plg.uwaterloo.camigod/846/current/projects/05-Damien-Gla… · 2) Version-specific answers 3) Similar answers Exploratory Study: Mining categories

Example● Late code

● Late fancy explanation

● Late plain explanation

● Quick general code

● Quick general fancy explanation

● Quick general plain explanation

● Quick specific

Source: https://stackoverflow.com/questions/245825/what-does-initializecomponent-do-and-how-does-it-work-in-wpf/247018#247018

Distribution of answers *conflicts

ConclusionsWe showed that:

● Different categories of answers● Devs are interested by different categories of answers

Implications:

● For lurkers: Filters to find answers faster (RQ1)● For respondents: Guidelines for how to write for a specific audience (RQ2)

Future Work:

● Investigate Semantics● Explore other feature combinations

Questions?