Explicit Programming Strategies
Thomas D. LaToza, Maryam Arab, Dastyni Loksa, Amy J. Ko

TL;DR
This paper introduces explicit programming strategies, a novel notation and tool to help developers follow structured problem-solving approaches, leading to improved success in design and debugging tasks.
Contribution
It presents a new formalization and notation for explicit programming strategies, along with a tool that supports their implementation and evaluation.
Findings
Developers using explicit strategies found their work more organized and systematic.
Explicit strategies increased success rates in design and debugging tasks.
Developers felt more constrained but more effective with explicit strategies.
Abstract
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 StrategyTracker tool that explicitly represents programming strategies and frame executing strategies as a collaborative effort between human abilities to make decisions and computer abilities to structure process and persist…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
