Skip to main content

Showing 1–18 of 18 results for author: Böhme, M

Searching in archive cs. Search in all archives.
.
  1. arXiv:2402.05835  [pdf, other

    cs.LG cs.NE stat.ML

    How Much is Unseen Depends Chiefly on Information About the Seen

    Authors: Seongmin Lee, Marcel Böhme

    Abstract: It might seem counter-intuitive at first: We find that, in expectation, the proportion of data points in an unknown population-that belong to classes that do not appear in the training data-is almost entirely determined by the number $f_k$ of classes that do appear in the training data the same number of times. While in theory we show that the difference of the induced estimator decays exponential… ▽ More

    Submitted 8 February, 2024; originally announced February 2024.

    Comments: 8 pages with 5 pages of appendix, 5 figures, 3 tables

  2. arXiv:2402.01944  [pdf, other

    cs.CR cs.SE

    Guarantees in Security: A Philosophical Perspective

    Authors: Marcel Böhme

    Abstract: Research in cybersecurity may seem reactive, specific, ephemeral, and indeed ineffective. Despite decades of innovation in defense, even the most critical software systems turn out to be vulnerable to attacks. Time and again. Offense and defense forever on repeat. Even provable security, meant to provide an indubitable guarantee of security, does not stop attackers from finding security flaws. As… ▽ More

    Submitted 26 June, 2024; v1 submitted 2 February, 2024; originally announced February 2024.

    Comments: 13 pages. Major rewrite. Feedback appreciated

  3. arXiv:2402.00641  [pdf, other

    cs.CR

    Testing side-channel security of cryptographic implementations against future microarchitectures

    Authors: Gilles Barthe, Marcel Böhme, Sunjay Cauligi, Chitchanok Chuengsatiansup, Daniel Genkin, Marco Guarnieri, David Mateos Romero, Peter Schwabe, David Wu, Yuval Yarom

    Abstract: How will future microarchitectures impact the security of existing cryptographic implementations? As we cannot keep reducing the size of transistors, chip vendors have started develo** new microarchitectural optimizations to speed up computation. A recent study (Sanchez Vicarte et al., ISCA 2021) suggests that these optimizations might open the Pandora's box of microarchitectural attacks. Howeve… ▽ More

    Submitted 1 February, 2024; originally announced February 2024.

  4. arXiv:2306.17193  [pdf, other

    cs.CR cs.LG

    Uncovering the Limits of Machine Learning for Automatic Vulnerability Detection

    Authors: Niklas Risse, Marcel Böhme

    Abstract: Recent results of machine learning for automatic vulnerability detection (ML4VD) have been very promising. Given only the source code of a function $f$, ML4VD techniques can decide if $f$ contains a security flaw with up to 70% accuracy. However, as evident in our own experiments, the same top-performing models are unable to distinguish between functions that contain a vulnerability and functions… ▽ More

    Submitted 6 June, 2024; v1 submitted 28 June, 2023; originally announced June 2023.

  5. arXiv:2304.10070  [pdf, ps, other

    cs.SE

    SBFT Tool Competition 2023 -- Fuzzing Track

    Authors: Dongge Liu, Jonathan Metzman, Marcel Böhme, Oliver Chang, Abhishek Arya

    Abstract: This report outlines the objectives, methodology, challenges, and results of the first Fuzzing Competition held at SBFT 2023. The competition utilized FuzzBench to assess the code-coverage performance and bug-finding efficacy of eight participating fuzzers over 23 hours. The competition was organized in three phases. In the first phase, participants were asked to integrate their fuzzers into FuzzB… ▽ More

    Submitted 15 May, 2023; v1 submitted 19 April, 2023; originally announced April 2023.

    Comments: 4 pages, will be published in SBFT workshop of ICSE'23

  6. arXiv:2304.10044  [pdf, other

    cs.SE

    Finding Bug-Inducing Program Environments

    Authors: Zahra Mirzamomen, Marcel Böhme

    Abstract: Some bugs cannot be exposed by program inputs, but only by certain program environments. During execution, most programs access various resources, like databases, files, or devices, that are external to the program and thus part of the program's environment. In this paper, we present a coverage-guided, mutation-based environment synthesis approach of bug-inducing program environments. Specifically… ▽ More

    Submitted 19 April, 2023; originally announced April 2023.

  7. arXiv:2212.09519  [pdf, other

    cs.SE

    Explainable Fuzzer Evaluation

    Authors: Dylan Wolff, Marcel Böhme, Abhik Roychoudhury

    Abstract: While the aim of fuzzer evaluation is to establish fuzzer performance in general, an evaluation is always conducted on a specific benchmark. In this paper, we investigate the degree to which the benchmarking result depends on the properties of the benchmark and propose a methodology to quantify the impact of benchmark properties on the benchmarking result in relation to the impact of the choice of… ▽ More

    Submitted 19 December, 2022; originally announced December 2022.

  8. arXiv:2205.14964  [pdf, other

    cs.SE cs.CR

    Effectiveness and Scalability of Fuzzing Techniques in CI/CD Pipelines

    Authors: Thijs Klooster, Fatih Turkmen, Gerben Broenink, Ruben ten Hove, Marcel Böhme

    Abstract: Fuzzing has proven to be a fundamental technique to automated software testing but also a costly one. With the increased adoption of CI/CD practices in software development, a natural question to ask is `What are the best ways to integrate fuzzing into CI/CD pipelines considering the velocity in code changes and the automated delivery/deployment practices?'. Indeed, a recent study by Böhme and Zhu… ▽ More

    Submitted 7 June, 2022; v1 submitted 30 May, 2022; originally announced May 2022.

    Comments: 12 pages, 5 figures

  9. arXiv:2204.02545  [pdf, other

    cs.CR cs.SE

    Stateful Greybox Fuzzing

    Authors: **sheng Ba, Marcel Böhme, Zahra Mirzamomen, Abhik Roychoudhury

    Abstract: Many protocol implementations are reactive systems, where the protocol process is in continuous interaction with other processes and the environment. If a bug can be exposed only in a certain state, a fuzzer needs to provide a specific sequence of events as inputs that would take protocol into this state before the bug is manifested. We call these bugs as "stateful" bugs. Usually, when we are test… ▽ More

    Submitted 16 May, 2022; v1 submitted 5 April, 2022; originally announced April 2022.

    Journal ref: 31st USENIX Security Symposium (USENIX Security 2022)

  10. arXiv:2110.02682  [pdf, other

    cs.SE

    How good does a Defect Predictor need to be to guide Search-Based Software Testing?

    Authors: Anjana Perera, Burak Turhan, Aldeida Aleti, Marcel Böhme

    Abstract: Defect predictors, static bug detectors and humans inspecting the code can locate the parts of the program that are buggy before they are discovered through testing. Automated test generators such as search-based software testing (SBST) techniques can use this information to direct their search for test cases to likely buggy code, thus speeding up the process of detecting existing bugs. However, o… ▽ More

    Submitted 6 October, 2021; originally announced October 2021.

    Comments: 12 pages, 4 figures

    ACM Class: D.2.5

  11. Defect Prediction Guided Search-Based Software Testing

    Authors: Anjana Perera, Aldeida Aleti, Marcel Böhme, Burak Turhan

    Abstract: Today, most automated test generators, such as search-based software testing (SBST) techniques focus on achieving high code coverage. However, high code coverage is not sufficient to maximise the number of bugs found, especially when given a limited testing budget. In this paper, we propose an automated test generation technique that is also guided by the estimated degree of defectiveness of the s… ▽ More

    Submitted 26 September, 2021; originally announced September 2021.

    Comments: 13 pages, 8 figures

    ACM Class: D.2.5

    Journal ref: In Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering (ASE '20), 2020

  12. arXiv:2101.03008  [pdf, other

    cs.SE

    Locating Faults with Program Slicing: An Empirical Analysis

    Authors: Ezekiel Soremekun, Lukas Kirschner, Marcel Böhme, Andreas Zeller

    Abstract: Statistical fault localization is an easily deployed technique for quickly determining candidates for faulty code locations. If a human programmer has to search the fault beyond the top candidate locations, though, more traditional techniques of following dependencies along dynamic slices may be better suited. In a large study of 457 bugs (369 single faults and 88 multiple faults) in 46 open sourc… ▽ More

    Submitted 8 January, 2021; originally announced January 2021.

  13. arXiv:2009.03730  [pdf, other

    cs.LG

    Large-scale Neural Solvers for Partial Differential Equations

    Authors: Patrick Stiller, Friedrich Bethke, Maximilian Böhme, Richard Pausch, Sunna Torge, Alexander Debus, Jan Vorberger, Michael Bussmann, Nico Hoffmann

    Abstract: Solving partial differential equations (PDE) is an indispensable part of many branches of science as many processes can be modelled in terms of PDEs. However, recent numerical solvers require manual discretization of the underlying equation as well as sophisticated, tailored code for distributed computing. Scanning the parameters of the underlying model significantly increases the runtime as the s… ▽ More

    Submitted 8 September, 2020; originally announced September 2020.

  14. arXiv:1912.07758  [pdf, other

    cs.SE cs.AI

    Human-In-The-Loop Automatic Program Repair

    Authors: Marcel Böhme, Charaka Geethal, Van-Thuan Pham

    Abstract: We introduce Learn2fix, the first human-in-the-loop, semi-automatic repair technique when no bug oracle--except for the user who is reporting the bug--is available. Our approach negotiates with the user the condition under which the bug is observed. Only when a budget of queries to the user is exhausted, it attempts to repair the bug. A query can be thought of as the following question: "When exec… ▽ More

    Submitted 16 December, 2019; originally announced December 2019.

    Comments: Accepted as full paper (10+2 pages) at ICST'20 (https://icst2020.info/) *** Tool and Replication Package at: https://github.com/mboehme/learn2fix

  15. arXiv:1911.04687  [pdf, other

    cs.SE cs.LG

    MCPA: Program Analysis as Machine Learning

    Authors: Marcel Böhme

    Abstract: Static program analysis today takes an analytical approach which is quite suitable for a well-scoped system. Data- and control-flow is taken into account. Special cases such as pointers, procedures, and undefined behavior must be handled. A program is analyzed precisely on the statement level. However, the analytical approach is ill-equiped to handle implementations of complex, large-scale, hetero… ▽ More

    Submitted 12 November, 2019; originally announced November 2019.

    Comments: 10+2 pages. Feedback and (industry/research) collaborations welcome

  16. arXiv:1811.09447  [pdf, other

    cs.CR

    Smart Greybox Fuzzing

    Authors: Van-Thuan Pham, Marcel Böhme, Andrew E. Santosa, Alexandru Răzvan Căciulescu, Abhik Roychoudhury

    Abstract: Coverage-based greybox fuzzing (CGF) is one of the most successful methods for automated vulnerability detection. Given a seed file (as a sequence of bits), CGF randomly flips, deletes or bits to generate new files. CGF iteratively constructs (and fuzzes) a seed corpus by retaining those generated files which enhance coverage. However, random bitflips are unlikely to produce valid files (or valid… ▽ More

    Submitted 23 November, 2018; originally announced November 2018.

    Comments: Accepted IEEE Transactions on Software Engineering, 2020

  17. arXiv:1807.10255  [pdf, ps, other

    cs.SE

    Assurances in Software Testing: A Roadmap

    Authors: Marcel Böhme

    Abstract: As researchers, we already understand how to make testing more effective and efficient at finding bugs. However, as fuzzing (i.e., automated testing) becomes more widely adopted in practice, practitioners are asking: Which assurances does a fuzzing campaign provide that exposes no bugs? When is it safe to stop the fuzzer with a reasonable residual risk? How much longer should the fuzzer be run to… ▽ More

    Submitted 17 December, 2018; v1 submitted 26 July, 2018; originally announced July 2018.

    Comments: Accepted at ICSE'19 NIER. Extended version. 5 pages + references

  18. arXiv:1803.02130  [pdf, other

    cs.SE

    STADS: Software Testing as Species Discovery

    Authors: Marcel Böhme

    Abstract: A fundamental challenge of software testing is the statistically well-grounded extrapolation from program behaviors observed during testing. For instance, a security researcher who has run the fuzzer for a week has currently no means (i) to estimate the total number of feasible program branches, given that only a fraction has been covered so far, (ii) to estimate the additional time required to co… ▽ More

    Submitted 3 April, 2018; v1 submitted 6 March, 2018; originally announced March 2018.

    Comments: To appear with minor revisions in ACM Transactions on Software Engineering and Methodology (TOSEM); 52 pages; journal-first