We present Rely, a programming language that enables developers to reason about the quantitative reliability of an application — namely, the probability that it...Michael Carbin, Sasa Misailovic, Martin C. Rinard From Communications of the ACM | August 2016
Until now, the database in a Web application has been treated as a global variable, accessible to all. In "Ur/Web: A Simple Model for Programming the Web," Adam...Philip Wadler From Communications of the ACM | August 2016
This paper presents Ur/Web, a domain-specific, statically typed functional programming language that reduces the nest of Web standards for modern Web applications...Adam Chlipala From Communications of the ACM | August 2016
In "Probabilistic Theorem Proving," Gogate and Domingos suggest how PTP could be turned in a fast approximate algorithm by sampling from the set of children of...Henry Kautz, Parag Singla From Communications of the ACM | July 2016
Many representation schemes combining first-order logic and probability have been proposed in recent years. We propose the first method that has the full power...Vibhav Gogate, Pedro Domingos From Communications of the ACM | July 2016
Producing reports at the scale of Google Ads, where billions of clicks happen per day, is the challenge addressed by the Mesa system described in "Mesa: A Geo-Replicated...Sam Madden From Communications of the ACM | July 2016
Mesa is a highly scalable analytic data warehousing system that stores critical measurement data related to Google's Internet advertising business. This paper presents...Ashish Gupta, Fan Yang, Jason Govig, Adam Kirsch, Kelvin Chan, Kevin Lai, Shuo Wu, Sandeep Dhoot, Abhilash Rajesh Kumar, Ankur Agiwal, Sanjay Bhansali, Mingsheng Hong, Jamie Cameron, Masood Siddiqi, David Jones, Jeff Shute, Andrey Gubarev, Shivakumar Venkataraman, Divyakant Agrawal From Communications of the ACM | July 2016
What kinds of problems can be solved with combined human and machine computation? "AutoMan: A Platform for Integrating Human-Based and Digital Computation," by...Siddharth Suri From Communications of the ACM | June 2016
We introduce AutoMan, the first fully automatic crowdprogramming system.Daniel W. Barowy, Charlie Curtsinger, Emery D. Berger, Andrew McGregor From Communications of the ACM | June 2016
"Enhancing Symbolic Execution with Veritesting" by Avgerinos et al. proposes an effective technique called veritesting that addresses the scalability limitations...Koushik Sen From Communications of the ACM | June 2016
In this article, we present a new technique for generating formulas called veritesting that alternates between static symbolic execution (SSE) and dynamic symbolic...Thanassis Avgerinos, Alexandre Rebert, Sang Kil Cha, David Brumley From Communications of the ACM | June 2016
In "Hiding Secrets in Software," Garg et al. construct a "one-way compiler" of the type envisioned by Diffie and Hellman.Boaz Barak From Communications of the ACM | May 2016
Can we hide secrets in software? Can we make programs unintelligible while preserving their functionality? Why would we even want to do this? In this article, we...Sanjam Garg, Craig Gentry, Shai Halevi, Mariana Raykova, Amit Sahai, Brent Waters From Communications of the ACM | May 2016
"On the Naturalness of Software" by Hindle et al. takes an entirely new approach to providing tools to help build software.Gail C. Murphy From Communications of the ACM | May 2016
We begin with the conjecture that most software is natural, with all the attendant constraints and limitations — and thus, like natural language, it is also likely...Abram Hindle, Earl T. Barr, Mark Gabel, Zhendong Su, Premkumar Devanbu From Communications of the ACM | May 2016
"A Fistful of Bitcoins" examines, in the context of Bitcoin, what we could learn by studying the patterns encoded in a complete record of every single financial...Emin GÜn Sirer From Communications of the ACM | April 2016
Bitcoin has the unintuitive property that while the ownership of money is implicitly anonymous, its flow is globally visible. In this paper we explore this unique...Sarah Meiklejohn, Marjori Pomarole, Grant Jordan, Kirill Levchenko, Damon McCoy, Geoffrey M. Voelker, Stefan Savage From Communications of the ACM | April 2016
"Secure Multiparty Computations on Bitcoin" introduces an exciting new idea for how to provide fairness: leverage Bitcoin’s existing infrastructure for distributed...David Wagner From Communications of the ACM | April 2016
In this work, we propose to use Bitcoin to design fully decentralized protocols that are secure even if no trusted third party is available.Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, Ćukasz Mazurek From Communications of the ACM | April 2016
In "Learning to Name Objects," the authors offer a method to determine a basic-level category name for an object in an image.David Forsyth From Communications of the ACM | March 2016