Guest editor’s introduction to the special section on the 2009 international conference on program comprehension (ICPC 2009)

Program comprehension is a vital blend of software engineering activities that support reuse, inspection, maintenance, evolution, migration, reverse engineering, and reengineering of existing software systems. The International Conference on Program Comprehension (ICPC) is the principal venue for work in the area of program comprehension as well as a leading venue for work in the areas of software analysis, reverse engineering, software evolution, and software visualization. ICPC 2009 took place during May 17–19, 2009, in Vancouver, British Columbia, Canada, co-located with the International Conference on Software Engineering (ICSE ‘09). ICPC 2009 received a record number of technical paper submissions (74), which allowed us to assemble an excellent program that continues ICPC’s tradition of providing a high-quality venue for sharing the latest advances in program comprehension. The program included 20 full research papers and 14 short papers. Of these 20 full research papers, five were extended beyond their conference versions and submitted to the standard SQJ review process involving three anonymous reviewers per paper. Three of these invited papers passed the review process and are contained in this special section. The paper entitled ‘‘Resumption Strategies for Interrupted Programming Tasks’’ by Chris J. Parnin and Spencer Rugaber deals with the reality of programming where programmers are often interrupted by phone calls, colleagues, and other external events. After the sudden interruption, programmers must resume their task. This paper studies the frequency and persistence of interruptions and the various strategies programmers use in their task resumption. An exploratory analysis was performed on 10,000 recorded sessions of 86 programmers and a survey of 414 programmers. Based on the analysis, the authors propose