Coverage and its Discontents - Groce, Alipour, and Gopinath, 2014 Yesterdays discussion of the effectiveness of code coverage seemed to leave us with as many questions as it answered. Today's choice provides an overview of the situation and helps us to focus on some key questions relating to test effectiveness. We're bang up to date … Continue reading Coverage and its Discontents
Coverage is not strongly correlated with test suite effectiveness
Coverage is not strongly correlated with test suite effectiveness - Inozemtseva and Holmes, 2014 Is code coverage a useful metric? Inozemtseva and Holmes won an ACM Distinguished Paper award at ICSE 2014 for this paper which asks whether code coverage is a good indicator of test suite effectiveness. How do we know if our test … Continue reading Coverage is not strongly correlated with test suite effectiveness
Compiler Error Notifications Revisited
Compiler Error Notifications Revisited: An interaction-first approach for helping developers more effectively comprehend and resolve error notifications - Barik et al 2014 A short and easy to read paper this morning picking up on the Debugging Reinvented theme of challenging the tools we use everyday. Error notifications and their resolutions, as presented by modern IDEs, … Continue reading Compiler Error Notifications Revisited
Debugging reinvented
Debugging reinvented: Asking and answering why and why-not questions about program behavior - Ko and Myers 2008 Today's choice is another great example of the value of constantly challenging the status quo and asking if there might be a better way. In more than half a century of research on debuggers, there have been countless … Continue reading Debugging reinvented
Patience is a virtue
Patience is a virtue: revisiting merge and sort on modern processors - Chandramouli and Goldstein 2014 This is a wonderful story. The seeds of an algorithm laid down over 50 years ago, rediscovered, brought up to date, and found to be highly relevant. Our investigation has resulted in some surprising discoveries about a mostly ignored … Continue reading Patience is a virtue
#themorningpaper reaches 50 papers!
With this morning's paper, #themorningpaper has now reached the 50 paper milestone. It's a simple idea, one paper every weekday, highlighted on my twitter account using the #themorningpaper hashtag. Hopefully the tweets capture your interest to come to this blog and get a flavour for what the paper is all about - and of course, … Continue reading #themorningpaper reaches 50 papers!
On ICSE’s “Most Influential Papers”
On ICSE's "Most Influential Papers" - Parnas 1995 Today is the 50th paper in the #themorningpaper series! It seemed fitting therefore to choose this essay by David Parnas, written on his receipt of the 'most influential paper' award for his paper on the modular structure of complex systems. Do papers really have an influence on … Continue reading On ICSE’s “Most Influential Papers”
Software Aging
Software Aging - Parnas 1994 This paper contains one of my all-time favourite passages, and is a timeless discussion on why software ages, and what we can do to slow the aging process. Programs, like people, get old. We can't prevent aging, but we can understand its causes, take steps to limit its effects, temporarily … Continue reading Software Aging
Shark: SQL and Rich Analytics at Scale
Shark: SQL and Rich Analytics at Scale, Xin et al 2013. Given the Databricks Spark result reported last week, it seems timely to look at a system built on top of Spark, Shark, that ultimately informed the Spark SQL project. [Shark] leverages a novel distributed memory abstraction to provide a unified engine that can run … Continue reading Shark: SQL and Rich Analytics at Scale
Consistency, Availability, and Convergence
Consistency, Availability, and Convergence - Mahajan, Alvisi, and Dahlin, 2014 We've seen in earlier papers that the classic definition of eventual consistency allows some unhelpful models such as all nodes becoming consistent due to returning a constant value. Mahajan et al. close these loopholes with a definition of convergence that matches our commonsense expectations. Then … Continue reading Consistency, Availability, and Convergence