1 / 6

BugBench: A Benchmark for Evaluating Bug Detection Tools

This talk shares experiences in bug/application analysis using BugBench, a benchmark suite for memory, multi-thread, and semantic bugs. The tool has been utilized by various research groups to improve bug detection tools. Valgrind, Purify, and CCured are analyzed with benchmarks showing performance overhead. The importance of bug/application characteristics and community cooperation in bug detection tools is highlighted.

winter
Télécharger la présentation

BugBench: A Benchmark for Evaluating Bug Detection Tools

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BugBench: ABenchmarkfor EvaluatingBug Detection Tools Shan Lu, Zhenmin Li, Feng Qin, Lin Tan, Pin Zhou and Yuanyuan Zhou University of Illinois, Urbana-Champaign

  2. Content of This Talk • Share our experience • Bug/application characteristics analysis • BugBench has been used by • Our previous work [Micro’04, ISCA’04, HPCA’05] • Other research groups: UCSD, Purdue, NCSU, etc.

  3. Current Benchmark Suite memory related multi-thread related semantic Other type of bugs: In searching …

  4. Functionality Valgrind Purify CCured miss stack buffer overflow miss moderate global-buffer overflow miss stack buffer overflow miss 1 Byte global-buffer overflow Failed to apply

  5. NCOM BC Memory Alloc Freq. (# per MInst) 769 0 138 480 NCOM BC BC NCOM Mem. Access Freq. (# per Instruction) .48 .5 .52 .55 .62 .85 .65 .69 Overhead • Valgrind: 6.4X (NCOM) ~ 119X (BC) • Purify: 28% (POLY) ~ 76X (BC) • CCured: 4% (POLY) ~ 3.7X (GZIP) 1.35X 69% 18% 28% 4% Heap Usage Ratio[Heap/(Heap+Stack)] 85.1% 99% 0% 23.9% 76.6%

  6. Experience Summary • Building benchmark is a time-consuming and long-term work • Motivate automatic tools to extract bugs • Bug/application characteristics are important for selecting applications • Need cooperation from entire community

More Related