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 条
  • [31] PROGRAMMING IS ALSO DEBUGGING
    Pecinovsky, Rudolf
    SOFTWARE DEVELOPMENT 2011, 2011, : 88 - 91
  • [32] Inverted Pair Programming
    Swamidurai, Rajendran
    Umphress, David
    IEEE SOUTHEASTCON 2015, 2015,
  • [33] Explicit expressions for the Leimkuhler curve in parametric families
    Maria Sarabia, Jose
    Sarabia, Maria
    INFORMATION PROCESSING & MANAGEMENT, 2008, 44 (05) : 1808 - 1818
  • [34] The interaction between explicit and relational incentives: An experiment
    Sloof, Randolph
    Sonnemans, Joep
    GAMES AND ECONOMIC BEHAVIOR, 2011, 73 (02) : 573 - 594
  • [35] The interplay and effectiveness of implicit and explicit avoidant defenses
    Marks, Michael J.
    Vicary, Amanda M.
    JOURNAL OF SOCIAL AND PERSONAL RELATIONSHIPS, 2016, 33 (05) : 619 - 639
  • [36] Flexibilizing Strategies Applied by Poultry Companies in the State of Zulia
    Bonomie, Maria
    Melean, Rosana
    REVISTA DE CIENCIAS SOCIALES, 2008, 14 (03): : 561 - 574
  • [37] Adapting to climate change: gaps and strategies for Central Asia
    Liu, Wanlu
    Liu, Lulu
    Gao, Jiangbo
    MITIGATION AND ADAPTATION STRATEGIES FOR GLOBAL CHANGE, 2020, 25 (08) : 1439 - 1459
  • [38] Virtual-C - a programming environment for teaching C in undergraduate programming courses
    Pawelczak, Dieter
    Baumann, Andrea
    2014 IEEE GLOBAL ENGINEERING EDUCATION CONFERENCE (EDUCON), 2014, : 1142 - 1148
  • [39] A non-zero integer non-linear programming model for maintenance workforce sizing
    Ighravwe, D. E.
    Oke, S. A.
    INTERNATIONAL JOURNAL OF PRODUCTION ECONOMICS, 2014, 150 : 204 - 214
  • [40] Debugging: The Good, the Bad, and the Quirky - a Qualitative Analysis of Novices' Strategies
    Murphy, Laurie
    Lewandowski, Gary
    McCauley, Renee
    Simon, Beth
    Thomas, Lynda
    Zander, Carol
    SIGCSE'08: PROCEEDINGS OF THE 39TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2008, : 163 - 167