Download presentation
Presentation is loading. Please wait.
Published byGloria Bryan Modified over 9 years ago
1
BugBench: A Benchmark for Evaluating Bug 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 NameProgramSourceLOCCrash Latency Bug Type NCOMncompress-4.2.4Red Hat1.9KN/AStack smash POLYpolymorph-0.4.0GNU0.7K9040K InstStack smash & Global buffer overflow GZIPgzip-1.2.4GNU8.2K15K InstGlobal buffer overflow COMP129.compressSPEC952.0KN/AGlobal buffer overflow GO099.GoSPEC9529.6KN/AGlobal buffer overflow MANman-1.5h1Red Hat4.7K29.5M InstGlobal buffer overflow BCbc-1.06GNU17.0K189K InstGlobal buffer overflow SQUDsquid-2.3squid93.5K0Global buffer overflow CALBcachelibUIUC6.6KN/AUninitialized read CVScvs-1.11.4GNU114.5KN/ADouble free YPSVypserv-2.2Linux NIS11.4KN/AMemory leak PFTPproftpd-1.2.9ProFTPD68.9KN/AMemory leak SQUD2squid-2.4squid104.6KN/AMemory leak HTPDhttpd-2.0.49Apache224KN/AData race MSQL1msql-4.1.1MySQL1028KN/AData race MSQL2msql-3.23.56MySQL514KN/AAtomicity MSQL3msql-4.1.1MySQL1028KN/AAtomicity PSQLpostgresql-7.4.2PostgreSQL559KN/ASemantic HTPD2httpd-2.0.49Apache224KN/ASemantic memory related multi-thread related semantic Other type of bugs: In searching …
4
Functionality miss stack buffer overflow miss moderate global-buffer overflow miss stack buffer overflow miss 1 Byte global-buffer overflow Failed to apply Valgrind Purify CCured NameCatch Bug?Related Memory Object Type ValgrindPurifyCCured NCOMNo YesStack POLYVaryYes Stack & global buffer GZIPYes Global buffer COMPNo Yes GONoYes MANYes BCYes Heap buffer SQUDYes N/A
5
Heap Usage Ratio [Heap/(Heap+Stack)] 99% 0% 76.6%23.9% 85.1% Overhead Valgrind: 6.4X (NCOM) ~ 119X (BC) Purify: 28% (POLY) ~ 76X (BC) CCured: 4% (POLY) ~ 3.7X (GZIP).85.48.69.65.55.52.5.62 Mem. Access Freq. (# per Instruction) BC NCOM Memory Alloc Freq. (# per MInst) 769 0 138 480 18% 4% 28% 69% 1.35X
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.