SPLASH 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
Thu 21 Oct 2021 07:55 - 08:10 at Zurich D - Corpus and User Studies - mirror Chair(s): Julian Dolby
Thu 21 Oct 2021 15:55 - 16:10 at Zurich D - Corpus and User Studies Chair(s): Iulian Neamtiu

How working statically-typed functional programmers write code is largely understudied. And yet, a better understanding of developer practices could pave the way for the design of more useful and usable tooling, more ergonomic languages, and more effective on-ramps into programming communities. The goal of this work is to address this knowledge gap: to better understand the high-level authoring patterns that statically-typed functional programmers employ. We conducted a grounded theory analysis of 30 programming sessions of practicing statically-typed functional programmers, 15 of which also included a semi-structured interview. The theory we developed gives insight into how the specific affordances of statically-typed functional programming affect domain modeling, type construction, focusing techniques, exploratory and reasoning strategies, and expressions of intent. We conducted a set of quantitative lab experiments to validate our findings, including that statically-typed functional programmers often iterate between editing types and expressions, that they often run their compiler on code even when they know it will not successfully compile, and that they make textual program edits that reliably signal future edits that they intend to make. Lastly, we outline the implications of our findings for language and tool design. The success of this approach in revealing program authorship patterns suggests that the same methodology could be used to study other understudied programmer populations.

Thu 21 Oct

Displayed time zone: Central Time (US & Canada) change

07:40 - 09:00
Corpus and User Studies - mirrorOOPSLA at Zurich D
Chair(s): Julian Dolby IBM Research, USA
07:40
15m
Talk
Well-Typed Programs Can Go Wrong: A Study of Typing-Related Bugs in JVM CompilersVirtual
OOPSLA
Stefanos Chaliasos Athens University of Economics and Business, Thodoris Sotiropoulos Athens University of Economics and Business, Georgios-Petros Drosos Athens University of Economics and Business, Charalambos Ioannis Mitropoulos Technical University of Crete, Dimitris Mitropoulos University of Athens, Diomidis Spinellis Athens University of Economics and Business; Delft University of Technology
DOI
07:55
15m
Talk
How Statically-Typed Functional Programmers Write CodeVirtual
OOPSLA
Justin Lubin University of California at Berkeley, Sarah E. Chasins University of California at Berkeley
DOI
08:10
15m
Talk
What We Eval in the Shadows: A Large-Scale Study of Eval in R ProgramsVirtual
OOPSLA
Aviral Goel Northeastern University, Pierre Donat-Bouillud Czech Technical University, Filip Křikava Czech Technical University, Christoph Kirsch University of Salzburg; Czech Technical University, Jan Vitek Northeastern University; Czech Technical University
DOI
08:25
35m
Live Q&A
Discussion, Questions and Answers
OOPSLA

15:40 - 17:00
Corpus and User StudiesOOPSLA at Zurich D -8h
Chair(s): Iulian Neamtiu New Jersey Institute of Technology
15:40
15m
Talk
Well-Typed Programs Can Go Wrong: A Study of Typing-Related Bugs in JVM CompilersVirtual
OOPSLA
Stefanos Chaliasos Athens University of Economics and Business, Thodoris Sotiropoulos Athens University of Economics and Business, Georgios-Petros Drosos Athens University of Economics and Business, Charalambos Ioannis Mitropoulos Technical University of Crete, Dimitris Mitropoulos University of Athens, Diomidis Spinellis Athens University of Economics and Business; Delft University of Technology
DOI
15:55
15m
Talk
How Statically-Typed Functional Programmers Write CodeVirtual
OOPSLA
Justin Lubin University of California at Berkeley, Sarah E. Chasins University of California at Berkeley
DOI
16:10
15m
Talk
What We Eval in the Shadows: A Large-Scale Study of Eval in R ProgramsVirtual
OOPSLA
Aviral Goel Northeastern University, Pierre Donat-Bouillud Czech Technical University, Filip Křikava Czech Technical University, Christoph Kirsch University of Salzburg; Czech Technical University, Jan Vitek Northeastern University; Czech Technical University
DOI
16:25
35m
Live Q&A
Discussion, Questions and Answers
OOPSLA