1,721,009 research outputs found
Replication Package for: Using Deep Learning to Generate Complete Log Statements
This is the replication package for the paper "Using Deep Learning to Generate Complete Log Statements" published in the 44th International Conference on Software Engineering (ICSE 2022).
Pape
BeDivFuzz: Integrating Behavioral Diversity into Generator-based Fuzzing - Summary
This paper summarizes our work ”BeDivFuzz: Integrating Behavioral Diversity into Generator-based Fuzzing” [NG22], presented at the 44th International Conference on Software Engineering (ICSE 2022)
Log-based anomaly detection datasets
Dataset for the ICSE'22 paper: Log-based Anomaly Detection with Deep Learning: How Far Are We?
If you find the data useful for your research, please cite the following paper:
@inproceedings{le2022log,
title={Log-based anomaly detection with deep learning: How far are we?},
author={Le, Van-Hoang and Zhang, Hongyu},
booktitle={Proceedings of the 44th international conference on software engineering},
pages={1356--1367},
year={2022}
A Dynamic Analysis Tool for Memory Safety Based on Smart Status and Source-Level Instrumentation
The 44th International Conference on Software Engineering
Presentation video of the paper "A Dynamic Analysis Tool for Memory Safety Based on Smart Status and Source-Level Instrumentation", by Zhe Chen, Jun Wu, Qi Zhang, and Jingling Xu
Assessing the Quality of Computational Notebooks for a Frictionless Transition from Exploration to Production
The massive trend of integrating data-driven AI capabilities into traditional software systems is rising new intriguing challenges. One of such challenges is achieving a smooth transition from the explorative phase of Machine Learning projects - in which data scientists build prototypical models in the lab - to their production phase - in which software engineers translate prototypes into production-ready AI components. To narrow down the gap between these two phases, tools and practices adopted by data scientists might be improved by incorporating consolidated software engineering solutions. In particular, computational notebooks have a prominent role in determining the quality of data science prototypes. In my research project, I address this challenge by studying the best practices for collaboration with computational notebooks and proposing proof-of-concept tools to foster guidelines compliance
Dataset and scripts for the paper 'Lessons from Eight Years of Operational Data from a Continuous Integration Service'
This dataset contains 2.2 million builds spanning 7,795 open-source projects that used a cloud-based CI service from 2012 to 2020.The paper titled "Lessons from Eight Years of Operational Data from a Continuous Integration Service: An Exploratory Case Study of CircleCI" has been accepted for inclusion in the 44th International Conference on Software Engineering (ICSE 2022) technical program.</div
A Scalable t-wise Coverage Estimator
Owing to the pervasiveness of software in our modern lives, software systems have evolved to be highly configurable. Combinatorial testing has emerged as a dominant paradigm for testing highly configurable systems. Often constraints are employed to define the environments where a given system under test (SUT) is expected to work. Therefore, there has been a sustained interest in designing constraint-based test suite generation techniques. A significant goal of test suite generation techniques is to achieve t-wise coverage for higher values of t. Therefore, designing scalable techniques that can estimate t-wise coverage for a given set of tests and/or the estimation of maximum achievable t-wise coverage under a given set of constraints is of crucial importance. The existing estimation techniques face significant scalability hurdles.
The primary scientific contribution of this work is the design of scalable algorithms with mathematical guarantees to estimate (i) t-wise coverage for a given set of tests, and (ii) maximum t-wise coverage for a given set of constraints. In particular, we design a scalable framework ApproxCov that takes in a test set u, a coverage parameter t, a tolerance parameter ε, and a confidence parameter δ, and returns an estimate of the t-wise coverage of u that is guaranteed to be within (1 ± ε)-factor of the ground truth with probability at least 1 - δ. We design a scalable framework ApproxMaxCov that, for a given formula F, a coverage parameter t, a tolerance parameter ε, and a confidence parameter δ, outputs an approximation which is guaranteed to be within (1 ± ε) factor of the maximum achievable t-wise coverage under F, with probability ≥ 1 - δ. Our comprehensive evaluation demonstrates that ApproxCov and ApproxMaxCov can handle benchmarks that are beyond the reach of current state-of-the-art approaches. We believe that the availability of ApproxCov and ApproxMaxCov will enable test suite designers to evaluate the effectiveness of their generators and thereby significantly impact the development of combinatorial testing techniques
Evaluating and Improving Neural Program-Smoothing-based Fuzzing
Fuzzing nowadays has been commonly modeled as an optimization problem, e.g., maximizing code coverage under a given time budget via typical search-based solutions such as evolutionary algorithms. However, such solutions are widely argued to cause inefficient computing resource usage, i.e., inefficient mutations. To address this issue, two neural program-smoothing-based fuzzers, Neuzz and MTFuzz, have been recently proposed to approximate program branching behaviors via neural network models, which input byte sequences of a seed and output vectors representing program branching behaviors. Moreover, assuming that mutating the bytes with larger gradients can better explore branching behaviors, they develop strategies to mutate such bytes for generating new seeds as test cases. Meanwhile, although they have been shown to be effective in the original papers, they were only evaluated upon a limited dataset. In addition, it is still unclear how their key technical components and whether other factors can impact fuzzing performance. To further investigate neural program-smoothing-based fuzzing, we first construct a large-scale benchmark suite with a total of 28 popular open-source projects. Then, we extensively evaluate Neuzz and MTFuzz on such benchmarks. The evaluation results suggest that their edge coverage performance can be unstable. Moreover, neither neural network models nor mutation strategies can be consistently effective, and the power of their gradient-guidance mechanisms have been compromised. Inspired by such findings, we propose a simplistic technique, PreFuzz, which improves neural program-smoothing-based fuzzers with a resource-efficient edge selection mechanism to enhance their gradient guidance and a probabilistic byte selection mechanism to further boost mutation effectiveness. Our evaluation results indicate that PreFuzz can significantly increase the edge coverage of Neuzz/MTFuzz, and also reveal multiple practical guidelines to advance future research on neural program-smoothing-based fuzzing.</p
- …
