当前位置: X-MOL 学术Empir. Software Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Explicit programming strategies
Empirical Software Engineering ( IF 4.1 ) Pub Date : 2020-03-07 , DOI: 10.1007/s10664-020-09810-1
Thomas D. LaToza , Maryam Arab , Dastyni Loksa , Amy J. Ko

Software developers solve a diverse and wide range of problems. While software engineering research often focuses on tools to support this problem solving, the strategies that developers use to solve problems are at least as important. In this paper, we offer a novel approach for enabling developers to follow explicit programming strategies that describe how an expert tackles a common programming problem. We define explicit programming strategies, grounding our definition in prior work both within software engineering and in other professions which have adopted more explicit procedures for problem solving. We then present a novel notation called Roboto and a novel strategy tracker tool that explicitly represent programming strategies and frame executing strategies as a collaborative effort between human abilities to make decisions and computer abilities to structure process and persist information. In a formative evaluation, 28 software developers of varying expertise completed a design task and a debugging task. We found that, compared to developers who are free to choose their own strategies, developers given explicit strategies experienced their work as more organized, systematic, and predictable, but also more constrained. Developers using explicit strategies were objectively more successful at the design and debugging tasks. We discuss the implications of Roboto and these findings, envisioning a thriving ecosystem of explicit strategies that accelerate and improve developers’ programming problem solving.

中文翻译:

显式编程策略

软件开发人员解决各种各样的问题。虽然软件工程研究通常侧重于支持解决问题的工具,但开发人员用来解决问题的策略至少同样重要。在本文中,我们提供了一种新颖的方法,使开发人员能够遵循描述专家如何解决常见编程问题的显式编程策略。我们定义了明确的编程策略,将我们的定义建立在软件工程和其他采用更明确的问题解决程序的行业的先前工作中。然后,我们提出了一种称为 Roboto 的新颖符号和一种新颖的策略跟踪器工具,该工具将编程策略和框架执行策略明确表示为人类做出决策的能力与计算机构建过程和持久信息的能力之间的协作努力。在形成性评估中,28 位具有不同专业知识的软件开发人员完成了一项设计任务和一项调试任务。我们发现,与可以自由选择自己的策略的开发人员相比,给予明确策略的开发人员将他们的工作体验为更有组织、系统和可预测,但也更受约束。客观上,使用显式策略的开发人员在设计和调试任务上更成功。我们讨论了 Roboto 的影响和这些发现,
更新日期:2020-03-07
down
wechat
bug