What Answer for Which Audience? Identifying Categories of Answers on Stack Overflow Damien & Glaucia CS846 - Fall 2019
RQ1: Are there categories of answer on SO? RQ2: Are those categories distributed differently depending on the audience? Exploratory Study Exploratory Study Most viewed questions Answer semantics Words of interest = {solution, answer, approach, version}
Exploratory Study: Mining categories Exploratory Study: Mining categories Semantics Semantics 1) Alternative answers 2) Version-specific answers 3) Similar answers Exploratory Study: Mining categories Exploratory Study Answer features Answer features } 1) Length of code 1) Length of code 1) Code ratio 2) Length of text 2) Length of text 3) Readability score (Flesh-Kincaid) 3) Readability score (Flesh-Kincaid) 1 4) Score 4) Score 4 5) Similarity with question (Jaccard) 9 5) Similarity with question (Jaccard) 2) Similarity with question 3 6) Edits 6) Edits 8 7) Order 7) Order 2 } 8) Contains link 8) Contains link 6 13 9) Contains bold 9) Contains bold 3) Formatting ratio 10) Contains list 10) Contains list 11) Contains image 11) Contains image 12) Number of comments 12 12) Number of comments 13) Response time 13) Response time 4) Response time
Mining Categories Mining Categories ● Late code Features: k-means and decision tree ● Late fancy explanation ● Late plain explanation ● Quick general code ● Quick general fancy explanation ● Quick general plain explanation ● Quick specific Example Example ● Late code ● Late fancy explanation ● Late plain explanation ● Alternative answers ● Quick general code ● Version-specific answers ● Similar answers ● Quick general fancy explanation ● Quick general plain explanation ● Quick specific Source: https://stackoverflow.com/questions/4105331/how-do-i-convert-from-int-to-string
Example Distribution of answers *conflicts ● 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 Conclusions Questions? We 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
Recommend
More recommend