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.