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
Tag: Software Engineering
Mostly posts relating to software design and architecture.
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
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
Optimization Coaching for JavaScript
Optimization Coaching for JavaScript - St-Amour & Guo, 2015 Because modern programming languages heavily rely on compiler optimizations for performance, failure to apply certain key optimizations is often the source of performance issues. To diagnose these performance issues, programmers need insight about what happens during the optimization process. Consider the following program snippet from the … Continue reading Optimization Coaching for JavaScript
Helping Developers Help Themselves: Automatic Decomposition of Code Review Changes
Helping Developers Help Themselves: Automatic Decomposition of Code Review Changes - Barnett et al. 2015 Earlier this week we saw that pull requests with well organised commits are strongly preferred by integrators. Unfortunately, developers often make changes that incorporate multiple bug fixes, feature additions, refactorings, etc.. These result in changes that are both large and … Continue reading Helping Developers Help Themselves: Automatic Decomposition of Code Review Changes
When and Why Your Code Starts to Smell Bad
When and Why Your Code Starts to Smell Bad - Tufano et al. 2015 Yesterday we saw that maintaining project quality is a key issue for integrators (maintainers). So it seems appropriate that my third choice from the recent ICSE '15 conference papers examines the question of when quality starts to slip at the code … Continue reading When and Why Your Code Starts to Smell Bad
Work Practices and Challenges in Pull-Based Development
Work Practices and Challenges in Pull-based Development - Gousios et al. 2015 In the recent years, we are witnessing that collaborative, lightweight code review is increasingly becoming the default mechanism for integrating changes, in both collocated and distributed development. Effectively, the pull request (in various forms) is becoming the atomic unit of software change. How … Continue reading Work Practices and Challenges in Pull-Based Development
How Much Up-Front? A Grounded Theory of Agile Architecture
How Much Up-Front? A Grounded Theory of Agile Architecture - Waterman et al. 2015 It's time for something a little bit different, so this week I thought I'd bring you a selection of papers from the recently held ICSE'15 conference (International Conference on Software Engineering). To kick things off, today's choice looks at the question … Continue reading How Much Up-Front? A Grounded Theory of Agile Architecture