It is widely held that parallel programming is far more difficult and error prone than writing sequential code. In particular, the myriad allowable interleavings...Steven Hand From Communications of the ACM | May 2012
We introduce a new parallel programming model addressing the issues facing current methods of executing parallel programs deterministically, and use Determinator...Amittai Aviram, Shu-Chun Weng, Sen Hu, Bryan Ford From Communications of the ACM | May 2012
Say you want to simulate the motion over time of the stars in a galaxy to learn about how galaxies formed and why the universe appears as it does. Is it feasible...William Gropp From Communications of the ACM | May 2012
We describe a parallel fast multipole method for highly nonuniform distributions of particles. We employ both distributed memory parallelism and shared memory parallelism...Ilya Lashuk, Aparna Chandramowlishwaran, Harper Langston, Tuan-Anh Nguyen, Rahul Sampath, Aashay Shringarpure, Richard Vuduc, Lexing Ying, Denis Zorin, George Biros From Communications of the ACM | May 2012
With Aardvark, a social search engine, users ask a question, either by IM, e-mail, Web input, text message, or voice. Aardvark then routes the question to the person...Damon Horowitz, Sepandar D. Kamvar From Communications of the ACM | April 2012
It is difficult to remember what people had to do to find the answer to a question before the Web. One option might be to call a friend who might know the answer...Ed H. Chi From Communications of the ACM | April 2012
Affordable personal computing hardware and the usable GUI-based PC operating systems made the vision of "a computer on every desktop and in every home" a reality...Steven D. Gribble From Communications of the ACM | March 2012
Capsicum is a lightweight operating system capability and sandbox framework planned for inclusion in FreeBSD 9. Capsicum extends, rather than replaces, UNIX APIs...Robert N. M. Watson, Jonathan Anderson, Ben Laurie, Kris Kennaway From Communications of the ACM | March 2012
The following paper by Viktor Kuncak et al. integrates declarative programming into a general-purpose language, allowing one to escape the host language when...Rastislav Bodik From Communications of the ACM | February 2012
Automated synthesis of program fragments from specifications can make programs easier to write and easier to reason about. To integrate synthesis into programming...Viktor Kuncak, Mikaƫl Mayer, Ruzica Piskac, Philippe Suter From Communications of the ACM | February 2012
Software misbehaves all too often. This is a truism, but also the driving force behind many computing techniques intended to increase software reliability, safety...Xavier Leroy From Communications of the ACM | December 2011
High-level computer applications build on services provided by lower-level software layers. Unfortunately, today's low-level software still suffers from a steady...Jean Yang, Chris Hawblitzel From Communications of the ACM | December 2011
The following paper combines two important themes in secure computing: assurance and information flow control. For high assurance, a system's Trusted Computing...Butler Lampson From Communications of the ACM | November 2011
Features of the new HiStar operating system permit several novel applications, including privacy-preserving, untrusted virus scanners and a dynamic Web server with...Nickolai Zeldovich, Silas Boyd-Wickizer, Eddie Kohler, David Mazières From Communications of the ACM | November 2011
Vulnerabilities in browsers and their extensions have become the primary venue through which cyber criminals compromise the security...Christopher Kruegel From Communications of the ACM | September 2011
The browser has become the de facto platform for everyday computation and a popular target for attackers of computer systems. Among the many potential attacks that...Sruthi Bandhakavi, Nandit Tiku, Wyatt Pittman, Samuel T. King, P. Madhusudan, Marianne Winslett From Communications of the ACM | September 2011
Are data synopses — such as the hash-based sketches discussed by Li and König — still needed for querying massive...Peter J. Haas From Communications of the ACM | August 2011
Efficient (approximate) computation of set similarity in very large datasets is a common task with many applications inminwise hashing...Ping Li, Arnd Christian König From Communications of the ACM | August 2011
Windows Error Reporting (WER) is a distributed system that automates the processing of error reports coming from an installed base of a billion machines. WER has...Kinshuman Kinshumann, Kirk Glerum, Steve Greenberg, Gabriel Aul, Vince Orgovan, Greg Nichols, David Grant, Gretchen Loihle, Galen Hunt From Communications of the ACM | July 2011
Scale has been the single most important force driving changes in system software over the last decade. Its impact is...John Ousterhout From Communications of the ACM | July 2011