Can Design Thinking Improve Programming? III - From Problem Prevention to Graceful Recovery: Recovery Tools As Enabler For Trial and Error in Program Design

PI: Prof. Dr. Robert Hirschfeld



Design methods can significantly improve program design activities. To support this claim, we pro-pose to continue investigating the adoption of design methods in programming tasks. In our research, we analyze programming activities from a design perspective, develop tool support to better support the application of design methods in programming tasks, and conduct empirical experiments to examine gained improvements. For the coming project year, we are planning to examine how the availability of recovery tools affects the ability to apply trial and error in program design tasks. The trial and error approach is considered key to effective and efficient design. However, programmers face a constant need to submit to a structured and disciplined approach. Our recent research results suggest that the provision of adequate tools changes the rules and avoids this coercion. Our recent empirical examination of the effect of our current prototype reveals improvements in programming performance of up to 20% on aver-age. While these first results are promising, they provide only little information about the effect of recovery support in general. Further research is also required to better understand the needs in recovery scenarios and how to address them.