[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3597926.3604921acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article
Open access

KDAlloc: The KLEE Deterministic Allocator: Deterministic Memory Allocation during Symbolic Execution and Test Case Replay

Published: 13 July 2023 Publication History

Abstract

The memory allocator can have an important impact in symbolic execution. Taking a user-centric view, this tool demonstration paper discusses some of the main benefits provided by KLEE's new allocator KDAlloc in terms of improved deterministic execution and bug-finding capabilities. We then introduce a new replay tool for KLEE which enables the native execution to integrate KDAlloc and receive the same heap addresses as during symbolic execution.

References

[1]
Cristian Cadar, Daniel Dunbar, and Dawson Engler. 2008. KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs. In OSDI’08.
[2]
Cristian Cadar and Dawson Engler. 2005. Execution Generated Test Cases: How to Make Systems Code Crash Itself. In SPIN’05. https://doi.org/10.1007/11537328_2
[3]
Cristian Cadar and Koushik Sen. 2013. Symbolic Execution for Software Testing: Three Decades Later. CACM, 56, 2 (2013), 82–90. https://doi.org/10.1145/2408776.2408795
[4]
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Cliff Stein. 2001. Introduction to Algorithms (second ed.). MIT Press/McGraw Hill.
[5]
Jason Evans. 2006. A Scalable Concurrent malloc(3) Implementation for FreeBSD. In BSDCan’06.
[6]
Patrice Godefroid, Nils Klarlund, and Koushik Sen. 2005. DART: Directed Automated Random Testing. In PLDI’05.
[7]
James C. King. 1976. Symbolic Execution and Program Testing. CACM, 19, 7 (1976), 385–394.
[8]
[n. d.]. KLEE website. http://klee.github.io/
[9]
Chris Lattner and Vikram Adve. 2004. LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. In CGO’04. https://doi.org/10.1109/CGO.2004.1281665
[10]
Nicholas Nethercote and Julian Seward. 2003. Valgrind: A Program Supervision Framework. Electronic Notes in Theoretical Computer Science, 89, 2 (2003).
[11]
Mark E. Russinovich, David A. Solomon, and Alex Ionescu. 2012. Windows® Internals, Part 2 (6th ed.). Microsoft Press. isbn:9780735677272
[12]
Daniel Schemmel, Julian Büning, Frank Busse, Martin Nowack, and Cristian Cadar. 2022. A Deterministic Memory Allocator for Dynamic Symbolic Execution. In ECOOP’22. https://doi.org/10.4230/LIPIcs.ECOOP.2022.9
[13]
Konstantin Serebryany, Derek Bruening, Alexander Potapenko, and Dmitry Vyukov. 2012. AddressSanitizer: A Fast Address Sanity Checker. In USENIX ATC’12.

Index Terms

  1. KDAlloc: The KLEE Deterministic Allocator: Deterministic Memory Allocation during Symbolic Execution and Test Case Replay

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ISSTA 2023: Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis
    July 2023
    1554 pages
    ISBN:9798400702211
    DOI:10.1145/3597926
    This work is licensed under a Creative Commons Attribution 4.0 International License.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 13 July 2023

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Symbolic Execution
    2. memory allocation
    3. test case replay

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    ISSTA '23
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 58 of 213 submissions, 27%

    Upcoming Conference

    ISSTA '25

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 542
      Total Downloads
    • Downloads (Last 12 months)365
    • Downloads (Last 6 weeks)58
    Reflects downloads up to 01 Jan 2025

    Other Metrics

    Citations

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media