In "Coz: Finding Code that Counts with Causal Profiling," Curtsinger and Berger describe causal profiling, which tell programmers exactly how much speed-up bang...Landon P. Cox From Communications of the ACM | June 2018
This paper introduces causal profiling. Unlike past profiling approaches, causal profiling indicates exactly where programmers should focus their optimization efforts...Charlie Curtsinger, Emery D. Berger From Communications of the ACM | June 2018
When a serious security vulnerability is discovered in the SSL/TLS protocol, one would naturally expect a rapid response. "Analysis of SSL Certificate Reissues...Kenny Paterson From Communications of the ACM | March 2018
We use Heartbleed, a widespread OpenSSL vulnerability from 2014, as a natural experiment to determine whether administrators are properly managing their X.509 certificates...Liang Zhang, David Choffnes, Tudor Dumitraş, Dave Levin, Alan Mislove, Aaron Schulman, Christo Wilson From Communications of the ACM | March 2018
What to do about buggy compilers? The authors of "Practical Verification of Peephole Optimizations with Alive" give us a compelling and practical answer.
Steve Zdancewic From Communications of the ACM | February 2018
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