Duck Futures: A Generative Approach to Transparent Futures
By: Eric Lin, Ganesha Upadhyaya, Sean L. Mooney, and Hridesh Rajan
Download PaperAbstract
Futures offer a convenient abstraction for encapsulating delayed computation. It is a mechanism to introduce concurrency through a rewrite of the sequential program. However, managing futures is tedious and requires knowledge of concurrency and its concerns. The notion of transparent futures is used to hide the complexity of futures from developers. A number of techniques based on transparency have been proposed to create and manage futures. Previous techniques make use of reflection. In this paper, we propose duck futures that use a generative approach. We show that duck futures are much more efficient compared to previous notions of transparent futures. We also present the first large scale study of the applicability and utility of duck futures in practice using the Boa infrastructure for mining large scale open source repositories. Our study finds that transparent futures, despite their limitations, can be very useful in practice.
ACM Reference
Lin, E. et al. 2015. Duck futures: A generative approach to transparent futures. Technical Report #15-05. Iowa State University, Dept. of Computer Science.
BibTeX Reference
@techreport{lin2015duck,
title = {Duck futures: A generative approach to transparent futures},
author = {Lin, Eric and Upadhyaya, Ganesha and Mooney, Sean L and Rajan, Hridesh},
year = {2015},
month = {June},
institution = {Iowa State University, Dept. of Computer Science},
number = {15-05},
abstract = {
Futures offer a convenient abstraction for encapsulating delayed computation.
It is a mechanism to introduce concurrency through a rewrite of the sequential
program. However, managing futures is tedious and requires knowledge of
concurrency and its concerns. The notion of transparent futures is used to
hide the complexity of futures from developers. A number of techniques based
on transparency have been proposed to create and manage futures. Previous
techniques make use of reflection. In this paper, we propose duck futures that
use a generative approach. We show that duck futures are much more efficient
compared to previous notions of transparent futures. We also present the first
large scale study of the applicability and utility of duck futures in practice
using the Boa infrastructure for mining large scale open source repositories.
Our study finds that transparent futures, despite their limitations, can be
very useful in practice.
}
}