An IEEE Computer Society
sponsored venue



ICPC Homepage

History of ICPC

ICPC Events held in the past

The Steering Committee

Governance

Resources

The Beginnings of ICPC

A Memoir by Václav Rajlich, Ph.D.
Detroit, Michigan USA
23 March 2009


The history of the International Conference on Program Comprehension (ICPC) starts with another conference, the Conference on Software Maintenance (CSM). In 1992, CSM was located in Orlando and I was selected to be the general chair. During the years that preceded the conference, I met my colleagues at various occasions and the same questions repeatedly appeared in our discussions: Why is software maintenance so hard? Why is software so hard to comprehend?

In my previous experience as a software manager, I learned that program comprehension often turned out to be a serious concern. When I assigned new programmers to old projects their effectiveness was low, they were spinning their wheels and they would always complain: "The code of this project is incomprehensible!" I learned that a much better use of their talent was to assign them to new projects where they would develop their own code but then I agonized: What will happen after the old seasoned programmers leave their projects? Who is going to maintain those projects? The documentation, the coding standards, the naming conventions all seemed to offer only very limited relief; there was something deeper at play here.

In May 1993, after several phone calls and e-mail messages, I decided that this intriguing topic of program comprehension should get a thorough one-day hearing at the CSM in Orlando. With my colleagues Norm Wilde, Malcolm Munro, Aniello Cimitile, and Peter Selfridge, we formed a committee and issued a Call For Papers that contained the following provisions: position papers are to be submitted by September 5, they should be limited to 3 pages, the notices will be mailed on October 1, and the workshop date will be November 9. The workshop fee for IEEE members was set at $35 and for nonmembers it was set at $45.

The workshop idea turned out to be controversial. CSM has never offered any collocated workshops, and some steering committee members were worried that the workshop would draw attendees away from tutorials and negatively impact the conference budget.

In spite of these controversies, 35 participants met on November 9 as scheduled and presented their views on program comprehension. Among the participants were tool developers, veterans from Artificial Intelligence projects, industry consultants, and a significant group of Italian researchers, which turned out to be an important factor for the future. The evaluation sheets that I collected after the workshop contained a strong enthusiasm for the topics discussed, and an indication that program comprehension is an intriguing research agenda that the people are planning to pursue in the future.

Shortly after I returned from Orlando, I received a phone call from Italy. Italian researchers from Naples announced that they would like to organize another program comprehension event and asked me to assume responsibility for organizing it. They proposed the island of Capri as a venue and provided a considerable financial subsidy from the Italian government that would allow a real conference format with paper presentations and refereed proceedings.

At a local bookstore, I bought a Capri tourist guide; the stunning beauty of the island was breathing from its pages. It dawned on me that we have a winning topic, beautiful venue, strong local and financial support, and hence a unique opportunity that must not be wasted. The IEEE Computer Society turned out to be sympathetic; CSM in Orlando made money and they now knew me and were willing to bet on this new venture.

The 2nd Workshop on Program Comprehension (WPC) met July 8 - 9, 1993 in Capri, Italy. The island turned out to be as beautiful as advertised, the weather was warm but tempered by a cool breeze from the sea, the foreboding ruins of the Roman emperor Tiberius' villa hovered on top of a high cliff over the Bay of Naples.

The proceedings of WPC had 193 pages and 21 papers in 7 sessions; the program co-chairs were Aniello Cimitile and Norman Wilde. I was a general co-chair, while the other general co-chair was Professor Bruno Fadini, the founder of the software engineering research group at the University of Naples. Many southern Italian software engineering researchers whom we know are former students of that group or of the groups that descended from it. The Capri conference was very successful, the panel discussion was heated, excitement was in the air, and the tradition of the ICPC was born.

The next WPC '94 was in Washington, DC and followed a similar format as the previous WPC. I organized it as a general chair, finance chair, and steering committee, all in one person; local arrangements were handled by the IEEE office in Washington. Spencer Rugaber and Aniello Cimitile were program co-chairs. It again presented a strong international program, good attendance, and strong results. Importantly, from the point of view of the IEEE Computer Society, it again concluded with a profit, although this time there was no financial subsidy.

The year 1995 was without a WPC. After I organized three conferences in three years, I may have felt a conference organizing fatigue; however, the community clamored for more WPCs.

WPC '96 was collocated with the International Conference on Software Engineering (ICSE) in Berlin. Again I was a single-person steering committee, general chair, and finance chair; for local arrangements, I relied on ICSE and their group of Berliners. The social program was simple: a dinner at "Café Einstein" which boasted Bohemian style cuisine. The IEEE Computer Society brass showed up and dutifully mingled with common WPC folk. Sitting over their dinners at several tables at the Café, attendees discussed the future of WPC. This was a strong, thriving, and loyal community; some people attended several WPCs and devoted their energy to write papers, to review the submissions, and to help in other tasks. Now, they were demanding additional future WPCs; the universal sense was that the community is mature and cohesive and it is ready to assume responsibility for its own future.

The next day at the conference, we elected the first steering committee that assumed the responsibility for WPC from then on. Over the years, WPC turned into IWPC (International Workshop on Program Comprehension) and later into ICPC (International Conference on Program Comprehension). It has been meeting every year, alternating between venues in Europe and North America, guided by its changing but committed steering committee. Numerous people have served capably as general chairs, program chairs, program committee members, and in other capacities. Most important of all, ICPC has found gifted authors who published numerous high quality papers and developed a greater understanding of what constitutes program comprehension.

Page last modified on
ICPC Steering Committee <moc.spuorgelgoog@cs-cpci>