We created Alive, a domain-specific language for writing correct peephole optimizations and for automatically either proving them correct or else generating counterexamples...Nuno P. Lopes, David Menendez, Santosh Nagarakatte, John Regehr From Communications of the ACM | February 2018
"Halide: Decoupling Algorithms from Schedules for High-Performance Image Processing" by Ragan-Kelley et al. on the image processing language Halide explores a substantially...Manuel Chakravarty From Communications of the ACM | January 2018
We propose a new programming language for image processing pipelines, called Halide, that separates the algorithm from its schedule.
Jonathan Ragan-Kelley, Andrew Adams, Dillon Sharlet, Connelly Barnes, Sylvain Paris, Marc Levoy, Saman Amarasinghe, Frédo Durand From Communications of the ACM | January 2018
The incentive auction scenario provides the backdrop for the breathtaking research contribution presented by Newman et al. in "Deep Optimization for Spectrum Repacking...David C. Parkes From Communications of the ACM | January 2018
This paper describes the process by which we built the SAT-based Feasibility Checker, a crucial element of the 2016-17 U.S. FCC "incentive auction" design.
Neil Newman, Alexandre Fréchette, Kevin Leyton-Brown From Communications of the ACM | January 2018
"Automatically Accelerating Non-Numerical Programs by Architecture-Compiler Co-Design," by Simone Campanoni, et al., proposes a modest hardware extension to support...James Larus From Communications of the ACM | December 2017
HELIX-RC is a compiler/microprocessor co-design that opens loops to parallelization by decoupling communication from thread execution in conventional multicore...Simone Campanoni, Kevin Brownell, Svilen Kanev, Timothy M. Jones, Gu-Yeon Wei, David Brooks From Communications of the ACM | December 2017
"Heads-Up Limit Hold'em Poker Is Solved," by Michael Bowling, et al., takes the counterfactual regret minimization method for approximating a Nash equilibrium to...David Silver From Communications of the ACM | November 2017
This paper is an extended version of our original 2015 Science article, with additional results showing Cepheus' in-game performance against computer and human...Michael Bowling, Neil Burch, Michael Johanson, Oskari Tammelin From Communications of the ACM | November 2017
"A Large-Scale Study of Programming Languages and Code Quality in GitHub," by Baishakhi Ray, et al., studies whether programming language choice and code quality...Jeffrey S. Foster From Communications of the ACM | October 2017
What is the effect of programming languages on software quality? In this study, we gather a very large data set from GitHub in an attempt to shed some empirical...Baishakhi Ray, Daryl Posnett, Premkumar Devanbu, Vladimir Filkov From Communications of the ACM | October 2017
This paper introduces an interface-driven approach to building scalable software.
Austin T. Clements, M. Frans Kaashoek, Eddie Kohler, Robert T. Morris, Nickolai Zeldovich From Communications of the ACM | August 2017
"IronFleet: Proving Safety and Liveness of Practical Distributed Systems," by Chris Hawblitzel, et al., describes mechanically checked proofs for two non-trivial...Fred B. Schneider From Communications of the ACM | July 2017
We demonstrate the methodology on a complex implementation of a Paxos-based replicated state machine library and a lease-based sharded key-value store. With our...Chris Hawblitzel, Jon Howell, Manos Kapritsos, Jacob R. Lorch, Bryan Parno, Michael L. Roberts, Srinath Setty, Brian Zill From Communications of the ACM | July 2017
We describe DeepDive, a system that combines database and machine learning ideas to help to develop knowledge base construction systems.
Ce Zhang, Christopher Ré, Michael Cafarella, Christopher De Sa, Alex Ratner, Jaeho Shin, Feiran Wang, Sen Wu From Communications of the ACM | May 2017
One unfortunate fact about protocols is that as they get older and applied to more scenarios — and TLS is used basically everywhere — they tend to gain weight....Eric Rescorla From Communications of the ACM | February 2017
We systematically test popular TLS implementations and find unexpected transitions in many of their state machines that have stayed hidden for years. We show how...Benjamin Beurdouche, Karthikeyan Bhargavan, Antoine Delignat-Lavaud, Cédric Fournet, Markulf Kohlweiss, Alfredo Pironti, Pierre-Yves Strub, Jean Karim Zinzindohoue From Communications of the ACM | February 2017
A time-tested principle in computer systems design is to use an interface to separate an abstraction from its implementation. "Software-Defined Batteries" represents...Srinivasan Keshav From Communications of the ACM | December 2016