Skip to main content

Showing 1–32 of 32 results for author: Zeller, A

.
  1. arXiv:2407.08597  [pdf, other

    cs.SE cs.LG

    Learning Program Behavioral Models from Synthesized Input-Output Pairs

    Authors: Tural Mammadov, Dietrich Klakow, Alexander Koller, Andreas Zeller

    Abstract: We introduce Modelizer - a novel framework that, given a black-box program, learns a _model from its input/output behavior_ using _neural machine translation_. The resulting model _mocks_ the original program: Given an input, the model predicts the output that would have been produced by the program. However, the model is also _reversible_ - that is, the model can predict the input that would have… ▽ More

    Submitted 11 July, 2024; originally announced July 2024.

    Comments: 42 pages, 6 figures, 8 tables

    MSC Class: 68T07 (Primary); 68N30 (Secondary); 68Q42 ACM Class: D.2.5; D.2.7; I.2.6; F.1.1; F.4.3

  2. arXiv:2404.11223  [pdf, other

    cs.SE

    AndroLog: Android Instrumentation and Code Coverage Analysis

    Authors: Jordan Samhi, Andreas Zeller

    Abstract: Dynamic analysis has emerged as a pivotal technique for testing Android apps, enabling the detection of bugs, malicious code, and vulnerabilities. A key metric in evaluating the efficacy of tools employed by both research and practitioner communities for this purpose is code coverage. Obtaining code coverage typically requires planting probes within apps to gather coverage data during runtime. Due… ▽ More

    Submitted 17 April, 2024; originally announced April 2024.

  3. arXiv:2309.16618  [pdf, other

    cs.SE cs.AI cs.CR

    Revisiting Neural Program Smoothing for Fuzzing

    Authors: Maria-Irina Nicolae, Max Eisele, Andreas Zeller

    Abstract: Testing with randomly generated inputs (fuzzing) has gained significant traction due to its capacity to expose program vulnerabilities automatically. Fuzz testing campaigns generate large amounts of data, making them ideal for the application of machine learning (ML). Neural program smoothing (NPS), a specific family of ML-guided fuzzers, aims to use a neural network as a smooth approximation of t… ▽ More

    Submitted 28 September, 2023; originally announced September 2023.

    Comments: Accepted as conference paper at ESEC/FSE 2023

  4. arXiv:2307.05147  [pdf, other

    cs.SE

    Tests4Py: A Benchmark for System Testing

    Authors: Marius Smytzek, Martin Eberlein, Batuhan Serce, Lars Grunske, Andreas Zeller

    Abstract: Benchmarks are among the main drivers of progress in software engineering research. However, many current benchmarks are limited by inadequate system oracles and sparse unit tests. Our Tests4Py benchmark, derived from the BugsInPy benchmark, addresses these limitations. It includes 73 bugs from seven real-world Python applications and six bugs from example programs. Each subject in Tests4Py is equ… ▽ More

    Submitted 14 May, 2024; v1 submitted 11 July, 2023; originally announced July 2023.

    Comments: 5 pages, 4 figures

    ACM Class: D.2.5; D.2.13

  5. arXiv:2306.13331  [pdf, other

    eess.SY math.OC

    Energy-optimal control of adaptive structures

    Authors: Manuel Schaller, Amelie Zeller, Michael Böhm, Oliver Sawodny, Cristina Tarín, Karl Worthmann

    Abstract: Adaptive structures are equipped with sensors and actuators to actively counteract external loads such as wind. This can significantly reduce resource consumption and emissions during the life cycle compared to conventional structures. A common approach for active dam** is to derive a port-Hamiltonian model and to employ linear-quadratic control. However, the quadratic control penalization lacks… ▽ More

    Submitted 8 December, 2023; v1 submitted 23 June, 2023; originally announced June 2023.

    Comments: 15 pages, 4 figures

  6. arXiv:2305.19384  [pdf

    cs.SE

    User Driven Functionality Deletion for Mobile Apps

    Authors: Maleknaz Nayebi, Konstantin Kuznetsov, Andreas Zeller, Guenther Ruhe

    Abstract: Evolving software with an increasing number of features is harder to understand and thus harder to use. Software release planning has been concerned with planning these additions. Moreover, software of increasing size takes more effort to be maintained. In the domain of mobile apps, too much functionality can easily impact usability, maintainability, and resource consumption. Hence, it is importan… ▽ More

    Submitted 30 May, 2023; originally announced May 2023.

    Comments: The paper is accepted to RE 2023 research track

    Journal ref: IEEE International Conference on Requirements Engineering, 2023

  7. arXiv:2212.03075  [pdf, other

    cs.SE cs.CR

    Systematic Assessment of Fuzzers using Mutation Analysis

    Authors: Philipp Görz, Björn Mathis, Keno Hassler, Emre Güler, Thorsten Holz, Andreas Zeller, Rahul Gopinath

    Abstract: Fuzzing is an important method to discover vulnerabilities in programs. Despite considerable progress in this area in the past years, measuring and comparing the effectiveness of fuzzers is still an open research question. In software testing, the gold standard for evaluating test quality is mutation analysis, which evaluates a test's ability to detect synthetic bugs: If a set of tests fails to de… ▽ More

    Submitted 25 July, 2023; v1 submitted 6 December, 2022; originally announced December 2022.

    Comments: 13 pages, 4 figures

    ACM Class: D.2.5; D.4.6

  8. arXiv:2208.12049  [pdf, ps, other

    cs.PL

    Electronic Appendix to "Input Invariants"

    Authors: Dominic Steinhöfel, Andreas Zeller

    Abstract: In this electronic appendix to our paper "Input Invariants," accepted at ESEC/FSE'22, we provide additional examples, formal definitions, theorems, and proof sketches to complement our paper. Furthermore, we show the invariants that ISLearn mined in our evaluation.

    Submitted 25 August, 2022; originally announced August 2022.

    Comments: 9 pages. The main paper "Input Invariants" appeared at ESEC/FSE 2022

    ACM Class: D.3.3; D.2.5; F.4.2; F.3.1

  9. arXiv:2208.08235  [pdf, other

    cs.SE cs.PL

    Input Repair via Synthesis and Lightweight Error Feedback

    Authors: Lukas Kirschner, Ezekiel Soremekun, Rahul Gopinath, Andreas Zeller

    Abstract: Often times, input data may ostensibly conform to a given input format, but cannot be parsed by a conforming program, for instance, due to human error or data corruption. In such cases, a data engineer is tasked with input repair, i.e., she has to manually repair the corrupt data such that it follows a given format, and hence can be processed by the conforming program. Such manual repair can be ti… ▽ More

    Submitted 17 August, 2022; originally announced August 2022.

    ACM Class: D.2

  10. arXiv:2109.11277  [pdf, other

    cs.SE cs.CR

    FormatFuzzer: Effective Fuzzing of Binary File Formats

    Authors: Rafael Dutra, Rahul Gopinath, Andreas Zeller

    Abstract: Effective fuzzing of programs that process structured binary inputs, such as multimedia files, is a challenging task, since those programs expect a very specific input format. Existing fuzzers, however, are mostly format-agnostic, which makes them versatile, but also ineffective when a specific format is required. We present FormatFuzzer, a generator for format-specific fuzzers. FormatFuzzer takes… ▽ More

    Submitted 27 September, 2023; v1 submitted 23 September, 2021; originally announced September 2021.

    Comments: ACM Transactions on Software Engineering and Methodology

  11. arXiv:2105.03144  [pdf, other

    cs.SE

    What do all these Buttons do? Statically Mining Android User Interfaces at Scale

    Authors: Konstantin Kuznetsov, Chen Fu, Song Gao, David N. Jansen, Lijun Zhang, Andreas Zeller

    Abstract: We introduce FRONTMATTER: a tool to automatically mine both user interface models and behavior of Android apps at a large scale with high precision. Given an app, FRONTMATTER statically extracts all declared screens, the user interface elements, their textual and graphical features, as well as Android APIs invoked by interacting with them. Executed on tens of thousands of real-world apps, FRONTMAT… ▽ More

    Submitted 7 May, 2021; originally announced May 2021.

    Comments: 12 pages, 1 fugure, 2 tables

  12. arXiv:2103.02959  [pdf

    cs.SE

    Restoring Execution Environments of Jupyter Notebooks

    Authors: Jiawei Wang, Li Li, Andreas Zeller

    Abstract: More than ninety percent of published Jupyter notebooks do not state dependencies on external packages. This makes them non-executable and thus hinders reproducibility of scientific results. We present SnifferDog, an approach that 1) collects the APIs of Python packages and versions, creating a database of APIs; 2) analyzes notebooks to determine candidates for required packages and versions; and… ▽ More

    Submitted 4 March, 2021; originally announced March 2021.

    Comments: to be published in the 43rd ACM/IEEE International Conference on Software Engineering (ICSE 2021)

  13. 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.

  14. arXiv:2012.13516  [pdf, other

    cs.SE

    Fuzzing with Fast Failure Feedback

    Authors: Rahul Gopinath, Bachir Bendrissou, Björn Mathis, Andreas Zeller

    Abstract: Fuzzing -- testing programs with random inputs -- has become the prime technique to detect bugs and vulnerabilities in programs. To generate inputs that cover new functionality, fuzzers require execution feedback from the program -- for instance, the coverage obtained by previous inputs, or the conditions that need to be resolved to cover new branches. If such execution feedback is not available,… ▽ More

    Submitted 25 December, 2020; originally announced December 2020.

    Comments: 12 pages, 6 figures

    ACM Class: D.4.6; D.2.5

  15. arXiv:1912.05937  [pdf, other

    cs.SE cs.PL

    Inferring Input Grammars from Dynamic Control Flow

    Authors: Rahul Gopinath, Björn Mathis, Andreas Zeller

    Abstract: A program is characterized by its input model, and a formal input model can be of use in diverse areas including vulnerability analysis, reverse engineering, fuzzing and software testing, clone detection and refactoring. Unfortunately, input models for typical programs are often unavailable or out of date. While there exist algorithms that can mine the syntactical structure of program inputs, they… ▽ More

    Submitted 12 December, 2019; originally announced December 2019.

    MSC Class: D.2.0; D.2.4; D.2.5; D.3.0 ACM Class: D.2.0; D.2.4; D.2.5; D.3.0

  16. arXiv:1911.07707  [pdf, other

    cs.SE cs.CR cs.PL

    Building Fast Fuzzers

    Authors: Rahul Gopinath, Andreas Zeller

    Abstract: Fuzzing is one of the key techniques for evaluating the robustness of programs against attacks. Fuzzing has to be effective in producing inputs that cover functionality and find vulnerabilities. But it also has to be efficient in producing such inputs quickly. Random fuzzers are very efficient, as they can quickly generate random inputs; but they are not very effective, as the large majority of in… ▽ More

    Submitted 18 November, 2019; originally announced November 2019.

    Comments: 12 pages, 12 figures

    ACM Class: D.4.6; D.2.5

  17. arXiv:1906.05234  [pdf

    cs.SE

    Better Code, Better Sharing:On the Need of Analyzing Jupyter Notebooks

    Authors: Jiawei Wang, Li Li, Andreas Zeller

    Abstract: By bringing together code, text, and examples, Jupyter notebooks have become one of the most popular means to produce scientific results in a productive and reproducible way. As many of the notebook authors are experts in their scientific fields, but laymen with respect to software engineering, one may ask questions on the quality of notebooks and their code. In a preliminary study, we experimenta… ▽ More

    Submitted 12 June, 2019; originally announced June 2019.

  18. arXiv:1906.01463  [pdf, other

    cs.SE

    Bridging the Gap between Unit Test Generation and System Test Generation

    Authors: Alexander Kampmann, Andreas Zeller

    Abstract: Common test generators fall into two categories. Generating test inputs at the unit level is fast, but can lead to false alarms when a function is called with inputs that would not occur in a system context. If a generated input at the system level causes a failure, this is a true alarm, as the input could also have come from the user or a third party; but system testing is much slower. In this… ▽ More

    Submitted 4 June, 2019; originally announced June 2019.

    Comments: this article supersedes arXiv:1812.07932

  19. arXiv:1812.07932  [pdf, other

    cs.SE

    Carving Parameterized Unit Tests

    Authors: Alexander Kampmann, Andreas Zeller

    Abstract: We present a method to automatically extract ("carve") parameterized unit tests from system executions. The unit tests execute the same functions as the system tests they are carved from, but can do so much faster as they call functions directly; furthermore, being parameterized, they can execute the functions with a large variety of randomly selected input values. If a unit-level test fails, we l… ▽ More

    Submitted 19 December, 2018; originally announced December 2018.

  20. arXiv:1812.07525  [pdf, other

    cs.SE

    Inputs from Hell: Generating Uncommon Inputs from Common Samples

    Authors: Esteban Pavese, Ezekiel Soremekun, Nikolas Havrikov, Lars Grunske, Andreas Zeller

    Abstract: Generating structured input files to test programs can be performed by techniques that produce them from a grammar that serves as the specification for syntactically correct input files. Two interesting scenarios then arise for effective testing. In the first scenario, software engineers would like to generate inputs that are as similar as possible to the inputs in common usage of the program, to… ▽ More

    Submitted 19 December, 2018; v1 submitted 18 December, 2018; originally announced December 2018.

  21. arXiv:1810.08289  [pdf, other

    cs.SE cs.PL

    Sample-Free Learning of Input Grammars for Comprehensive Software Fuzzing

    Authors: Rahul Gopinath, Björn Mathis, Mathias Höschele, Alexander Kampmann, Andreas Zeller

    Abstract: Generating valid test inputs for a program is much easier if one knows the input language. We present first successes for a technique that, given a program P without any input samples or models, learns an input grammar that represents the syntactically valid inputs for P -- a grammar which can then be used for highly effective test generation for P . To this end, we introduce a test generator targ… ▽ More

    Submitted 18 October, 2018; originally announced October 2018.

  22. arXiv:1805.07248  [pdf, other

    math.OC

    Derivative-Free Optimization Algorithms based on Non-Commutative Maps

    Authors: Jan Feiling, Amelie Zeller, Christian Ebenbauer

    Abstract: A novel class of derivative-free optimization algorithms is developed. The main idea is to utilize certain non-commutative maps in order to approximate the gradient of the objective function. Convergence properties of the novel algorithms are established and simulation examples are presented.

    Submitted 18 May, 2018; originally announced May 2018.

  23. arXiv:1708.08731  [pdf, other

    cs.PL cs.FL

    Active Learning of Input Grammars

    Authors: Matthias Höschele, Alexander Kampmann, Andreas Zeller

    Abstract: Knowing the precise format of a program's input is a necessary prerequisite for systematic testing. Given a program and a small set of sample inputs, we (1) track the data flow of inputs to aggregate input fragments that share the same data flow through program execution into lexical and syntactic entities; (2) assign these entities names that are based on the associated variable and function iden… ▽ More

    Submitted 29 August, 2017; originally announced August 2017.

    Comments: 12 pages

    ACM Class: F.4.2; F.3.2; D.2.5

  24. arXiv:1611.04426  [pdf, other

    cs.CR

    Quantifying the Information Leak in Cache Attacks through Symbolic Execution

    Authors: Sudipta Chattopadhyay, Moritz Beck, Ahmed Rezine, Andreas Zeller

    Abstract: Cache timing attacks allow attackers to infer the properties of a secret execution by observing cache hits and misses. But how much information can actually leak through such attacks? For a given program, a cache model, and an input, our CHALICE framework leverages symbolic execution to compute the amount of information that can possibly leak through cache attacks. At the core of CHALICE is a nove… ▽ More

    Submitted 14 November, 2016; originally announced November 2016.

  25. arXiv:1601.02976  [pdf, ps, other

    math.AP

    Higher regularity of the free boundary in the parabolic Signorini problem

    Authors: Agnid Banerjee, Mariana Smit Vega Garcia, Andrew K. Zeller

    Abstract: We show that the quotient of two caloric functions which vanish on a portion of an $H^{k+ α}$ regular slit is $H^{k+ α}$ at the slit, for $k \geq 2$. In the case $k=1$, we show that the quotient is in $H^{1+α}$ if the slit is assumed to be space-time $C^{1, α}$ regular. This can be thought of as a parabolic analogue of a recent important result in [DSS14a], whose ideas inspired us. As an applicati… ▽ More

    Submitted 23 September, 2016; v1 submitted 12 January, 2016; originally announced January 2016.

    Comments: Revised version, to appear in Calculus of Variations and Partial Differential Equations

  26. arXiv:1512.09173  [pdf, other

    math.AP

    Boundedness and continuity of the time derivative in the parabolic Signorini problem

    Authors: Arshak Petrosyan, Andrew Zeller

    Abstract: We prove the boundedness of the time derivative in the parabolic Signorini problem, as well as establish its Hölder continuity at regular free boundary points.

    Submitted 30 December, 2015; originally announced December 2015.

    Comments: 8 pages, 1 figure

    MSC Class: 35R35

  27. Inferring Loop Invariants by Mutation, Dynamic Analysis, and Static Checking

    Authors: Juan P. Galeotti, Carlo A. Furia, Eva May, Gordon Fraser, Andreas Zeller

    Abstract: Verifiers that can prove programs correct against their full functional specification require, for programs with loops, additional annotations in the form of loop invariants---propeties that hold for every iteration of a loop. We show that significant loop invariant candidates can be generated by systematically mutating postconditions; then, dynamic checking (based on automatically generated tests… ▽ More

    Submitted 5 February, 2016; v1 submitted 20 July, 2014; originally announced July 2014.

    Comments: Only change in v4: rectified May's affiliation

    Journal ref: IEEE Transactions on Software Engineering, 41(10):1019-1037, October 2015

  28. Automated Fixing of Programs with Contracts

    Authors: Yu Pei, Carlo A. Furia, Martin Nordio, Yi Wei, Bertrand Meyer, Andreas Zeller

    Abstract: This paper describes AutoFix, an automatic debugging technique that can fix faults in general-purpose software. To provide high-quality fix suggestions and to enable automation of the whole debugging process, AutoFix relies on the presence of simple specification elements in the form of contracts (such as pre- and postconditions). Using contracts enhances the precision of dynamic analysis techniqu… ▽ More

    Submitted 25 April, 2014; v1 submitted 5 March, 2014; originally announced March 2014.

    Comments: Minor changes after proofreading

    Journal ref: IEEE Transactions on Software Engineering, 40(5):427-449. IEEE Computer Society, May 2014

  29. The cyclotron gas stopper project at the NSCL

    Authors: C. Guenaut, G. Bollen, S. Chouhan, F. Marti, D. J. Morrissey, D. Lawton, J. Ottarson, G. K. Pang, S. Schwarz, B. M. Sherrill, M. Wada, A. F. Zeller

    Abstract: Gas stop** is becoming the method of choice for converting beams of rare isotopes obtained via projectile fragmentation and in-flight separation into low-energy beams. These beams allow ISOL-type experiments, such as mass measurements with traps or laser spectroscopy, to be performed with projectile fragmentation products. Current gas stopper systems for high-energy beams are based on linear g… ▽ More

    Submitted 26 March, 2007; originally announced March 2007.

    Comments: Proceedings of the TCP06 conference, accepted in Hyp. Int

  30. arXiv:cs/0309047  [pdf, ps, other

    cs.SE

    Causes and Effects in Computer Programs

    Authors: Andreas Zeller

    Abstract: Debugging is commonly understood as finding and fixing the cause of a problem. But what does ``cause'' mean? How can we find causes? How can we prove that a cause is a cause--or even ``the'' cause? This paper defines common terms in debugging, highlights the principal techniques, their capabilities and limitations.

    Submitted 24 September, 2003; originally announced September 2003.

    ACM Class: D.2.5

  31. arXiv:cs/0012009  [pdf, ps, other

    cs.SE

    Finding Failure Causes through Automated Testing

    Authors: Holger Cleve, Andreas Zeller

    Abstract: A program fails. Under which circumstances does this failure occur? One single algorithm, the delta debugging algorithm, suffices to determine these failure-inducing circumstances. Delta debugging tests a program systematically and automatically to isolate failure-inducing circumstances such as the program input, changes to the program code, or executed statements.

    Submitted 14 December, 2000; originally announced December 2000.

    ACM Class: D.2.5

  32. arXiv:nucl-ex/9908013  [pdf

    nucl-ex physics.acc-ph

    Analysis of a Cyclotron Based 400 MeV/u Driver System for a Radioactive Beam Facility

    Authors: F. Marti, R. C. York, H. Blosser, M. M. Gordon, D. Gorelov, T. Grimm, D. Johnson, P. Miller, E. Pozdeyev, J. Vincent, X. Wu, A. Zeller

    Abstract: The creation of intense radioactive beams requires intense and energetic primary beams. A task force analysis of this subject recommended an acceleration system capable of 400 MeV/u uranium at 1 particle uA as an appropriate driver for such a facility. The driver system should be capable of accelerating lighter ions at higher intensity such that a constant final beam power (~100kW) is maintained… ▽ More

    Submitted 20 August, 1999; originally announced August 1999.

    Comments: 37 pages, 30 figures, 12 tables

    Report number: MSUCL-1131