Search-based Crash Reproduction using Behavioral Model Seeding

12/10/2019
by   Pouria Derakhshanfar, et al.
0

Search-based crash reproduction approaches assist developers during debugging by generating a test case which reproduces a crash given its stack trace. One of the fundamental steps of this approach is creating objects needed to trigger the crash. One way to overcome this limitation is seeding: using information about the application during the search process. With seeding, the existing usages of classes can be used in the search process to produce realistic sequences of method calls which create the required objects. In this study, we introduce behavioral model seeding: a new seeding method which learns class usages from both the system under test and existing test cases. Learned usages are then synthesized in a behavioral model (state machine). Then, this model serves to guide the evolutionary process. To assess behavioral model-seeding, we evaluate it against test-seeding (the state-of-the-art technique for seeding realistic objects) and no-seeding (without seeding any class usage). For this evaluation, we use a benchmark of 124 hard-to-reproduce crashes stemming from six open-source projects. Our results indicate that behavioral model-seeding outperforms both test seeding and no-seeding by a minimum of 6 notable negative impact on efficiency.

READ FULL TEXT
research
02/22/2019

An Approach and Benchmark to Detect Behavioral Changes of Commits in Continuous Integration

When a developer pushes a change to an application's codebase, in the fo...
research
07/27/2023

StubCoder: Automated Generation and Repair of Stub Code for Mock Objects

Mocking is an essential unit testing technique for isolating the class u...
research
08/25/2022

Synthetic End-User Testing: Modeling Realistic Agents Based on Behavioral Examples

For software interacting directly with real-world end-users, it is commo...
research
11/26/2020

Usability Dimensions and Behavioral Intention to Use Markdown to Moodle in Test Construction

Creating test with numerous items in Moodle can be tedious and less intu...
research
01/12/2019

EvoMaster: Evolutionary Multi-context Automated System Test Generation

This paper presents EvoMaster, an open-source tool that is able to autom...
research
02/27/2021

Online Behavioral Analysis with Application to Emotion State Identification

In this paper, we propose a novel discriminative model for online behavi...
research
09/20/2019

Process Query Language: Design, Implementation, and Evaluation

Organizations can benefit from the use of practices, techniques, and too...

Please sign up or login with your details

Forgot password? Click here to reset