SPLASH 2020
Sun 15 - Sat 21 November 2020 Online Conference
Mon 16 Nov 2020 18:00 - 18:20 at SPLASH-I - M-6 Chair(s): Patrick Lam, Konstantinos Mamouras
Tue 17 Nov 2020 06:00 - 06:20 at SPLASH-I - M-6 Chair(s): David Grove, Ifaz Kabir

In domains that deal with physical space and geometry, programmers need to track the coordinate systems that underpin a computation. We identify a class of geometry bugs that arise from confusing which coordinate system a vector belongs to. These bugs are not ruled out by current languages for vector-oriented computing, are difficult to check for at run time, and can generate subtly incorrect output that can be hard to test for.

We introduce a type system and language that prevents geometry bugs by reflecting the coordinate system for each geometric object. A value's geometry type encodes its reference frame, the kind of geometric object (such as a point or a direction), and the coordinate representation (such as Cartesian or spherical coordinates). We show how these types can rule out geometrically incorrect operations, and we show how to use them to automatically generate correct-by-construction code to transform vectors between coordinate systems. We implement a language for graphics programming, Gator, that checks geometry types and compiles to OpenGL's shading language, GLSL. Using case studies, we demonstrate that Gator can raise the level of abstraction for shader programming and prevent common errors without inducing significant annotation overhead or performance cost.

Mon 16 Nov

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

17:00 - 18:20
M-6OOPSLA at SPLASH-I +12h
Chair(s): Patrick Lam University of Waterloo, Konstantinos Mamouras Rice University
17:00
20m
Talk
Can Advanced Type Systems Be Usable? An Empirical Study of Ownership, Assets, and Typestate in Obsidian
OOPSLA
Michael Coblenz University of Maryland at College Park, Jonathan Aldrich Carnegie Mellon University, Brad A. Myers Carnegie Mellon University, Joshua Sunshine Carnegie Mellon University
Link to publication DOI Media Attached
17:20
20m
Talk
Scalable and Serializable Networked Multi-actor Programming
OOPSLA
Bo Sang Purdue University / Ant Group, Patrick Eugster USI Lugano / TU Darmstadt / Purdue University, Gustavo Petri ARM Research, Srivatsan Ravi University of Southern California, Pierre-Louis Roman USI Lugano
Link to publication DOI Media Attached
17:40
20m
Talk
Designing Types for R, Empirically
OOPSLA
Alexi Turcotte Northeastern University, Aviral Goel Northeastern University, Filip Křikava Czech Technical University, Jan Vitek Northeastern University / Czech Technical University
Link to publication DOI Media Attached
18:00
20m
Talk
Geometry Types for Graphics Programming
OOPSLA
Dietrich Geisler Cornell University, Irene Yoon University of Pennsylvania, Aditi Kabra Carnegie Mellon University, Horace He Cornell University, Yinnon Sanders Cornell University, Adrian Sampson Cornell University
Link to publication DOI Pre-print Media Attached

Tue 17 Nov

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

05:00 - 06:20
M-6OOPSLA at SPLASH-I
Chair(s): David Grove IBM Research, Ifaz Kabir University of Alberta
05:00
20m
Talk
Can Advanced Type Systems Be Usable? An Empirical Study of Ownership, Assets, and Typestate in Obsidian
OOPSLA
Michael Coblenz University of Maryland at College Park, Jonathan Aldrich Carnegie Mellon University, Brad A. Myers Carnegie Mellon University, Joshua Sunshine Carnegie Mellon University
Link to publication DOI Media Attached
05:20
20m
Talk
Scalable and Serializable Networked Multi-actor Programming
OOPSLA
Bo Sang Purdue University / Ant Group, Patrick Eugster USI Lugano / TU Darmstadt / Purdue University, Gustavo Petri ARM Research, Srivatsan Ravi University of Southern California, Pierre-Louis Roman USI Lugano
Link to publication DOI Media Attached
05:40
20m
Talk
Designing Types for R, Empirically
OOPSLA
Alexi Turcotte Northeastern University, Aviral Goel Northeastern University, Filip Křikava Czech Technical University, Jan Vitek Northeastern University / Czech Technical University
Link to publication DOI Media Attached
06:00
20m
Talk
Geometry Types for Graphics Programming
OOPSLA
Dietrich Geisler Cornell University, Irene Yoon University of Pennsylvania, Aditi Kabra Carnegie Mellon University, Horace He Cornell University, Yinnon Sanders Cornell University, Adrian Sampson Cornell University
Link to publication DOI Pre-print Media Attached