  When working on a program, developers traditionally have to simulate the
behavior of the abstract code in their heads until they can execute the
application. Live programming aims to support the development and comprehension
of programs by providing more immediate feedback on program behavior, but the
divide between code and behavior often remains. The goal of example-based live
programming is to remove this gap by allowing programmers to explore the actual
behavior of their code during development. This is achieved by defining live
examples for parts of the application. The idea of live examples has been
already addressed in other tools and environments. However, most of those
solutions are limited to specific domains and are suitable only for small
programs. Thus, we aim to extend the application of example-based live
programming to more complex programs potentially spanning multiple modules. We
investigate existing solutions to derive a set of requirements for an
integration of live examples into source code. Based on these requirements we
propose a new approach to live examples and present a prototype in its support.
We reproduce, discuss, and extend scenarios from related work to show the
practicality of our approach in the context of larger, more complicated, and
with that also more realistic scenarios. Also, we measure and evaluate the
system response time of our prototypical implementation. Our first results show
that example-based live programming can provide more insights into the run-time
behavior of parameterized code for non-trivial programs. They also reveal
unsolved and new challenges affecting example-based live programming
environments. In presenting this more general approach to example-based live
programming, we hope to motivate further research into this area and to make
practical solutions available.
