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

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