C++ Parser-Analysers for Reverse Engineering:
Trade-offs and Benchmarks

 
 
Home
Workshop
Benchmark
Results
News

Format

The workshop will be held the afternoon of Tuesday, October 6, 2001. It will consist primarily of presentations and will conclude with an open discussion for presenters and attendees. The schedule for the workshop is given below.
 
2:45-3:00pm Introduction: Trade-offs and Benchmarks
3:00-3:25pm Parser A
3:25-3:50pm Parser B
3:50-4:15pm Parser C
4:15-4:40pm Parser D
4:40-4:55pm Summary
4:55-5:30pm Open Discussion

The first presentation will discuss the various challenges in building a C++ front end and introduce the proposed benchmark. It will be followed by presentations by four teams using different front-ends. In their presentations, they will discuss how they handled the robustness-accuracy trade-off and whether the proposed benchmark is an appropriate evaluation of their tool. The participating parsers are as follows.

  • cppx, University of Waterloo. A parser-analyser built using GNU g++ as a front end.
  • TkSee/SN, University of Ottawa. A parser-analyser built using Cygnus Source Navigator as a front end.
  • Rigi C++, University of Victoria. A parser-analyser built using Visual Age C++ as a front end.
  • Ccia, A&T. The Ccia parser-analyser is part of the Acacia (C++ Information Abstraction System).

Following these four presentations there will be a summary and open discussion with the presenters and attendees. It is hoped that the proposed benchmark will be improved by the feedback provided by this workshop.
 
 

Timeline

The proposed benchmark available in advance of the workshop and the tool teams have run their tools on the benchmark prior to the workshop. They have also provided the us with their results in advance to assist us in preparation of the workshop.
 
Date Milestone
October 15, 2001 Proposed Benchmark available
November 2, 2001 Initial results due
November 6, 2001 Workshop at CASCON2001

The benchmark will consist of a series of test buckets. Each test bucket will have a C++ program and a series of questions about the program. The results for each test bucket will consist of the output from the parser plus a written explanation of where the answers can be found in the output. An example test bucket and solution will be provided when the proposed benchmark is posted on this web site.

Teams

Team TkSee/SN

Team TkSee/SN consists of Sergei Marchenko and Tim Lethbridge.

  • Sergei Marchenko - Research Associate in SITE at the University of Ottawa. He has a Masters Degree in Computer Science from the Belarussian State University in Minsk, Belarus. He has three years of experience in industry as a Software Developer and about one year in the research environment.
     
  • Tim Lethbridge is an associate professor in the School of Information Technology and Engineering at the University of Ottawa. He is a principal investigator in the Consortium for Software Engineering Research, in which he performs reverse enginering research in conjunction with Mitel. He is also interested in knowledge representation, user interface design and software engineering education. He is author of a new software engineering textbook published by McGraw-Hill.

They will be making a joint presentation at the workshop.

Team Rigi

Team Rigi is Holger Kienle and Johannes Martin.

  • Holger M. Kienle is a Ph.D. student in Computer Science at the University of Victoria. He received a Master of Science degree in Computer Science from University of Massachusetts Dartmouth and a Diploma in Informatics from University of Stuttgart, Germany. His interests include software reverse engineering, exchange formats for re-engineering, program analyses, and domain-specific languages.
     
  • Johannes Martin is a Ph.D. student in Computer Science at the University of Victoria. He received a Master of Science degree in Computer Science from Northern Illinois University. His interests include software migration, software reverse engineering, and software and web-site reengineering.

They will also be making a joint presentation.

Team cppx

Team cppx has three members.

  • Andrew Malton is an associate professor in the Department of Computer Science at the University of Waterloo. From 1995 to 2000 he was a senior research scientist at Legasys Corporation, Kingston. From 1990 to 1995 he was an assistant professor at Queen's University.
     
  • Ian Bull is a Masters Student at the University of Waterloo studying Software Architecture and Reverse Engineering. He completed his undergraduate degree at the University of Waterloo in Mathematics and Honours Computer Science with an Option in Software Engineering. He also has two years of work experience as a Software Developer.
     
  • Ian Davis is a research scientist in the Department of Computer Science at the University of Waterloo. He has been employed by the University since 1994, and obtained his PhD from this University in 1988. He has more than 25 years experience as a systems programmer.

Ian Bull will be making the presentation for the team.

Team Acacia

Ccia (and Acacia) will be represented by Mike Godfrey and Andrew Trevors.

  • Michael W. Godfrey is an assistant professor at the University of Waterloo, where he is a member of the software architecture group (SWAG). His research interests include software evolution, software architecture, reverse engineering, program comprehension, and tool support for all of these activities.
     
  • Andrew Trevors is an MMath (CS) student at the University of Waterloo under the supervision of Michael Godfrey. He completed a Bachelor of Computer Science with First Class Honours in Software Systems and a certificate in Computer Telephony Integration from the University of New Brunswick. As part of the Software Architecture Group, Andrew has worked with PBS and GXL.

Andrew Trevors will be presenting.

Co-chairs

Susan Elliott Sim
Department of Computer Science
University of Toronto
10 Kings College Rd
Toronto, Ontario, Canada
M5S 3G4
simsuz@cs.utoronto.ca
Richard C. Holt
Department of Computer Science
200 University Avenue West
University of Waterloo
Waterloo, Ontario, Canada 
N2L 3G1
holt@plg.uwaterloo.ca