Monday, June 5, 2017

IEEE March/April Issue, Blog, and SE Radio Summary

The March/April issue of IEEE Software again presents readers with a range of software topics that are currently being explored, researched, and improved. Some of the articles in this issue discuss topics such as software testing and requirements, but the focus of this issue was crowdsourcing in software engineering.

Guest Editor Klaas-Jan Stol, Thomas LaToza, and Christian Bird introduced the feature topic in this issue with the article "Crowdsourcing for Software Engineering". In this article, the authors discuss what crowdsourcing is and introduce the articles in this issue that elaborate on new opportunities, and challenges, that come with crowdsourcing in software engineering. This issue includes the following articles on crowdsourcing in software engineering:

StackOverflow is becoming more popular as a data source to better understand how developers work, from understanding what prevents developers from posting questions and answers [1, 2] to what makes a good answer on StackOverflow [3]. The authors of "What Do Developers Use the Crowd For? A Study Using StackOverflow" took a slightly different approach from previous studies and explored in what situations developers use the crowd available on StackOverflow. Rather than mining StackOverflow responses, the authors mined GitHub commit histories looking for explicit mentions of StackOverflow in their commit comments. They found, as expected, that developer most often use the crowd on StackOverflow to gain knowledge on topics such as development tools, APIs, and operating systems. Other not so expected reasons that they found developers use StackOverflow includes promoting StackOverflow to other developers and providing rationale for a feature updates or additions. This is just one of the many areas of research that helps showcase the advantages of crowdsourcing for software engineering.

But of course, as with any new research direction or opportunity, there needs to be research that explores the challenges that come with it. The article "Barriers Faced by Newcomers to Software-Crowdsourcing Projects" sheds some light on barriers encountered by newcomers on software projects that use crowdsourcing to implement parts of their project. The authors conducted quantitative and qualitative analyses, and found that some of the more frequent barriers that newcomers encounter include issues like lack of documentation, poor task management, and problems understanding the code structure or architecture. The authors also propose some guidelines for how we might help developers overcome these barriers. One of their proposed guidelines suggests that task management can be improved by better matching tasks to developers with the necessary expertise. The authors suggest using task complexity to determine tasks appropriate for newcomers. Another alternative, as suggested by existing research, would be to determine newcomer expertise and find tasks that match their expertise [4]. They key is to be able to help others more efficiently contribute to software-crowdsourcing projects.

This was a particularly special issue, as the editors included a special thanks from the editors to the numerous people that reviewed articles for the magazine in the past year. Another thanks to those who have taken time to help make IEEE Software great!

IEEE Software Blog

There are some interesting posts featured for March and April, mostly focused on frameworks and tools for improving the software development process. Peter Chen of Queen's University discussed a framework called CacheOptimizer that provides instrumentation for finding optimal cache configurations when using application-level caching frameworks. Yossi Gil and Matteo Orrû presented a tool called The Spartanizer. Their tool helps developers code in the "Spartan Programming Style" -- in this style of coding, programmers phrase their code statements such that they say the most in the fewest words. Finally, Mark Basham of Diamond Light Source discussed ways we can scale up the software development process, recommending revisiting classic CS books such as "The Mythical Man Month" and "Peopleware".

SE Radio

In this issue, SE Radio welcomed a new host, Kim Carter. For his first SE Radio episode, Kim spoke with Francois Raynaud on DevSecOps and improvements that should be made to existing delivery approaches. In March and April, SE Radio also featured episodes pertaining to system quality, including episodes on testing, system failures, and distributed storage.