Communications of the ACM


Technical Perspective: Building a Safety Net for Data Reuse

Communications of the ACM

Most evidence in the empirical sciences is statistical in nature, and scientists rely on a variety of statistical tests to distinguish valid scientific discoveries from spurious ones. Unfortunately, there is a growing recognition that many important research findings based on statistical evidence are not reproducible, raising the question of whether there is a gap between what these statistical tests ensure and the way they are used.


Certifying a File System Using Crash Hoare Logic

Communications of the ACM

FSCQ is the first file system with a machine-checkable proof that its implementation meets a specification, even in the presence of fail-stop crashes. FSCQ provably avoids bugs that have plagued previous file systems, such as performing disk writes without sufficient barriers or forgetting to zero out directory blocks. If a crash happens at an inopportune time, these bugs can lead to data loss. FSCQ's theorems prove that, under any sequence of crashes followed by reboots, FSCQ will recover its state correctly without losing data.


Consider Indirect Threats of AI, Too

Communications of the ACM

Alan Bundy's Viewpoint "Smart Machines Are Not a Threat to Humanity" (Feb.


Wanted: Toolsmiths

Communications of the ACM

"As we honor the more mathematical, abstract, and scientific' parts of our subject more, and the practical parts less, we misdirect the young and brilliant minds away from a body of challenging and important problems that are our peculiar domain, depriving these problems of the powerful attacks they deserve."


Attack of the Killer Microseconds

Communications of the ACM

The computer systems we use today make it easy for programmers to mitigate event latencies in the nanosecond and millisecond time scales (such as DRAM accesses at tens or hundreds of nanoseconds and disk I/Os at a few milliseconds) but significantly lack support for microsecond (μs)-scale events. This oversight is quickly becoming a serious problem for programming warehouse-scale computers, where efficient handling of microsecond-scale events is becoming paramount for a new breed of low-latency I/O devices ranging from datacenter networking to emerging memories (see the first sidebar "Is the Microsecond Getting Enough Respect?").



Digitizing the World

Communications of the ACM

Real-time communication and collaboration lie at the heart of a new generation of high-definition (HD) digital maps that react quickly to changes in the real world. Autonomous vehicles and construction-site surveys are among the applications that are driving companies toward high-precision mapping performed almost in real time.


Computing the Arts

Communications of the ACM

Images produced with innovation engines were not only accepted to a selective art competition and displayed at the University of Wyoming Art Museum, but they also were among the 21% of submissions that won an award.


Reasoning on Data Partitioning for Single-Round Multi-Join Evaluation in Massively Parallel Systems

Communications of the ACM

Evaluating queries over massive amounts of data is a major challenge in the big data era. Modern massively parallel systems, such as, Spark, organize query answering as a sequence of rounds each consisting of a distinct communication phase followed by a computation phase. The communication phase redistributes data over the available servers, while in the subsequent computation phase each server performs the actual computation on its local data. There is a growing interest in single-round algorithms for evaluating multiway joins where data is first reshuffled over the servers and then evaluated in a parallel but communication-free way. As the amount of communication induced by a reshuffling of the data is a dominating cost in such systems, we introduce a framework for reasoning about data partitioning to detect when we can avoid the data reshuffling step. Specifically, we formalize the decision problems parallel-correctness and transfer of parallel-correctness, provide semantical characterizations, and obtain tight complexity bounds.


Making the Field of Computing More Inclusive

Communications of the ACM

Applied computer science is concerned with the development of algorithms, applications, software, services, methods and measures, and hardware and devices. Excellent work continues to be done to make information technology accessible and usable for people with disabilities. For example, a number of familiar consumer technologies started out designed to provide access to people with disabilities, including the audiobook, speech recognition, captioning, and speech output (screen readers). Speech recognition enables hands-free computing, which is useful in situations like driving. Captioning of videos renders them available to text-based search algorithms but also makes video consumable when ambient sound levels are high, as in airports and gyms. Audiobooks, which began as a way for blind people to access reading material, are now everyday companions for travelers and commuters everywhere.9