It Will Never Work in Theory

May  1, 2014 Happy software developers solve problems better: psychological measurements in empirical software engineering
Keywords: controlled experiments
Daniel Graziotin, Xiaofeng Wang and Pekka Abrahamsson: "Happy software developers solve problems better: psychological measurements in empirical software engineering" PeerJ 2(289), Mar. 2014. https://peerj.com/articles/289/ For more than thirty years, it has been claimed that a way to improve software developers' productivity and software quality is to focus on people and to provide incentives to make developers satisfied and happy. This claim has rarely been verified in software engineering research, which faces an additional challenge in comparison to more traditional engineering fields: software development is an intellectual activity and is dominated by often-neglected human factors (called human aspects in software engineering...
Jan 29, 2014 An Empirical Investigation into Programming Language Syntax
Keywords: controlled experiments, programming languages
Andreas Stefik and Susanna Siebert: "An Empirical Investigation into Programming Language Syntax." ACM Transactions on Computing Education, 13(4), Nov. 2013. Recent studies in the literature have shown that syntax remains a significant barrier to novice computer science students in the field. While this syntax barrier is known to exist, whether and how it varies across programming languages has not been carefully investigated. For this article, we conducted four empirical studies on programming language syntax as part of a larger analysis into the, so called, programming language wars. We first present two surveys conducted with students on the intuitiveness of syntax,...
Nov 16, 2013 A Modest Proposal
Keywords: suggestions
Here's an idea: when conferences and journals send CS research papers out to academics for peer review of content, they should also send them to a couple of people in industry to rate how interesting they are. Their rating and comments would not be used as part of the acceptance decision, but would published with the paper in order to stimulate discussion. We learned a lot by asking practitioners what industry wants from research (see Jorge's discussion or these slides), and I think it would spark some useful dialog between the citizens of computing's two solitudes.
Sep 20, 2013 LASE: Locating and Applying Systematic Edits by Learning from Examples
Keywords:
Na Meng, Miryung Kim, and Kathryn S. McKinley: "LASE: Locating and Applying Systematic Edits by Learning from Examples." ICSE'13, 2013. http://users.ece.utexas.edu/~miryung/Publications/icse2013-lase-submitted.pdf Adding features and fixing bugs often require systematic edits that make similar, but not identical, changes to many code locations. Finding all the relevant locations and making the correct edits is a tedious and error-prone process for developers. This paper addresses both problems using edit scripts learned from multiple examples. We design and implement a tool called LASE that (1) creates a context-aware edit script from two or more examples, and uses the script to (2) automatically identify edit...
Aug 31, 2013 Does Task Automation Improve Code Reviews?
Keywords: questions
Alex Gaynor, who is active in several open source communities, asked an interesting question on Twitter today: Looking for studies as to whether automation of auxiliary tasks (running tests, style checks, etc.) improves code reviews? If you know of any, I'm sure he'd enjoy hearing from you.
Aug 12, 2013 Review: The Essence of Software Engineering
Keywords: book reviews
Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, and Svante Lidman: The Essence of Software Engineering: Applying the SEMAT Kernel. Addison-Wesley Professional, 2013, 978-0321885951. SEMAT started almost four years ago as a call to action to refound software engineering on a strong theoretical and empirical basis, and to move beyond fads and petty methodological wars to embrace a "kernel" of widely agreed elements. It had an impressive list of signatories, and SEMAT contributors have since sent a submission to the OMG describing what they think the essence of software engineering is, which they hope will become an Object Management...
Jul 24, 2013 Automatic Patch Generation Learned from Human-Written Patches
Keywords: code smells
François Gauthier and Ettore Merlo: "Semantic Smells and Errors in Access Control Models: A Case Study in PHP." ICSE'13, 2013. https://sites.google.com/site/francois2gauthier/Gauthier_Merlo_ICSE-NIER2013.pdf Access control models implement mechanisms to restrict access to sensitive data from unprivileged users. Access controls typically check privileges that capture the semantics of the operations they protect. Semantic smells and errors in access control models stem from privileges that are partially or totally unrelated to the action they protect. This paper presents a novel approach, partly based on static analysis and information retrieval techniques, for the automatic detection of semantic smells and errors in access control models. Investigation...
Jul  7, 2013 How, and Why, Process Metrics Are Better
Keywords: code smells, metrics, quantitative studies
Foyzur Rahman and Premkumar Devanbu: "How, and Why, Process Metrics Are Better." ICSE'13, 2013, http://www.cs.ucdavis.edu/research/tech-reports/2012/CSE-2012-33.pdf. Defect prediction techniques could potentially help us to focus quality-assurance efforts on the most defect-prone files. Modern statistical tools make it very easy to quickly build and deploy prediction models. Software metrics are at the heart of prediction models; understanding how and especially why different types of metrics are effective is very important for successful model deployment. In this paper we analyze the applicability and efficacy of process and code metrics from several different perspectives. We build many prediction models across 85 releases of 12...
Jun 19, 2013 Reducing Human Effort and Improving Quality in Peer Code Reviews using Automatic Static Analysis and Reviewer Recommendation
Keywords: code review
Vipin Balachandran: "Reducing Human Effort and Improving Quality in Peer Code Reviews using Automatic Static Analysis and Reviewer Recommendation." ICSE'13, 2013, http://labs.vmware.com/download/198/. Peer code review is a cost-effective software defect detection technique. Tool assisted code review is a form of peer code review, which can improve both quality and quantity of reviews. However, there is a significant amount of human effort involved even in tool based code reviews. Using static analysis tools, it is possible to reduce the human effort by automating the checks for coding standard violations and common defect patterns. Towards this goal, we propose a tool called...
Jun 13, 2013 UML in Practice
Keywords: case studies
Marian Petre: "UML in practice" ICSE'13, 2013. http://oro.open.ac.uk/35805/. UML has been described by some as "the lingua franca of software engineering". Evidence from industry does not necessarily support such endorsements. How exactly is UML being used in industry — if it is? This paper presents a corpus of interviews with 50 professional software engineers in 50 companies and identifies 5 patterns of UML use. The abstract for this distinguished paper doesn't do it justice. Over two years, the author interviewed over 50 developers from a broad cross-section of industries and countries. She found their use fell into five broad categories:...
Jun 13, 2013 The MSR Cookbook: Mining a Decade of Research
Keywords: experience reports, literature reviews, mining
Hadi Hemmati, Sarah Nadi, Olga Baysal, Oleksii Kononenko, Wei Wang, Reid Holmes, and Michael W. Godfrey: "The MSR Cookbook: Mining a Decade of Research". ICSE'13, 2013, https://cs.uwaterloo.ca/~obaysal/msr2013_hemmati.pdf. The Mining Software Repositories (MSR) research community has grown significantly since the first MSR workshop was held in 2004. As the community continues to broaden its scope and deepens its expertise, it is worthwhile to reflect on the best practices that our community has developed over the past decade of research. We identify these best practices by surveying past MSR conferences and workshops. To that end, we review all 117 full papers published...
Jun 13, 2013 It's Not a Bug, It's a Feature: How Misclassification Impacts Bug Prediction
Keywords: mining, quantitative studies
Kim Herzig, Sascha Just, and Andreas Zeller: "It's not a Bug, it's a Feature: How Misclassification Impacts Bug Prediction". ICSE'13, 2013, http://www.st.cs.uni-saarland.de/softevo/bugclassify/paper/icse2013-bugclassify.pdf. In a manual examination of more than 7,000 issue reports from the bug databases of five open-source projects, we found 33.8% of all bug reports to be misclassified—that is, rather than referring to a code fix, they resulted in a new feature, an update to documentation, or an internal refactoring. This misclassification introduces bias in bug prediction models, confusing bugs and features: On average, 39% of files marked as defective actually never had a bug. We estimate the...
Jun 13, 2013 Formal Specifications Better Than Function Points for Code Sizing
Keywords: estimation
Mark Staples, Rafal Kolanski, Gerwin Klein, Corey Lewis, June Andronick, Toby Murray, Ross Jeffery, and Len Bass: "Formal Specifications Better Than Function Points for Code Sizing". ICSE'13, 2013, http://www.nicta.com.au/pub?doc=6416. Size and effort estimation is a significant challenge for the management of large-scale formal verification projects. We report on an initial study of relationships between the sizes of artefacts from the development of seL4, a formally-verified embedded systems microkernel. For each API function we first determined its COSMIC Function Point (CFP) count (based on the seL4 user manual), then sliced the formal specifications and source code, and performed a normalised line...
Jun  6, 2013 Does Bug Prediction Support Human Developers? Findings From a Google Case Study
Keywords: case studies, tools
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 have a strong idea about whether such algorithms are useful to guide human developers. We deployed a bug prediction algorithm across Google, and found no identifiable change in developer behavior. Using our experience, we provide several characteristics that bug prediction algorithms need to meet in...
Jun  6, 2013 Automatic Patch Generation Learned from Human-Written Patches
Keywords: code generation, 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 issue, several automated patch generation techniques have been proposed. In particular, a genetic-programming-based patch generation technique, GenProg, proposed by Weimer et al., has shown promising results. However, these techniques can generate nonsensical patches due to the randomness of their mutation operations. To address this limitation,...
Jun  4, 2013 First Impressions of MSR
Keywords: conferences
Mike Hoye, Mozilla's Engineering Community Manager, attended the Mining Software Repositories conference for the first time this year. Here are his impressions. The MSR program is at http://2013.msrconf.org/ along with links, where possible, to the papers being discussed. Sadly, the IEEE is not in the information-sharing business, but many of the papers can be found linked from here. Prof. Gail Murphy opened the talk with a pretty straightforward question: what is developer productivity? Her slides are here, but they don't really convey how good a talk it was. The one thing that we as an industry were repeatedly asked for,...
Apr 16, 2013 A Characteristic Study on Failures of Production Distributed Data-Parallel Programs
Keywords: qualitative studies, quantitative studies, tools, usability
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 advertisement display. A SCOPE job is composed of declarative SQL-like queries and imperative C# user-defined functions (UDFs), which are executed in pipeline by thousands of machines. There are tens of thousands of SCOPE jobs executed on Microsoft clusters per day, while some of them fail...
Mar 24, 2013 Comments on Firefox Available for Analysis
Keywords: announcements
A team of Mozilla developers ran a Reddit "Ask Me Anything" on Firefox two weeks ago. Several thousand comments were submitted, and Blake Winton has now sorted and classified them. It seems like it would be a useful data set for someone doing empirical software engineering research; if you'd like to have a look, please get in touch.
Mar  8, 2013 Halving Fail Rates using Peer Instruction
Keywords: education
Leo Porter, Cynthia Bailey-Lee, and Beth Simon: "Halving Fail Rates using Peer Instruction: A Study of Four Computer Science Courses". Proc. SIGCSE 2013. Peer Instruction (PI) is a teaching method that supports student-centric classrooms, where students construct their own understanding through a structured approach featuring questions with peer discussions. PI has been shown to increase learning in STEM disciplines such as physics and biology. In this report we look at another indicator of student success—the rate at which students pass the course or, conversely, the rate at which they fail. Evaluating 10 years of instruction of 4 different courses spanning...
Feb 12, 2013 Experimental Assessment of Software Metrics Using Automated Refactoring
Keywords: metrics, refactoring
Mel Ó Cinnéide, Laurence Tratt, Mark Harman, Steve Counsell, and Iman Hemati Moghadam, Experimental Assessment of Software Metrics Using Automated Refactoring, ESEM '12, Lund, Sweden. The impact and applicability of software metrics continues to be a subject of debate, especially since there are many metrics that measure similar properties, like cohesion. This raises the question of the extent to which these metrics agree or not. The interesting idea that this paper proposes is to not only analyze the agreement and disagreement of metrics, but to also investigate how the metrics change on refactored versions of the same code. The authors...
...more

Comments powered by Disqus