A Systematic Approach to Programming
Abstract: We show how to systematically implement an algorithm in any imperative or functional programming language. The method is based on the premise that it is easy to write down how an algorithm proceeds on a concrete input. This information---which we call execution trace---is used as a starting point to derive the desired program. In contrast to test-driven development the program is directly constructed from the test cases instead of written separately. The program's operations, control flow and predicates guiding the control flow are worked out separately, which saves the programmer from having to think about them simultaneously. We demonstrate the method for two examples and discuss its utility. Additionally, we provide a formal framework to compare it with other approaches.
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.