We introduce RATE TYPES, a novel type system to reason about and optimize data-intensive programs. Built around stream languages, RATE TYPES performs static quantitative reasoning about stream rates — the frequency of data items in a stream being consumed, processed, and produced. Despite the fact that streams are fundamentally dynamic, we find two essential concepts of stream rate control — throughput ratio and natural rate — are intimately related to the program structure itself and can be effectively reasoned about by a type system. RATE TYPES is proven to correspond with a time-aware and parallelism-aware operational semantics. The strong correspondence result tolerates arbitrary schedules, and does not require any synchronization between stream filters. We further implement RATE TYPES, demonstrating its effectiveness in predicting stream data rates in real-world stream programs.
Rate Types for Stream Programs (oopsla2014-bartenstein.pdf) | 5.85MiB |
Thu 23 OctDisplayed time zone: Tijuana, Baja California change
10:30 - 12:00 | |||
10:30 22mTalk | Rate Types for Stream Programs OOPSLA Link to publication File Attached | ||
10:52 22mTalk | Foundations of Path-Dependent Types OOPSLA Nada Amin EPFL, Tiark Rompf Purdue & Oracle Labs, Martin Odersky Ecole Polytechnique Federale de Lausanne Link to publication File Attached | ||
11:15 22mTalk | Confined Gradual Typing OOPSLA Esteban Allende , Johan Fabry University of Chile, Ronald Garcia University of British Columbia, Éric Tanter University of Chile Link to publication | ||
11:37 22mTalk | Refactoring Java Generics by Inferring Wildcards, In Practice OOPSLA Link to publication File Attached |