‹Programming› 2020
Mon 23 - Thu 26 March 2020 Porto, Portugal
Wed 25 Mar 2020 17:00 - 17:30 at Auditorium - Thinking about Data Chair(s): Jonathan Edwards

A growing amount of code is written to explore and analyze data, often by data analysts who do not have a traditional background in programming, for example by journalists.

The way such data analysts write code is different from the way software engineers do so. They use few abstractions, work interactively and rely heavily on external libraries. We aim to capture this way of working and build a programming environment that makes data exploration easier by providing instant live feedback.

We combine theoretical and applied approach. We present the data exploration calculus, a formal language that captures the structure of code written by data analysts. We then implement a data exploration environment that evaluates code instantly during editing and shows previews of the results.

We formally describe an algorithm for providing instant previews for the data exploration calculus that allows the user to modify code in an unrestricted way in a text editor. Supporting interactive editing is tricky as any edit can change the structure of code and fully recomputing the output would be too expensive.

We prove that our algorithm is correct and that it reuses previous results when updating previews after a number of common code edit operations. We also illustrate the practicality of our approach with an empirical evaluation and a case study.

As data analysis becomes an ever more important use of programming, research on programming languages and tools needs to consider new kinds of programming workflows appropriate for those domains and conceive new kinds of tools that can support them. The present paper is one step in this important direction.

Tomas is a Lecturer at University of Kent and a Collaborating Fellow at the Alan Turing Institute in London. He is building programming tools that integrate with modern data sources (open government data, data published by citizen initiatives) and let users easily create analyses and visualizations that are linked to the original data source, making the analyses more transparent, reproducible, but also easy to adapt. His early work on the project can be found at http://thegamma.net.

Tomas’ many other interests include open-source and functional programming (he is an active contributor to the F# ecosystem), programming language theory (his PhD thesis on “coeffects” develops a theory of context-aware programming language language), but also understanding programming through the perspective of philosophy of science.

Wed 25 Mar

Displayed time zone: Belfast change

16:00 - 17:30
Thinking about DataResearch Papers at Auditorium
Chair(s): Jonathan Edwards
16:00
30m
Research paper
Bacatá: Notebooks for DSLs, Almost for Free
Research Papers
Mauricio Verano Merino Technische Universiteit Eindhoven, Jurgen Vinju CWI, Netherlands, Tijs van der Storm CWI & University of Groningen, Netherlands
Link to publication DOI Pre-print
16:30
30m
Research paper
Fine-Grained, Language-Based Access Control for Database-Backed Applications
Research Papers
Ezra Zigmond Harvard University, Stephen Chong Harvard University, Christos Dimoulas PLT @ Northwestern University, Scott Moore Galois, Inc
Link to publication DOI Pre-print
17:00
30m
Research paper
Foundations of a live data exploration environment
Research Papers
Tomas Petricek University of Kent
Link to publication DOI Pre-print