‹Programming› 2019
Mon 1 - Thu 4 April 2019 Genoa, Italy
Wed 3 Apr 2019 14:45 - 15:30 at Bellini - Demos

This demonstration presents a live programming environment for data structures called Kanon [1,2]. The goal of the environment is to support professional programmers when they develop new data structures and operations thereof. The key feature for data structures is its automatic visualization of objects that are created in a program execution.

We first overviews the environment through a coding session of a small data structure. The environment assumes a program is written in a test-driven style, and displays objects as a node-link diagram. We introduce the notion of visualization contexts, which the program state stopped at the cursor position, and used for navigating the visualization.

We then discusses the features that support liveness and data-structures. The jump-to-construction mechanism navigates the programmer from a visual element to a code fragment that made the element. Our proposed graph layout algorithm automatically analyzes the object structure and places nodes so as to help the programmers to recognize the relations between objects. An on-the-fly test case generation mechanism enables top-down programming by letting the programmers handcraft an expected result upon a call to an unimplemented function.

Lastly, we discuss several issues for future research. Programming complicated data structures require customized visualization so that the programmer can see the objects at different levels of abstraction. In order not to distract the programmers’ focus, it is crucial to handle errors appropriately especially in an environment where program code can be erroneous in the middle of editing. Our user experiment discovered some programming mistakes that can only be observed with the live programming environment, which might be an effect of live programming on the way of programming.

alt text

[1] Oka, Masuhara and Aotani, “Live, synchronized, and mental map preserving visualization for data structure programming”, in Proceedings of Onward! 2018.

[2] https://prg-titech.github.io/Kanon/

Wed 3 Apr

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:45 - 15:30
DemosDemos at Bellini
A Language-Parametric Toolchain for Mining Idiomatic Code Patterns
Johan Fabry Raincode Labs, Belgium, Vadim Zaytsev Raincode Labs, Belgium, Kim Mens Université Catholique de Louvain, Belgium, Siegfried Nijssen UC Louvain, Hoang Son Pham UC Louvain, Coen De Roover Vrije Universiteit Brussel, Dario Di Nucci Vrije Universiteit Brussel, Tim Molderez Vrije Universiteit Brussel
Quickref: Auto-Documenting the Common Lisp Ecosystem
Didier Verna EPITA / LRDE
Programming Experiences with a Live Programming Environment for Data Structures
Hidehiko Masuhara Tokyo Institute of Technology, Akio Oka Tokyo Institute of Technology, Tomoki Ogushi Tokyo Tech