An Exploratory Study of Writing and Revising Explicit Programming Strategies

04/01/2020
by   Maryam Arab, et al.
0

Knowledge sharing plays a crucial role throughout all software application development activities. When programmers learn and share through media like Stack overflow, GitHub, Meetups, videos, discussion forums, wikis, and blogs, every developer benefits. However, there is one kind of knowledge that developers share far less often: strategic knowledge for how to approach programming problems (e.g., how to debug server-side Python errors, how to resolve a merge conflict, how to evaluate the stability of an API one is considering for adoption). In this paper, we investigate the feasibility of developers articulating and sharing their strategic knowledge, and the use of these strategies to support other developers in their problem-solving. We specifically investigate challenges that developers face in articulating strategies in a form in which other developers can use to increase their productivity. To observe this, we simulated a knowledge-sharing platform, asking experts to articulate one of their own strategies and then asked the second set of developers to try to use the strategies and provide feedback on the strategies to authors. During the study, we asked both strategy authors and users to reflect on the challenges they faced. In analyzing the strategies authors created, the use of the strategies, the feedback that users provided to authors, and the difficulties that authors faced addressing this feedback, we found that developers can share strategic knowledge, but authoring strategies require substantial feedback from diverse audiences to be helpful to programmers with varying prior knowledge. Our results also raise challenging questions about how future work should support searching and browsing for strategies that support varying prior knowledge.

READ FULL TEXT
research
10/31/2019

Explicit Programming Strategies

Software developers solve a diverse and wide range of problems. While so...
research
01/16/2018

Debugging Framework Applications: Benefits and Challenges

Aspects of frameworks, such as inversion of control and the structure of...
research
02/10/2021

GitHub Discussions: An Exploratory Study of Early Adoption

Discussions is a new feature of GitHub for asking questions or discussin...
research
02/10/2019

Swarm Debugging: the Collective Intelligence on Interactive Debugging

One of the most important tasks in software maintenance is debugging. To...
research
09/13/2021

Developers Who Vlog: Dismantling Stereotypes through Community and Identity

Developers are more than "nerds behind computers all day", they lead a n...
research
09/23/2022

QuantumSolver: A quantum tool-set for developers

This paper introduces a new opensource quantum tool-set called QuantumSo...
research
04/08/2021

An Exploratory Study on the Repeatedly Shared External Links on Stack Overflow

On Stack Overflow, users reuse 11,926,354 external links to share the re...

Please sign up or login with your details

Forgot password? Click here to reset