Exploring Loose Coupling of Slicing with Dynamic Symbolic Execution on the JVM

被引:0
作者
Mues, Malte [1 ]
Rueschoff, Julian [1 ]
Ben Hermann [1 ]
机构
[1] TU Dortmund Univ, Dortmund, Germany
来源
TESTS AND PROOFS, TAP 2024 | 2025年 / 15153卷
关键词
!text type='Java']Java[!/text] Verification; !text type='Java']Java[!/text] Slicing; Dynamic Symbolic Execution; Tool Combination;
D O I
10.1007/978-3-031-72044-4_9
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Dynamic symbolic execution is an effective technique for fuzzing programs with application to software verification as well if the search terminates during symbolic execution. However, the state space explosion problem often prevents the symbolic search from exploring the entire state space. As static analysis operates on the whole program rather than single execution paths, it can cut out parts of the program that are irrelevant for verifying a property. In this paper, we explore how slicing can be used before dynamic symbolic execution for analyzing assertion reachability in Java programs. We report on our first experience using state-of-the-art open-source Java slicers on the SV-COMP Java benchmark before applying GDart, a dynamic symbolic execution engine for Java. Currently, this experiment has not been successful, as the slicers are not mature enough to reliably produce correct slices of a task in the SV-COMP benchmark. However, in a few examples, the approach delivered promising results that motivate the future development of slicers for Java.
引用
收藏
页码:168 / 175
页数:8
相关论文
共 22 条
  • [1] SLICER4J: A Dynamic Slicer for Java']Java
    Ahmed, Khaled
    Lis, Mieszko
    Rubin, Julia
    [J]. PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21), 2021, : 1570 - 1574
  • [2] Enhancing Symbolic Execution with Veritesting
    Avgerinos, Thanassis
    Rebert, Alexandre
    Cha, Sang Kil
    Brumley, David
    [J]. 36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, : 1083 - 1094
  • [3] One-Click Formal Methods
    Backes, John
    Bolignano, Pauline
    Cook, Byron
    Gacek, Andrew
    Luckow, Kasper Soe
    Rungta, Neha
    Schaef, Martin
    Schlesinger, Cole
    Tanash, Rima
    Varming, Carsten
    Whalen, Michael
    [J]. IEEE SOFTWARE, 2019, 36 (06) : 61 - 65
  • [4] State of the Art in Software Verification and Witness Validation: SV-COMP 2024
    Beyer, Dirk
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT III, TACAS 2024, 2024, 14572 : 299 - 329
  • [5] Beyer Dirk, 2024, Zenodo, DOI 10.5281/ZENODO.10669723
  • [6] Reliable benchmarking: requirements and solutions
    Beyer, Dirk
    Loewe, Stefan
    Wendler, Philipp
    [J]. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2019, 21 (01) : 1 - 29
  • [7] Brahmi A., 2020, ERTS 2020
  • [8] Djoudi A., 2022, ERTS 2022
  • [9] Formal Methods in Railways: A Systematic Mapping Study
    Ferrari, Alessio
    Ter Beek, Maurice H.
    [J]. ACM COMPUTING SURVEYS, 2023, 55 (04)
  • [10] A Program Slicer for Java']Java (Tool Paper)
    Galindo, Carlos
    Perez, Sergio
    Silva, Josep
    [J]. SOFTWARE ENGINEERING AND FORMAL METHODS, SEFM 2022, 2022, 13550 : 146 - 151