Abstract:
Live programming is an activity in which the programmer edits code while observing the result of the program. It has been exercised mainly for pedagogical and artistic purposes, where outputs of a program are not straightforwardly imagined. While most live programming environments so far target programs that explicitly generate visual or acoustic outputs, we believe that live programming is also useful for data structure programming, where the programmer often has a hard time to grasp a behavior of programs. However, it is not clear what features a live programming environment should provide for such kind of programs. In this paper, we present a design of live programming environment for data structure programming, identify the problems of synchronization and mental map preservation, and propose solutions based on a calling-context sensitive identification technique. We implemented a live programming environment called Kanon, and tested with 13 programmers.
Reference:
Live, Synchronized, and Mental Map Preserving Visualization for Data Structure Programming (Akio Oka, Hidehiko Masuhara and Tomoyuki Aotani), In Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, ACM, 2018.
Bibtex Entry:
@inproceedings{oka2018onward,
author = {Akio Oka and Hidehiko Masuhara and Tomoyuki Aotani},
title = {Live, Synchronized, and Mental Map Preserving Visualization for Data Structure Programming},
booktitle = {Proceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software},
series = {Onward! 2018},
optannote = {submitted 2018-04-01},
month = nov,
year = 2018,
date = {2018-11-08},
isbn = {978-1-4503-6031-9},
location = {Boston, MA, USA},
pages = {72--87},
numpages = {16},
url = {http://doi.acm.org/10.1145/3276954.3276962},
doi = {10.1145/3276954.3276962},
acmid = {3276962},
publisher = {ACM},
keywords = {Kanon, JavaScript},
address = {New York, NY, USA},
keywords = {Live programming, data structures, object graph},
pdf = {onward2018.pdf},
abstract = {Live programming is an activity in which the programmer edits code while observing the result of the program. It has been exercised mainly for pedagogical and artistic purposes, where outputs of a program are not straightforwardly imagined. While most live programming environments so far target programs that explicitly generate visual or acoustic outputs, we believe that live programming is also useful for data structure programming, where the programmer often has a hard time to grasp a behavior of programs. However, it is not clear what features a live programming environment should provide for such kind of programs. In this paper, we present a design of live programming environment for data structure programming, identify the problems of synchronization and mental map preservation, and propose solutions based on a calling-context sensitive identification technique. We implemented a live programming environment called Kanon, and tested with 13 programmers.}
}