Onward! 2016
Sun 30 October - Fri 4 November 2016 Amsterdam, Netherlands
co-located with SPLASH 2016
Wed 2 Nov 2016 16:05 - 16:30 at Zürich 2 - Session 2 Chair(s): Jeff Huang

Abstractions make building complex systems possible. Many facilities provided by a modern programming language are directly designed to build a certain style of abstraction. Abstractions also aim to
enhance code reusability, thus enhancing programmer productivity and effectiveness.

Real-world software systems can grow to have a complicated hierarchy of abstractions. Often, the hierarchy grows unnecessarily deep, because the programmers have envisioned the most generic use cases for a piece of code to make it reusable. Sometimes, the abstractions used in the program are not the appropriate ones, and it would be
simpler for the higher level client to circumvent such abstractions. Another problem is the impedance mismatch between different pieces of code or libraries coming from different projects that are not designed to work together. Interoperability between such libraries are often hindered by abstractions, by design, in the name of hiding implementation details and encapsulation. These problems necessitate forms of abstraction that are easy to manipulate if needed.

In this paper, we describe a powerful mechanism to create white-box abstractions, that encourage flatter hierarchies of abstraction and ease of manipulation and customization when necessary: program refinement.

In so doing, we rely on the basic principle that writing directly in the host programming language is as least restrictive as one can get in terms of expressiveness, and allow the programmer to reuse and customize existing code snippets to address their specific needs.

Wed 2 Nov
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

15:40 - 17:20
Session 2Onward! Papers at Zürich 2
Chair(s): Jeff HuangTexas A&M University
15:40
25m
Talk
Bloqqi: Modular Feature-Based Block Diagram Programming
Onward! Papers
Niklas ForsLund University, Görel HedinLund University, Sweden
DOI Pre-print
16:05
25m
Talk
Building White-Box Abstractions by Program Refinement
Onward! Papers
Mehrdad AfshariVivibe LLC, Zhendong SuUniversity of California, Davis
DOI Pre-print
16:30
25m
Talk
Function Passing: A Model for Typed, Distributed Functional Programming
Onward! Papers
Heather MillerEcole Polytechnique Federale de Lausanne, Philipp HallerKTH Royal Institute of Technology, Normen Müller, Jocelyn BoullierEPFL, Jorge Vicente-CanteroEPFL
DOI
16:55
25m
Talk
Extracting Code from Programming Tutorial Videos
Onward! Papers
Shir YadidTechnion, Eran YahavTechnion
DOI