Search‐based crash reproduction using behavioural model seeding. (12th April 2020)
- Record Type:
- Journal Article
- Title:
- Search‐based crash reproduction using behavioural model seeding. (12th April 2020)
- Main Title:
- Search‐based crash reproduction using behavioural model seeding
- Authors:
- Derakhshanfar, Pouria
Devroey, Xavier
Perrouin, Gilles
Zaidman, Andy
van Deursen, Arie - Abstract:
- Summary: 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 behavioural model seeding: a new seeding method that learns class usages from both the system under test and existing test cases. Learned usages are then synthesized in a behavioural model (state machine). Then, this model serves to guide the evolutionary process. To assess behavioural 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 122 hard‐to‐reproduce crashes stemming from six open‐source projects. Our results indicate that behavioural model seeding outperforms both test seeding and no seeding by a minimum of 6% without any notable negative impact on efficiency. Abstract : Search‐based crash reproduction consists of automatically generating test cases from observed crash to assist debugging and maintenance. We introduce Behavioral Model Seeding for search‐basedSummary: 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 behavioural model seeding: a new seeding method that learns class usages from both the system under test and existing test cases. Learned usages are then synthesized in a behavioural model (state machine). Then, this model serves to guide the evolutionary process. To assess behavioural 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 122 hard‐to‐reproduce crashes stemming from six open‐source projects. Our results indicate that behavioural model seeding outperforms both test seeding and no seeding by a minimum of 6% without any notable negative impact on efficiency. Abstract : Search‐based crash reproduction consists of automatically generating test cases from observed crash to assist debugging and maintenance. We introduce Behavioral Model Seeding for search‐based crash reproduction: a new strategy that learns the usage of objects from various resources in the form of transition system models and utilizes these models to enhance the test generation process. This strategy outperforms state‐of‐the‐art crash reproduction and initialization ratios by 6% on 122 hard‐to‐reproduce crashes from 6 open‐source projects without any notable impact on efficiency. … (more)
- Is Part Of:
- Software testing, verification & reliability. Volume 30:Number 3(2020)
- Journal:
- Software testing, verification & reliability
- Issue:
- Volume 30:Number 3(2020)
- Issue Display:
- Volume 30, Issue 3 (2020)
- Year:
- 2020
- Volume:
- 30
- Issue:
- 3
- Issue Sort Value:
- 2020-0030-0003-0000
- Page Start:
- n/a
- Page End:
- n/a
- Publication Date:
- 2020-04-12
- Subjects:
- seed learning -- crash reproduction -- search‐based software testing
Computer software -- Testing -- Periodicals
Computer software -- Verification -- Periodicals
Computer software -- Reliability -- Periodicals
005.14 - Journal URLs:
- http://onlinelibrary.wiley.com/ ↗
- DOI:
- 10.1002/stvr.1733 ↗
- Languages:
- English
- ISSNs:
- 0960-0833
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 8321.457500
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 13277.xml