ABSTRACT

Software development tends to be dominated by software engineering aspects. However, there are somewhat lower-level details that often conspire against the programmer and her desire to produce efficient code. These details frequently occur at the interfaces between the various steps involved in software development. Here, our emphasis is on the transition between algorithms and their implementation.