Title: The CoExistence of Program Versions: Encouraging a Trying-out Approach to Program Design

Speaker: Bastian Steinert (HPI)

Host: Ralf Lämmel, Inst. for Software Technology and CS

Date/Time: 6 Mar 2012 (Tuesday), 10am (ct)

Room: B013


Programmers spend considerable effort on improving the design of their programs. To facilitate reasoning during such design activities, literature recommends externalizing one’s thoughts and trying out ideas instead of simulating them mentally. But applying this trying-out approach to program design requires dedicated tool support to accomplish the tasks that can be the result of working on premature ideas—for example, withdrawing recent changes to start over or localizing a thereby introduced defect. Because such kind of work can be very tedious, the lack of appropriate tools renders trying-out less attractive.

I will present the concept of the coexistence of program versions and describe derived tool support (CoExist) dedicated to the tasks involved in trying-out. Our approach is based on continuous versioning of both source code and executables. We have implemented CoExist in Squeak/Smalltalk and conducted informal user studies as well as performance evaluations. I will present how CoExist supports programmers in trying out ideas.


Bastian Steinert is a PhD student with the Software Architecture Group (Prof. Dr. Robert Hirschfeld) at the Hasso Plattner Institute (HPI), University of Potsdam, Germany. In his research, Bastian is concerned with methods and tools to support creative problem solving as well as program comprehension. Besides these primary research topics, Bastian has a strong interest in programming language design, particularly in object-oriented principles and modularization concepts. He enjoys interactive programming and implements his research tools in Squeak/Smalltalk. Bastian holds a BSc and MSc in Software Engineering from the HPI, University of Potsdam. He worked as student research assistant at the HPI, was an intern with Daimler Chrysler Research Labs ( Ulm), contributed efforts to a start-up, and spent one and a half year with SAP (Walldorf) and SAP Research Labs (Palo Alto).