Explicit programming strategies

被引:0
|
作者
Thomas D. LaToza
Maryam Arab
Dastyni Loksa
Amy J. Ko
机构
[1] George Mason University,
[2] University of Washington,undefined
来源
Empirical Software Engineering | 2020年 / 25卷
关键词
Developers; Productivity; Strategies; Test-driven development; Debugging;
D O I
暂无
中图分类号
学科分类号
摘要
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.
引用
收藏
页码:2416 / 2449
页数:33
相关论文
共 50 条
  • [21] Revisiting Explicit Negation in Answer Set Programming
    Aguado, Felicidad
    Cabalar, Pedro
    Fandinno, Jorge
    Pearce, David
    Perez, Gilberto
    Vidal, Concepcion
    THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2019, 19 (5-6) : 908 - 924
  • [22] EXPLICIT GENERAL SOLUTION IN LINEAR FRACTIONAL PROGRAMMING
    CHARNES, A
    COOPER, WW
    NAVAL RESEARCH LOGISTICS, 1973, 20 (03) : 449 - 467
  • [23] EXPLICIT PROGRAMMING-LANGUAGES IN INDUSTRIAL ROBOTS
    GINI, G
    GINI, M
    JOURNAL OF MANUFACTURING SYSTEMS, 1983, 2 (01) : 53 - 60
  • [24] Explicit MPC based on Approximate Dynamic Programming
    Bakarac, Peter
    Holaza, Juraj
    Kaluz, Martin
    Klauco, Martin
    Lofberg, Johan
    Kvasnica, Michal
    2018 EUROPEAN CONTROL CONFERENCE (ECC), 2018, : 1172 - 1177
  • [25] EXPLICIT LINEAR KERNELS VIA DYNAMIC PROGRAMMING
    Garnero, Valentin
    Paul, Christophe
    Sau, Ignasi
    Thilikos, Dimitrios M.
    SIAM JOURNAL ON DISCRETE MATHEMATICS, 2015, 29 (04) : 1864 - 1894
  • [26] NOTE ON EXPLICIT SOLUTION IN LINEAR FRACTIONAL PROGRAMMING
    CHARNES, A
    GRANOT, D
    GRANOT, F
    NAVAL RESEARCH LOGISTICS, 1976, 23 (01) : 161 - 167
  • [27] Experiments with explicit for-loops in genetic programming
    Ciesielski, V
    Li, X
    CEC2004: PROCEEDINGS OF THE 2004 CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1 AND 2, 2004, : 494 - 501
  • [28] CONSTRUCTING STRATEGIES FOR PROGRAMMING
    Gerdes, Alex
    Heeren, Bastiaan
    Jeuring, Johan
    CSEDU 2009: PROCEEDINGS OF THE FIRST INTERNATIONAL CONFERENCE ON COMPUTER SUPPORTED EDUCATION, VOL I, 2009, : 65 - 72
  • [29] Programming contest strategies
    Ernst, Fabian
    Moelands, Jeroen
    Pieterse, Seppo
    XRDS: Crossroads, 1996, 3 (02):
  • [30] Television programming strategies
    Herrero, Begona
    TRIPODOS, 2012, (29): : 146 - 148