ICPC 2008
PROGRAM

photo venue

Program

Tuesday, June 10 - Wednesday, June 11 - Thursday, June 12 - Friday, June 13
TUESDAY, June 10
8:30 - 9:00
Registration
9:00 - 12:30
ICPC Workshops - Morning Sessions
room: Louyskamer
International Workshop on Semantic Technologies in System Maintenance (STSM 2008)

9:00-9:05
Introduction

9:05-10:00
Keynote: (Software) Languages through the Ages
Jean-Marie Favre

10:00-10:30
Towards a Repository of Common Programming Technologies Knowlegde (full paper)
Daniel Ratiu, Martin Feilkas, Florian Deissenboeck, Jan Jürjens and Radu Marinescu

10:30-11:00
Break

11:00-11:30
Graph Technology and Semantic Web in Reverse Engineering - A Comparison . (full paper)
Gerd Gröner, Steffen Staab and Andreas Winter

11:30-12:00
Measuring the Semantic Similarity of Comments in Bug Reports (full paper)
Bogdan Dit, Denys Poshyvanyk and Andrian Marcus

12:00-12:20
Information Systems Integration and Evolution: Ontologies at Rescue (short paper)
Carlo A. Curino, Letizia Tanca and Carlo Zaniolo

12:20-12:30
Discussion
room: Hendrikkamer
Working Session on Industrial Realities of Program Comprehension (IRPC 2008)
12:30 - 14:00
Lunch
14:00 - 14:05
ICPC Workshops - Afternoon Sessions
Query Technologies and Applications for Program Comprehension (QTAPC 2008)
Introduction to the QTAPC Workshop
Mathieu Verbaere, Semmle Ltd., UK
14:05 - 14:30
Invited Talk
System-Level Program Comprehension: Query Language and Graph Transformations
Suraj C. Kothari, Iowa State University, USA and EnSoft Corp., USA
14:30 - 15:30

Chair:
Mike Godfrey, University of Waterloo, Canada
Session #1: Query Technologies for Program Comprehension
14:30 - 14:45
Using RSCRIPT for Software Analysis
Paul Klint, CWI, The Netherlands

14:45 - 15:00
Querying Software Abstraction Graphs
Daniel Bildhauer, University of Koblenz-Landau, Germany
Jürgen Ebert, University of Koblenz-Landau, Germany

15:00 - 15:15
Example-based Program Querying
Andy Kellens, Vrije Universiteit Brussel, Belgium
Johan Brichau, Université Catholique de Louvain, Belgium
Coen De Roover, Vrije Universiteit Brussel, Belgium

15:15 - 15:30
General discussion on query technologies for program comprehension
15:30 - 16:00
Coffee break
16:00 - 17:20

Chair:
Mathieu Verbaere, Semmle Ltd., UK
Session #2: Application and Evaluation of Query Technologies
16:00 - 16:15
Towards a taxonomy of tools for documenting code design
Sergio Castro, Université Catholique de Louvain, Belgium
Kim Mens, Université Catholique de Louvain, Belgium
Johan Brichau, Université Catholique de Louvain, Belgium

16:15 - 16:30
Evaluation of code query technologies for industrial use
Tiago L. Alves, University of Minho, Portugal and Software Improvement Group, The Netherlands
Peter Rademaker, University of Utrecht, The Netherlands and Software Improvement Group, The Netherlands

16:30 - 16:45
Querying Runtime Information in the IDE
David Roethlisberger, University of Bern, Switzerland

16:45 - 17:00
Employing Query Technologies for Crosscutting Concerns Comprehension
Marius Marin, Accenture, The Netherlands

17:00 - 17:20
General discussion on application and evaluation of query technologies
17:20 - 17:30
Wrap-up

WEDNESDAY, June 11 - room: Tinbergenzaal
8:30 - 9:15
Registration
9:15 - 9:30
Opening by René Krikhaar
9:30 - 10:30

Chair:
Ralf Lämmel
  NWO Jacquard Keynote Speaker:
Scalable Program Comprehension for Analyzing Complex Defects
Suraj C. Kothari
10:30 - 11:00
Coffee break
11:00 - 12:30

Chair:
Árpád Beszédes
Technical Session 1: Software Evolution
Partial Domain Comprehension in Software Evolution and Maintenance
Maksym Petrenko, Václav Rajlich and Radu Vanciu

Refining Existing Theories of Program Comprehension During Maintenance for Concurrent Software
Scott D. Fleming, Eileen Kraemer, R. E. K. Stirewalt, Laura K. Dillon and Shaohua Xie

Identifying Architectural Change Patterns in Object-Oriented Systems
Xinyi Dong and Michael W. Godfrey
12:30 - 14:00
Lunch
14:00 - 15:30

Chair:
David Binkley
Technical Session 2: Dynamic Analysis
A Toolkit for Visualizing the Runtime Behavior of TinyOS Applications
Andrew R. Dalton and Jason O. Hallstrom

CERBERUS: Tracing Requirements to Source Code Using Information Retrieval, Dynamic Analysis, and Program Analysis
Marc Eaddy, Alfred V. Aho, Giuliano Antoniol, and Yann-Gaël Guéhéneuc

Exploiting Runtime Information in the IDE
David Röthlisberger, Orla Greevy, and Oscar Nierstrasz
15:30 - 16:00
Coffee break
16:00 - 17:00

Chair:
James R. Cordy
Short Paper Session 1
Automated Identification of Tasks in Development Sessions
Irina Diana Coman and Alberto Sillitti

Re-Engineering a Reverse Engineering Portal to a Distributed SOA
William M. Mongan, Maxim Shevertalov, and Spiros Mancoridis

Checklist Inspections and Modifications: Applying Bloom’s Taxonomy to Categorise Developer Comprehension
David A. McMeekin, Brian R. von Konsky, Elizabeth Chang, and David J.A. Cooper

Aspect Mining in Procedural Object-Oriented Code
Muhammad Usman Bhatti, Stéphane Ducasse, and Awais Rashid
17:00 - 18:00

Chair:
Jonathan I. Maletic
Open Steering Committee Meeting
19:00RECEPTION location: an Amsterdam microbrewery
During the reception there are guided tours in the brewery itself.

THURSDAY, June 12 - room: Tinbergenzaal
8:45 - 9:00 Registration
9:00 - 10:30

Chair:
Jonathan I. Maletic
Technical Session 3: Program Comprehension Studies
Do Dynamic Object Process Graphs Support Program Understanding?—A Controlled Experiment
Jochen Quante

Impact of Limited Memory Resources
Dave Binkley, Dawn Lawrie, Steve Maex, and Christopher Morrell

Data Model Comprehension: An Empirical Comparison of ER and UML Class Diagrams
Andrea De Lucia, Carmine Gravino, Rocco Oliveto, and Genoveffa Tortora
10:30 - 11:00 Coffee break
11:00 - 12:30

Chair:
Letha Hughes Etzkorn
Technical Session 4: Domain Terms
A Traceability Technique for Specifications
Aharon Abadi, Mordechai Nisenson, and Yahalomit Simionovici

On the Use of Domain Terms in Source Code
Sonia Haiduc and Andrian Marcus

Identifying Word Relations in Software: A Comparative Study of Semantic Similarity Tools
Giriprasad Sridhara, Emily Hill, Lori Pollock, and K. Vijay-Shanker
12:30 - 13:30
Lunch
13:30 - 14:30

Chair:
Joost Visser
Short Paper Session 2
An Approach for Mapping Features to Code Based on Static and Dynamic Analysis
Abhishek Rohatgi, Abdelwahab Hamou-Lhadj, and Juergen Rilling

Evaluating the Reference and Representation of Domain Concepts in APIs
Daniel Ratiu and Jan Jürjens

Ensuring Well-Behaved Usage of APIs through Syntactic Constraints
Martin Feilkas and Daniel Ratiu

A Tool for Visual Understanding of Source Code Dependencies
Martin Pinzger, Katja Gräfenhain, Patrick Knab, and Harald C. Gall
14:30 - 15:30

Chair:
Martin Robillard
Technical Session 5: Metrics
Reading Beside the Lines: Indentation as a Proxy for Complexity Metrics
Abram Hindle, Michael W. Godfrey, and Richard C. Holt

Mendel: A Model, Metrics, and Rules to Understand Class Hierarchies
Simon Denier and Yann-Gaël Guéhéneuc
15:30 - 16:00
Coffee break
16:00 - 17:00

Chair:
Ralf Lämmel
  NWO Jacquard Keynote Speaker:
The Reuse of Grammars with Embedded Semantic Actions
Terence Parr
17:00 - 18:30

Chair:
Distillery Rutte
Hollandish Happening:
Workshop on Dutch Liquors: Fabrication and Tasting
accompanied by typical Dutch hors d'œuvres

Distillery Rutte
20:00 CONFERENCE DINNER: Hollandish Happening
continued in a Restaurant located in a Monument built in 1488

FRIDAY, June 13 - room: Tinbergenzaal
9:00 - 10:30

Chair:
Thomas Dean
Technical Session 6: Cloning, Slicing, and Parsing
Scenario-Based Comparison of Clone Detection Techniques
Chanchal K. Roy and James R. Cordy

ICPC 2008 Best Paper Award
Combining Preprocessor Slicing with C/C++ Language Slicing

László Vidács, Judit Jász, Árpád Beszédes, and Tibor Gyimóthy

NICAD: Accurate Detection of Near-Miss Intentional Clones Using Flexible Pretty-Printing and Code Normalization
Chanchal K. Roy and James R. Cordy
10:30 - 11:00
Coffee break
11:00 - 12:00

Chair:
Paul Klint
Tool Presentations
How to Interconnect Operational and Behavioral Views of Web Applications
Ruben Fonseca, Daniela da Cruz, Pedro Rangel Henriques, and Maria João Varanda Pereira

Locating and Understanding Features of Complex Software Systems by Synchronizing Time-, Collaboration- and Code-focused Views on Execution Traces
Johannes Bohnet, Stefan Voigt, and Jürgen Döllner

Support for Understanding GUI Programs by Visualizing Execution Traces Synchronized with Screen Transitions
Tatsuya Sato, Buntarou Shizuki, and Jiro Tanaka
12:00 - 12:30
Tool Demonstrations
12:30 - 14:00
Tool Demonstrations (continued) + Lunch
14:00 - 15:30

Chair:
Chris Verhoef
Technical Session 7: Analysis of Revision History
What’s a Typical Commit? A Characterization of Open Source Software Repositories
Abdulkareem Alali, Huzefa Kagdi, and Jonathan I. Maletic

Assessing Software Archives with Evolutionary Clusters
Adam Vanya, Lennart Hofland, Steven Klusener, Piërre van de Laar, and Hans van Vliet

Reusing Program Investigation Knowledge for Code Understanding
Martin P. Robillard and Putra Manggala
15:30              
Closing by Chris Verhoef