Event Details

CppETS: A Benchmark for C++ Fact Extractors

Presenter: Holger Kienle, University of Victoria
Supervisor:

Date: Fri, September 20, 2002
Time: 13:30:00 - 00:00:00
Place: EOW 430

ABSTRACT

Fact extraction is the problem of parsing and analyzing source code to obtain information or model the program. It is the first step for any subsequent manipulation or presentation of the source code for program comprehension, documentation generation, and reverse engineering. There is a wide variety of extractor solutions, ranging from lexical pattern-matching tools to full-fledged compiler front-ends. Despite many efforts, source code extraction has been a surprisingly hard problem, which can take significant time and resources to accomplish. Implementing an extractor is a problem plagued with engineering challenges, but rewarded by few scientific insights. This is especially true for the C and C++ programming languages. We propose to address this problem with benchmarking. The talk will first discuss benchmarks in general and then introduce CppETS (pronounced "see-pets"), a benchmark to test and evaluate C++ fact extractors. A benchmark has many applications; it could be used (1) by developers of extractors as a test suite, (2) by users of extractors to help select one appropriate for their needs, and (3) by the wider community to set expectations for future work with extractors. CppETS has been exercised by four different teams (Acacia, Columbus/CAN, cppx, and TkSee/SN) and results were presented at IWPC 2002; the talk will discuss the results. The CppETS benchmark is joined research with Susan E. Sim, University of Toronto, who developed the first version of CppETS.