Minimizing Faulty Executions of Distributed Systems - Scott et al. Now that we've spent a couple of days looking at test case minimizing for sequential systems, we're ready to tackle Colin Scott et al.'s paper on doing the same for executions of distributed systems. This is the paper that describes the core system behind Colin's … Continue reading Minimizing Faulty Executions of Distributed Systems
Category: Uncategorized
Hierarchical Delta Debugging
Hierarchical Delta Debugging - Misherghi & Su, 2006 The thing I find striking about the delta debugging approach we saw yesterday is that with no understanding of the syntax of the input at all, it is still able to simplify, for example, a C program - despite the fact that nearly all of the subsets … Continue reading Hierarchical Delta Debugging
Simplifying and Isolating Failure-Inducing Input
Simplifying and Isolating Failure-Inducing Input - Zeller et al. 2002 The most common question I get asked about The Morning Paper is 'how do you find time to read so many papers?' The second most common question is 'how do you find interesting papers?' Sometimes it goes like this: Colin Scott writes a great blog … Continue reading Simplifying and Isolating Failure-Inducing Input
Scrap Your Boilerplate with Object Algebras
Scrap Your Boilerplate with Object Algebras - Zhang et al. 2015 We've seen Object Algebras once before on The Morning Paper when we looked at extensible streaming APIs. Today's paper choice uses the extensible properties of object algebras to help remove some of the boilerplate code traditionally associated with implementing visitors that traverse ASTs. The … Continue reading Scrap Your Boilerplate with Object Algebras
A Sound and Optimal Incremental Build System with Dynamic Dependencies
A Sound and Optimal Incremental Build System with Dynamic Dependencies - Erdweg et al. 2015 Back to OOPSLA papers again today. Does anybody really love their build system? Software developers struggle with build systems on a regular basis. Previous studies show that on average 12% of development effort is not spent on developing software but … Continue reading A Sound and Optimal Incremental Build System with Dynamic Dependencies
The O-Ring Theory of DevOps
The O-Ring Theory of Economic Development - Kremer 1993 Something a little different today, loosely based on the paper cited above, but not a direct review of it. I'm hosting a retrospective evening for the GOTO London conference tonight and plan to share some of these ideas there... The pursuit of excellence is no longer … Continue reading The O-Ring Theory of DevOps
Runtime Metric Meets Developer – Building Better Cloud Applications Using Feedback
Runtime Metric Meets Developer - Building Better Cloud Applications Using Feedback - Cito et al. 2015 Today's paper choice is also from OOPSLA. It describes some early work around an interesting idea... A unifying theme of many ongoing trends in software engineering is a blurring of the boundaries between building and operating software products. In … Continue reading Runtime Metric Meets Developer – Building Better Cloud Applications Using Feedback
Symmetry Reduction Enables Model Checking of More Complex Emerging Behaviours of Swarm Navigation Algorithms
Symmetry Reduction Enables Model Checking of More Complex Emerging Behaviours of Swarm Navigation Algorithms - Antuñya et al. 2015 Don't let the title put you off - this paper is all about robot swarms! Previously we looked at some nature-inspired optimisation algorithms, including Particle Swarm Optimisation which draws inspiration from the behaviour of flocks of … Continue reading Symmetry Reduction Enables Model Checking of More Complex Emerging Behaviours of Swarm Navigation Algorithms
How to memorize a random 60-bit string
How to memorize a random 60-bit string - Ghazvininejad et al. 2105 A bit of fun for today - this paper has been the source of many articles around the net over the last couple of weeks (though not many have dug into the actual algorithms... ). Inspired by an XKCD cartoon, the challenge is … Continue reading How to memorize a random 60-bit string
Split-Level IO Scheduling
Split-Level IO Scheduling - Yang et al. 2015 The central idea in today's paper is pretty simple: block-level I/O schedulers (the most common kind) lack the higher level information necessary to perform write-reordering and accurate accounting, whereas system-call level schedulers have the appropriate context but lack the low-level knowledge needed to build efficient schedulers - … Continue reading Split-Level IO Scheduling