Write a Blog >>
ICSE 2021
Mon 17 May - Sat 5 June 2021

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.

Conference Day
Tue 25 May

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

19:35 - 20:55
1.5.2. Developers: Observational StudiesSEIP - Software Engineering in Practice / Journal-First Papers / Technical Track at Blended Sessions Room 2 +12h
Chair(s): Carolyn SeamanUniversity of Maryland Baltimore County
19:35
20m
Paper
What Leads to a Confirmatory or Disconfirmatory Behaviour of Software Testers?Journal-First
Journal-First Papers
Iflaah SalmanUniversity of Oulu, Pilar RodriguezUniversidad Politécnica de Madrid, Burak TurhanMonash University, Ayse TosunIstanbul Technical University, Arda GurellerEricsson
Pre-print
19:55
20m
Paper
An interview study of how developers use execution logs in embedded software engineeringSEIP
SEIP - Software Engineering in Practice
Nan YangEindhoven University of Technology, The Netherlands, Pieter CuijpersEindhoven University of Technology, Ramon SchiffelersEindhoven University of Technology and ASML, the Netherlands, Johan LukkienEindhoven University of Technology, Alexander SerebrenikEindhoven University of Technology
Pre-print
20:15
20m
Paper
Relating Reading, Visualization, and Coding for New Programmers: A Neuroimaging StudyTechnical Track
Technical Track
Madeline EndresUniversity of Michigan, Zachary KarasUniversity of Michigan, Xiaosu HuUniversity of Michigan, Ioulia KovelmanUniversity of Michigan, Westley WeimerUniversity of Michigan
Pre-print
20:35
20m
Paper
Explicit Programming StrategiesJournal-First
Journal-First Papers
Thomas LaTozaGeorge Mason University, Maryam ArabGeorge Mason University, Dastyni LoksaTowson University, Amy KoUniversity of Washington
Link to publication Pre-print

Conference Day
Wed 26 May

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

07:35 - 08:55
07:35
20m
Paper
What Leads to a Confirmatory or Disconfirmatory Behaviour of Software Testers?Journal-First
Journal-First Papers
Iflaah SalmanUniversity of Oulu, Pilar RodriguezUniversidad Politécnica de Madrid, Burak TurhanMonash University, Ayse TosunIstanbul Technical University, Arda GurellerEricsson
Pre-print
07:55
20m
Paper
An interview study of how developers use execution logs in embedded software engineeringSEIP
SEIP - Software Engineering in Practice
Nan YangEindhoven University of Technology, The Netherlands, Pieter CuijpersEindhoven University of Technology, Ramon SchiffelersEindhoven University of Technology and ASML, the Netherlands, Johan LukkienEindhoven University of Technology, Alexander SerebrenikEindhoven University of Technology
Pre-print
08:15
20m
Paper
Relating Reading, Visualization, and Coding for New Programmers: A Neuroimaging StudyTechnical Track
Technical Track
Madeline EndresUniversity of Michigan, Zachary KarasUniversity of Michigan, Xiaosu HuUniversity of Michigan, Ioulia KovelmanUniversity of Michigan, Westley WeimerUniversity of Michigan
Pre-print
08:35
20m
Paper
Explicit Programming StrategiesJournal-First
Journal-First Papers
Thomas LaTozaGeorge Mason University, Maryam ArabGeorge Mason University, Dastyni LoksaTowson University, Amy KoUniversity of Washington
Link to publication Pre-print