Databases Reference
In-Depth Information
the best ratings. In order to find high quality content, Agichtein et al. [ 2 ] introduce
a framework that is able to separate high quality items from the rest. In a related
project, Shah and Pomerantz [ 29 ] found that contextual information such as a user's
profile can be used to predict content quality.
The above studies suggest that Q&A websites, if used intelligently, may pro-
vide useful information in a narrow professional domain. Therefore, building an
online Q&A community of professionals in the software engineering domain is a
promising approach. But what questions do developers ask in their daily work? Fol-
lowing, we examine studies regarding the questions that software developers ask.
Letovsky [ 23 ] identified five main question types: why, how, what, whether and dis-
crepancy. Fritz and Murphy [ 12 ] provide a list of questions that focus on issues that
occur within a project. Sillito et al. [ 30 ] provide a similar list focusing on questions
during evolution tasks. In their study on information needs in software development,
Ko et al. [ 20 ] found that the most frequently sought information included awareness
about artifacts and coworkers.
In contrast to the settings of these studies, Q&A websites provide a platform for
questions aimed at a general audience that is not part of the same project. Q&A
websites contain questions, but can also contain answers to anticipated questions
as well as opinions through comments and ratings. LaToza and Myers [ 22 ] found
that the most difficult questions from a developer's perspective dealt with intent and
rationale. This issue is addressed by the Stack Overflow platform, providing rich
context in the form of questions, answers and discussions, in which the intent and
rationale often become explicit.
15.2.3 Example Centric Programming
The number of code snippets available on Stack Overflow suggests that the Q&A
website can play a major role in Example Centric Programming. Programming
by example was found to be intuitive to many developers, novices and experts
alike [ 21 ]. Brandt et al. proposed [ 11 ] that embedding a task-specific search engine
in the development environment can significantly reduce the cost of finding infor-
mation and thus allow programmers to write better code more easily. Barzilay [ 6 ]
portrayed a comprehensive approach towards example centric programming, which
he calls the Example Embedding Ecosystem, in which example-related concerns are
weaved in the development process, software tools, practices, training, organization
culture and more.
Tools such as Strathcona [ 18 ]andPARSEWeb[ 36 ] provided developers with
code fragment recommendations, taken from a central code repository, by gener-
ating queries based on code context and the structural details of the developer's
activity. The quality of the code found by these tools was derived from the overall
quality of the repositories they use.
Search WWH ::




Custom Search