This section contains extended versions of selected papers from the 16th ACM International Symposium on the Foundations of Software Engineering held in Atlanta, Georgia, 11-13 November 2008. The conference received 152 submissions, from which 31 were selected by the program committee for presentation at the conference and for publication in the conference proceedings. Based on the final versions of the papers that appeared at the conference, the 23 members of the program committee nominated seven papers to be considered as distinguished papers. From this list of nominated papers, the Program Chair, Gail Murphy, and General Chair, Mary Jean Harrold, selected four papers to be invited for this special section. The extended versions of these four papers were each reviewed by three members of the community, with three papers chosen to appear in this special section. Wilhelm Schäfer, a member of the IEEE Transactions on Software Engineering editorial board, kindly agreed to serve as a co-guest editor of this special section.
The first paper, “The Effects of Time Constraints on Test Case Prioritization: A Series of Controlled Experiments” by Hyunsook Do, Siavash Mirarab, Ladan Tahvildari, and Gregg Rothermel, reports on three experiments conducted to examine the trade-offs among various regression test prioritization techniques when the time to apply a technique is limited. The results of these experiments provide suggestions to test engineers about which techniques to employ in different situations.
The second paper, “What Makes a Good Bug Report?” by Thomas Zimmermann, Rahul Premraj, Nicolas Bettenburg, Sascha Just, Adrian Schröter, and Cathrin Weiss, analyzes information mismatches between what users provide in bug reports and what developers need based on survey data collected from developers and users of large open-source projects. Based on these mismatches, the paper describes a prototype tool, called Cuezilla, that measures the quality of new bug reports. The results of this work can improve the quality of systems by more efficiently gathering the information needed to resolve bugs that occur.
The third paper, “Context-Aware Adaptive Applications: Fault Patterns and Their Automated Identification” by Michele Sama, Sebastian Elbaum, Franco Raimondi, David S. Rosenblum, and Zhimin Wang, introduces a new model for improving the detection of faults in adaptive and context-aware applications, such as mobile phone applications. The paper describes several fault adaptation patterns and presents and evaluates three classes of algorithms to detect such faults through the use of the new model. The results of this work provides a means for reducing the faults that appear when context-aware and adaptive applications are deployed.
This special section is the result of tremendous efforts from many volunteers in the community. We would like to especially thank Mary Jean Harrold for organizing an excellent conference and contributing to the selection of papers for this special section. We would also especially like to thank the members of the Program Committee for their tireless work in reviewing the submissions to the conference in addition to helping identify a set of best papers from which the three papers in this section are drawn. Finally, this special section would not have been possible without the efforts of the anonymous reviewers who shared their time and expertise in carefully reviewing the papers that appear here.
Gail C. Murphy
G.C. Murphy is with the Department of Computer Science, University of British Columbia, 201-2366 Main Mall, Vancouver, BC V6T 1Z4, Canada. E-mail: email@example.com.
W. Schäfer is with the Department of Computer Science, Software Engineering, University of Paderborn, Warburger Str. 100, D-33098 Paderborn, Germany. E-mail: firstname.lastname@example.org.
For information on obtaining reprints of this article, please send e-mail to: email@example.com.
Gail C. Murphy
received the BSc degree from the University of Alberta in 1987 and the MS and PhD degrees in computer science and engineering from the University of Washington in 1994 and 1996, respectively. She is a professor in the Department of Computer Science at the University of British Columbia in Vancouver Canada. Her research interests include software evolution, development tools and how people work. From 1987 to 1992, she worked as a software designer in industry. She served as the Program Chair for SIGSOFT FSE 2008 and will serve as the Co-Program Chair for ICSE 2012. She has received a number of awards for her work on software evolution, including a Steacie Fellowship from the NSERC granting agency in Canada in 2006 and the Dahl-Nygaard Junior Prize from AITO in 2005. She is a member of the IEEE Computer Society and the ACM.
received the PhD degree in 1986 in the area of software engineering from the University of Osnabrück, Germany. He spent 1986-1987 as a visiting assistant professor at McGill University, Montreal, Canada. From 1986 to 1990, he was head of research and development at STZ company for Software Technology Ltd., Dortmund, Germany. From 1991 to 1994, he was an associate professor in the Department of Computer Science at the University of Dortmund. Since 1994 he has been a full professor and chair, head of Software Engineering Group, Department of Computer Science, University of Paderborn, Germany. Professor Schäfer is deputy chair of the Collaborative Research Centre (CRC 614 Self-Optimization in Mechanical Engineering). He was and is a member of many national and international program committees in software engineering. He was a member of the IEEE Transactions on Software Engineering Editorial Board
(2007-2009), he was program committee chair of the Fifth European Software Engineering Conference (ESEC), Barcelona, in 1995, program committee cochair of the 23rd International Conference on Software Engineering in Toronto in 2001, and general chair of the 30th International Conference on Software Engineering held in Leipzig in 2008. His research interests include object-oriented specification and analysis of mechatronic systems, model-driven development in general, reengineering, and software process.