Pages: pp. 0929-0930
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