Abstract :
Program comprehension is a frequent software-engineering activity involved in practically all stages of the softwaredevelopment lifecycle. Developers need to understand the system they work on in order to reuse it, inspect it for quality assurance, to fix its bugs, enhance its functionalities, and reengineer it for a different environment. Software systems have been becoming more complex - think of language cocktails, multi-threaded and asynchronous programming, multi-tier architectures, cross-platform compilation, abstraction mechanisms for separations of concerns, loose coupling, and so on. As a result, program comprehension is getting more challenging but also desperately more needed. The International Conference on Program Comprehension (ICPC) is the premier forum on program comprehension. The conference covers the full range of related subjects such as program understanding, software analysis, software visualization, reverse engineering, and software evolution. ICPC 2008 is the 16th edition of the conference since its first holding (originally as a workshop) in 1992. Over the years, the ICPC conference has provided a lively forum for researchers and practitioners from academia, industry, and government, to present and discuss both the state-of-the-art and the state-of-the-practice in the general area of program comprehension. ICPC 2008 received 57 submissions from which 20 full papers were selected. Each paper was reviewed by 3-5 program committee members. The program committee identified also 7 short papers and 3 tool demonstrations for inclusion in the proceedings.