The 27th International Conference on Software Engineering (ICSE '05) was held in St. Louis, Missouri, 15-21 May 2005. Of the 313 papers submitted to the conference, 44 were published in the conference proceedings, and, of those, four of the best were selected and invited for revision and extension. The papers cover four diverse topics but share rigorous technical presentations of novel work, substantially validated or evaluated.
In their paper "Goal-Directed Reasoning for Specification-Based Data Structure Repair," Brian Demsky and Martin C. Rinard propose a novel approach to software fault tolerance. A software engineer uses the technique by first defining an abstraction mapping from a given concrete data structure to an abstract relational model that includes specifications of data structure invariants. Violations of invariants can be detected and repaired automatically on the basis of these logical constructs, with the program then continuing to execute after the repair. Because the repaired state may differ from the correct state, the continued execution may fail to satisfy the behavioral specification of the program. The premise underlying the approach is that, in some cases, continued execution, even with potential violations of the behavioral specification, may be better than failing immediately due to corruption in a vital data structure.
In their paper "Approximate Structural Context Matching: An Approach to Recommend Relevant Examples," Reid Holmes, Robert J. Walker, and Gail C. Murphy describe Strathcona, an environment for finding and visualizing examples of usage of an API. Code posited by the developer is heuristically matched against a source code repository. This allows developers to easily query for similar code without forming complex queries or digging through potentially incorrect documentation.
In their paper "An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks," Andrew J. Ko, Brad A. Myers, Michael J. Coblenz, and Htet Htet Aung report on their study to understand maintenance tasks execution in the Eclipse IDE. The broad goal of the reported work was to determine the limitations of the existing tools, to generate theory of program understanding, and to propose a set of empirically-grounded requirements for more effective tools.
Finally, in their paper "Using Mutation Analysis for Assessing and Comparing Testing Coverage Criteria," Jamie Andrews, Lionel Briand, Yvan Labiche, and Akbar Siami Namin investigate empirically the relative cost and effectiveness of control and data flow adequacy criteria by relying on mutation analysis. They revisit fundamental questions regarding the relationships between fault detection, test suite size, and control/data flow coverage, and they investigate differences with existing studies. They also conclude that, in the context of their study, both actual faults and mutants yield similar results, except that the large number of mutants helps decrease the impact of random variation in fault detection. Furthermore, the authors suggest a way to tune the mutation analysis process in a specific environment to account for possible differences in fault detection probabilities. This paper does not appear here, as it was published in the August issue (vol. 32, no. 8). We refer readers to the online version at http://doi.ieeecomputersociety.org/10.1109/TSE.2006.83.
We hope you enjoy these papers. We would like to thank the authors for their contributions, and the many diligent referees whose insightful reviews and repeated feedback were instrumental in delivering the quality papers in this special section.
William G. Griswold
Program Chairs, ICSE '05
• W.G. Griswold is with the Department of Computer Science and Engineering, University of California, San Diego, La Jolla, CA 92093-0404. E-mail: email@example.com.
• B. Nuseibeh is with the Department of Computing, Faculty of Maths and Computing, The Open University, Walton Hall, Milton Keynes MK7 6AA, UK. E-mail: B.Nuseibeh@open.ac.uk.
For information on obtaining reprints of this article, please send e-mail to: firstname.lastname@example.org.
William G. Griswold
received the BA degree in mathematics from the University of Arizona in 1985 and the PhD degree in computer science from the University of Washington in 199. He is a professor in the Department of Computer Science and Engineering at the University of California, San Diego. He was recently program cochair for the 2005 International Conference on Software Engineering and is currently chair of ACM SIGSOFT. His research interests include aspect-oriented software development, ubiquitous computing, educational technology, software evolution and design, and software tools. He is a member of the IEEE and the ACM.
received the BSc degree in computer systems engineering from the University of Sussex, United Kingdom, and the MSc and PhD degrees in software engineering from Imperial College London. He is a professor and director of research in computing at the Open University (OU), UK, and a visiting professor at Imperial College London. Previously, he was a reader at Imperial College and head of its Software Engineering Laboratory. His research interests are in software requirements engineering and design, software process modeling and technology, and technology transfer. He is the editor-in-chief of the Automated Software Engineering Journal
, associate editor of the IEEE Transactions on Software Engineering
, and a member of the editorial board of five other international journals. He was a founder and chairman of the British Computer Society's Requirements Engineering Specialist Group (1994-2004), and is currently chair of IFIP Working Group 2.9 (Software Requirements Engineering). He has served as program chair of major conferences in his field, including ASE '98, RE '01, and ICSE '05. He received a 2002 Philip Leverhulme Prize for outstanding research achievements in software engineering, an ICSE '03 "Most Influential Paper" award, and a number of other best paper and service awards. In 2005, he was awarded a senior research fellowship of the Royal Academy of Engineering and the Leverhulme Trust. He is a fellow of the British Computer Society and a Chartered Engineer (CEng).