Write a Blog >>
ICSE 2023
Sun 14 - Sat 20 May 2023 Melbourne, Australia
Thu 18 May 2023 14:00 - 14:15 at Meeting Room 110 - Test quality and improvement Chair(s): Guowei Yang

Executing large test suites is time and resource consuming, sometimes impossible, and such test suites typically contain many redundant test cases. Hence, test case minimization is used to remove redundant test cases that are unlikely to detect new faults. However, most test case minimization techniques rely on code coverage (white-box), model-based features, or requirements specifications, which are not always (entirely) accessible by test engineers. Code coverage analysis also leads to scalability issues, especially when applied to large industrial systems. Recently, a set of novel techniques was proposed, called FAST-R, relying solely on test case code for test case minimization, which appeared to be much more efficient than white-box techniques. However, it achieved a comparable low fault detection capability for Java projects, thus making it challenging in practice. In this paper, we propose ATM (AST-based Test case Minimizer), a similarity-based, search-based test case minimization technique, taking a specific budget as input, that also relies exclusively on the source code of test cases but attempts to achieve higher fault detection through finer-grained similarity analysis and a dedicated search algorithm. ATM transforms test case code into Abstract Syntax Trees (AST) and relies on four tree-based similarity measures to apply evolutionary search, specifically genetic algorithms, to minimize test cases. We evaluated the effectiveness and efficiency of ATM on a large dataset of 16 Java projects with 661 faulty versions using three budgets ranging from 25% to 75% of test suites. ATM achieved significantly higher fault detection rates (0.82 on average), compared to FAST-R (0.61 on average) and random minimization (0.52 on average), when running only 50% of the test cases, within practically acceptable time (1.1-4.3 hours, on average, per project version), given that minimization is only occasionally applied when many new test cases are created (major releases). Results achieved for other budgets were consistent.

Thu 18 May

Displayed time zone: Hobart change

13:45 - 15:15
Test quality and improvementTechnical Track / Journal-First Papers / DEMO - Demonstrations at Meeting Room 110
Chair(s): Guowei Yang University of Queensland
13:45
15m
Talk
Test Selection for Unified Regression Testing
Technical Track
Shuai Wang University of Illinois at Urbana-Champaign, Xinyu Lian University of Illinois at Urbana-Champaign, Darko Marinov University of Illinois at Urbana-Champaign, Tianyin Xu University of Illinois at Urbana-Champaign
Pre-print
14:00
15m
Talk
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolutionary Search
Technical Track
Rongqi Pan University of Ottawa, Taher A Ghaleb University of Ottawa, Lionel Briand University of Luxembourg; University of Ottawa
14:15
15m
Talk
Measuring and Mitigating Gaps in Structural Testing
Technical Track
Soneya Binta Hossain University of Virginia, Matthew B Dwyer University of Virginia, Sebastian Elbaum University of Virginia, Anh Nguyen-Tuong University of Virginia
Pre-print
14:30
7m
Talk
FlaPy: Mining Flaky Python Tests at Scale
DEMO - Demonstrations
Martin Gruber BMW Group, University of Passau, Gordon Fraser University of Passau
Pre-print
14:37
7m
Talk
Scalable and Accurate Test Case Prioritization in Continuous Integration Contexts
Journal-First Papers
Ahmadreza Saboor Yaraghi University of Ottawa, Mojtaba Bagherzadeh University of Ottawa, Nafiseh Kahani University of Carlton, Lionel Briand University of Luxembourg; University of Ottawa
14:45
7m
Talk
Flakify: A Black-Box, Language Model-based Predictor for Flaky Tests
Journal-First Papers
Sakina Fatima University of Ottawa, Taher A Ghaleb University of Ottawa, Lionel Briand University of Luxembourg; University of Ottawa
14:52
7m
Talk
Developer-centric test amplification
Journal-First Papers
Carolin Brandt Delft University of Technology, Andy Zaidman Delft University of Technology
Pre-print
15:00
7m
Talk
How Developers Engineer Test Cases: An Observational Study
Journal-First Papers
MaurĂ­cio Aniche Delft University of Technology, Christoph Treude University of Melbourne, Andy Zaidman Delft University of Technology
Pre-print