Making Live Programming Practical by Bridging the Gap Between Trial-and-error Development and Unit Testing
Live programming environments are powerful experimental tools that enable programmers to write programs in a trial-and-error way thanks to its quick feedback. One of the disadvantages of such interactive systems is that tests are transient. However, if we added an automated testing framework like JUnit to a live programming environment, we could not be able to fully exploit "liveness''. This is because we need to write proper parameters and expected values in advance.
We develop Shiranui, a live programming environment with unit testing features. In Shiranui, the programmers can check functions’ behaviors in a lively manner and then convert the results into persistent test cases. One of the features is to create a test case from an intermediate result, which makes construction of test cases a part of a debugging process.