Introduction to the special issue on software maintenance and evolution
Leon Moonen, Lori Pollock · Journal of Software Evolution and Process · 2016
It is our pleasure to introduce you to the papers in this Special Issue based on the 30th International Conference on Software Maintenance and Evolution (ICSME 2014). ICSME is the premier international venue in software maintenance and evolution, where participants from academia, government, and industry gather to share and discuss their ideas on and experiences with solving critical software maintenance problems. In response to the call for research papers, we received 267 abstracts and 210 full paper submissions. Each submitted paper was reviewed by at least three members of the program committee (PC), who were selected through bidding to create a good match between paper topic and PC member expertise; each PC member reviewed 9–10 papers over several weeks, with collectively 632 reviews submitted. During the week-long discussion period, reviewers submitted over 1000 comments. In the end, 40 high-quality papers were accepted for publication in the conference proceedings, yielding an acceptance rate of 19%. The accepted papers covered a broad range of topics in software maintenance and evolution, including developer knowledge, evolving systems, developer support, technical debt, managing change, empirical studies, fault localization, software quality, patches, recommender systems, and software clones. Guided by the reviews and discussions, ICSME 2014 Program Co-Chairs Leon Moonen and Lori Pollock carefully selected nine outstanding papers of the 40 accepted for the conference and invited their authors to submit a significantly extended version of their conference paper to this special issue in the Journal of Software: Evolution and Process (JSEP). Six of the nine invited papers were extended by their authors and subjected to the rigorous JSEP reviewing process, thus undergoing additional rounds of reviews and revisions. Eventually, the following four papers successfully completed the review process and are contained in this special issue. The paper ‘A Simple, Efficient, Context Sensitive Approach for Code Completion’ by Muhammad Asaduzzaman, Chanchal K. Roy, Kevin A. Schneider, and Daqing Hou describes a technique for method call completion that uses the type name and context to search for method calls whose contexts match with that of the receiver object. A database of context–method pairs is created by collecting code examples from repositories. The proposed approach was shown to either outperform or perform as well as state-of-the-art techniques for code completion based on statistical language models. The paper ‘An Empirical Study on How Expert Knowledge Affects Bug Reports’ by Da Huo, Tao Ding, Collin McMillan, and Malcom Gethers describes an empirical study of the textual difference between bug reports written by experts and non-experts. The study showed that experts and non-experts wrote bug reports differently. The findings support the hypothesis that expert knowledge affects the way in which people write bug reports. The paper ‘How Does Code Obfuscation Impact Energy Usage?’ by Cagri Sahin, Philip Tornquist, Ryan Mckenna, Zachary Pearson, and James Clause describes an empirical study into the energy impacts of applying different code obfuscations. In addition to investigating how different obfuscations in four obfuscation tools alter the overall energy usage of an application, the paper also studies whether the impacts of obfuscations are likely to be meaningful for mobile application users. The results support the notion that developers can protect their applications without impacting the battery life of the devices where their applications execute. The paper ‘Empirical Analysis of the Relationship between CC and SLOC in a Large Corpus of Java Methods and C Functions’ by Davy Landman, Alexander Serebrenik, and Jurgen Vinju describes an extensive literature study of the Cyclomatic Complexity (CC) and Source Lines of Code (SLOC) correlation results, followed by a correlation study of CC/SLOC on large Java and C corpora. In contrast to the majority of the previous studies, this study did not observe a strong linear correlation between CC and SLOC of Java methods and C functions. We hope that readers will enjoy this special issue and gain useful insights from the four papers presented. We would like to thank all the authors who submitted papers to the conference and to this special issue. In addition, we would like to thank the members of the ICSME 2014 program committee and the external reviewers for their time, careful reviews, and active discussions of the submitted papers, which helped make this special issue special. This kind of service is important to the health of the community and the quality of its publications. Finally, we would like to thank the editorial board of the Journal of Software: Evolution and Process and the publisher Wiley for providing us with the opportunity to devote this issue to the best of ICSME 2014. We also thank JSEP Editor Gerardo Canfora for providing expert guidance and important advice throughout the process. Enjoy!