It Will Never Work in Theory

Software development research that is relevant in practice

Browsing Posts in Tools

Dongsun Kim, Jaechang Nam, Jaewoo Song, and Sunghun Kim: “Automatic Patch Generation Learned from Human-Written Patches.” ICSE’13, 2013, http://www.cse.ust.hk/~hunkim/papers/kim-icse2013.pdf. Patch generation is an essential software maintenance task because most software systems inevitably have bugs that need to be fixed. Unfortunately, human resources are often insufficient to fix all reported and known bugs. To address this [...]

Chris Lewis, Zhongpeng Lin, Caitlin Sadowski, Xiaoyan Zhu, Rong Ou, and E. James Whitehead Jr.: “Does Bug Prediction Support Human Developers? Findings From a Google Case Study.” ICSE’13, 2013, http://www.cflewis.com/publications/google.pdf?attredirects=3D0. While many bug prediction algorithms have been developed by academia, they’re often only tested and verified in the lab using automated means. We do not [...]

Sihan Li, Hucheng Zhou, Haoxiang Lin, Tian Xiao, Haibo Lin, Wei Lin, and Tao Xie: “A Characteristic Study on Failures of Production Distributed Data-Parallel Programs“. Proc. ICSE 2013. SCOPE is adopted by thousands of developers from tens of different product teams in Microsoft Bing for daily web-scale data processing, including index building, search ranking, and [...]

Chris Parnin, Spencer Rugaber. “Programmer Information Needs After Memory Failure“. ICPC 2012. Despite its vast capacity and associative powers, the human brain does not deal well with interruptions. Particularly in situations where information density is high, such as during a programming task, recovering from an interruption requires extensive time and effort. Although modern program development environments [...]

Thomas Green and Marian Petre, “Usability Analysis of Visual Programming Environments: a ‘cognitive dimensions’ framework”, Visual Languages and Computing, 7:131—174, 1996. The cognitive dimensions framework is a broad-brush evaluation technique for interactive devices and for non-interactive notations. It sets out a small vocabulary of terms designed to capture the cognitively-relevant aspects of structure, and shows [...]

Felienne Hermans, Martin Pinzger, and Arie van Deursen. “Supporting Professional Spreadsheet Users by Generating Leveled Dataflow Diagrams”, ICSE 2011. Thanks to their flexibility and intuitive programming model, spreadsheets are widely used in industry, often for business- critical applications. Similar to software developers, pro- fessional spreadsheet users demand support for maintaining and transferring their spreadsheets. In [...]

Earl T. Barr, Christian Bird, Peter C. Rigby, Abram Hindle, Daniel M. German, and Premkumar Devanbu: Cohesive and Isolated Development with Branches. FASE 2012. The adoption of distributed version control (DVC), such as Git and Mercurial, in open-source software (OSS) projects has been explosive. Why is this and how are projects using DVC? This new [...]

Mordechai Ben-Ari and Roman Bednarik and Ronit Ben-Bassat Levy and Gil Ebel and Andrés Moreno and Niko Myller and Erkki Sutinen: “A decade of research and development on program animation: The Jeliot experience”. Journal of Visual Languages & Computing, 22(5), 2011. Jeliot is a program animation system for teaching and learning elementary programming that has [...]

As our previous post said, a lot of interesting work was presented at the joint ECSE/FSE conference in September. Three of my favorites reporting empirical studies are: Sven Appel, Jörg Liebeg, and Christian Kästner: “Semistructured Merge: Rethinking Merge in Revision Control Systems”. An ongoing problem in revision control systems is how to resolve conflicts in [...]

Yuriy Brun, Reid Holmes, Michael D. Ernst, and David Notkin. “Proactive Detection of Collaboration Conflicts”, ESEC/FSE 2011. Collaborative development can be hampered when conflicts arise because developers have inconsistent copies of a shared project. We present an approach to help developers identify and resolve conflicts early, before those conflicts become severe and before relevant changes [...]