Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1555860.1555866acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

BegBunch: benchmarking for C bug detection tools

Published: 19 June 2009 Publication History

Abstract

Benchmarks for bug detection tools are still in their infancy. Though in recent years various tools and techniques were introduced, little effort has been spent on creating a benchmark suite and a harness for a consistent quantitative and qualitative performance measurement. For assessing the performance of a bug detection tool and determining which tool is better than another for the type of code to be looked at, the following questions arise: 1) how many bugs are correctly found, 2) what is the tool's average false positive rate, 3) how many bugs are missed by the tool altogether, and 4) does the tool scale.
In this paper we present our contribution to the C bug detection community: two benchmark suites that allow developers and users to evaluate accuracy and scalability of a given tool. The two suites contain buggy, mature open source code; bugs are representative of "real world" bugs. A harness accompanies each benchmark suite to compute automatically qualitative and quantitative performance of a bug detection tool.
BegBunch has been tested to run on the Solaris™, Mac OS X and Linux operating systems. We show the generality of the harness by evaluating it with our own Parfait and three publicly available bug detection tools developed by others.

References

[1]
S. Christey and R. A. Martin. Vulnerability type distributions in CVE. Technical report, The MITRE Corporation, May 2007. Version 1.1.
[2]
C. Cifuentes and B. Scholz. Parfait -- designing a scalable bug checker. In Proceedings of the ACM SIGPLAN Static Analysis Workshop, pages 4--11, 12 June 2008.
[3]
D. Evans and D. Larochelle. Improving security using extensible lightweight static analysis. IEEE Software, pages 42--51, January/February 2002.
[4]
S. Heckman and L. Williams. On establishing a benchmark for evaluating static analysis alert prioritization and classification techniques. In Proc. of the Second ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, pages 41--50, October 2008.
[5]
G. J. Holzmann. Static source code checking for user-defined properties. In Proceedings of 6th World Conference on Integrated Design&Process Technology (IDPT), June 2002.
[6]
K. Kratkiewicz and R. Lippmann. Using a diagnostic corpus of C programs to evaluate buffer overflow detection by static analysis tools. In Proc. of Workshop on the Evaluation of Software Defect Detection Tools, June 2005.
[7]
C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis&transformation. In Proceedings of the 2004 International Symposium on Code Generation and Optimization (CGO'04), March 2004.
[8]
LLVM/Clang Static Analyzer. http://clang.llvm.org/StaticAnalysis.html. Last accessed: 1 December 2008.
[9]
S. Lu, Z. Li, F. Qin, L. Tan, P. Zhou, and Y. Zhou. BugBench: A benchmark for evaluating bug detection tools. In Proc. of Workshop on the Evaluation of Software Defect Detection Tools, June 2005.
[10]
MITRE Corporation. Common Weakness Enumeration. http://cwe.mitre.org/, April 2008.
[11]
NIST. National Institute of Standards and Technology SAMATE Reference Dataset (SRD) project. http://samate.nist.gov/SRD, January 2006.
[12]
S. E. Sim, S. Easterbrook, and R. C. Holt. Using benchmarking to advance research: A challenge to software engineering. In Proceedings of the 25th International Conference on Software Engineering, pages 74--83, Portland, Oregon, 2003. IEEE Computer Society.
[13]
C. van Rijsbergen. Information Retrieval. Butterworth, 2 edition, 1979.
[14]
D. A. Wheeler. More Than A Gigabuck: Estimating GNU/Linux's Size. http://www.dwheeler.com/sloc/, 2001. Last accessed: 16 March 2009.
[15]
M. Zitser, R. Lippmann, and T. Leek. Testing static analysis tools using exploitable buffer overflows from open source code. In Proc. of International Symposium on Foundations of Software Engineering, pages 97--106. ACM Press, 2004.

Cited By

View all
  • (2024)P3: A Dataset of Partial Program FixesProceedings of the 21st International Conference on Mining Software Repositories10.1145/3643991.3644889(123-127)Online publication date: 15-Apr-2024
  • (2024)Forward-porting and its limitations in fuzzer evaluationInformation Sciences: an International Journal10.1016/j.ins.2024.120142662:COnline publication date: 1-Mar-2024
  • (2023)GuaNary: Efficient Buffer Overflow Detection In Virtualized Clouds Using Intel EPT-based Sub-Page Write Protection SupportProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/36267877:3(1-26)Online publication date: 7-Dec-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
DEFECTS '09: Proceedings of the 2nd International Workshop on Defects in Large Software Systems: Held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2009)
June 2009
34 pages
ISBN:9781605586540
DOI:10.1145/1555860

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 June 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. accuracy
  2. scalability

Qualifiers

  • Research-article

Conference

ISSTA '09
Sponsor:

Upcoming Conference

ISSTA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)30
  • Downloads (Last 6 weeks)2
Reflects downloads up to 06 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)P3: A Dataset of Partial Program FixesProceedings of the 21st International Conference on Mining Software Repositories10.1145/3643991.3644889(123-127)Online publication date: 15-Apr-2024
  • (2024)Forward-porting and its limitations in fuzzer evaluationInformation Sciences: an International Journal10.1016/j.ins.2024.120142662:COnline publication date: 1-Mar-2024
  • (2023)GuaNary: Efficient Buffer Overflow Detection In Virtualized Clouds Using Intel EPT-based Sub-Page Write Protection SupportProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/36267877:3(1-26)Online publication date: 7-Dec-2023
  • (2023)On the Reproducibility of Software Defect DatasetsProceedings of the 45th International Conference on Software Engineering10.1109/ICSE48619.2023.00195(2324-2335)Online publication date: 14-May-2023
  • (2023)ViolationTracker: Building Precise Histories for Static Analysis Violations2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)10.1109/ICSE48619.2023.00171(2022-2034)Online publication date: May-2023
  • (2022)Real world projects, real faults: evaluating spectrum based fault localization techniques on Python projectsEmpirical Software Engineering10.1007/s10664-022-10189-427:6Online publication date: 1-Nov-2022
  • (2021)Semantic bug seeding: a learning-based approach for creating realistic bugsProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468623(906-918)Online publication date: 20-Aug-2021
  • (2021)Mining Fix Patterns for FindBugs ViolationsIEEE Transactions on Software Engineering10.1109/TSE.2018.288495547:1(165-188)Online publication date: 1-Jan-2021
  • (2021)The MPI Bugs Initiative: a Framework for MPI Verification Tools Evaluation2021 IEEE/ACM 5th International Workshop on Software Correctness for HPC Applications (Correctness)10.1109/Correctness54621.2021.00008(1-9)Online publication date: Nov-2021
  • (2021)On using Stack Overflow comment-edit pairs to recommend code maintenance changesEmpirical Software Engineering10.1007/s10664-021-09954-826:4Online publication date: 11-May-2021
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media