Testing with Fewer Resources: An Adaptive Approach to Performance-Aware Test Case Generation DOI
Giovanni Grano, Christoph Laaber, Annibale Panichella

и другие.

IEEE Transactions on Software Engineering, Год журнала: 2019, Номер 47(11), С. 2332 - 2347

Опубликована: Окт. 11, 2019

Automated test case generation is an effective technique to yield high-coverage suites. While the majority of research effort has been devoted satisfying coverage criteria, a recent trend emerged towards optimizing other non-coverage aspects. In this regard, runtime and memory usage are two essential dimensions: less expensive tests reduce resource demands for process later regression testing phases. This study shows that performance-aware requires solving main challenges: providing good approximation with minimal overhead avoiding detrimental effects on both final fault detection effectiveness. To tackle these challenges, we conceived set performance proxies -- inspired by previous work provide reasonable estimation execution costs (i.e., usage). Thus, propose adaptive strategy, called aDynaMOSA, which leverages extending DynaMOSA, state-of-the-art evolutionary algorithm in unit testing. Our empirical involving 110 non-trivial Java classes reveals our approach generates suite statistically significant improvements (-25%) heap consumption (-15%) compared DynaMOSA. Additionally, aDynaMOSA comparable results DynaMOSA over seven different criteria similar investigation also highlights without adaptiveness) not sufficient generate more performant cases compromising overall coverage.

Язык: Английский

XCorpus – An executable Corpus of Java Programs. DOI Open Access
Jens Dietrich,

Henrik Schole,

Li Sui

и другие.

The Journal of Object Technology, Год журнала: 2017, Номер 16(4), С. 1:1 - 1:1

Опубликована: Янв. 1, 2017

In this preface, the editors present an overview of topics and scope workshop on Verification Monitoring at Runtime Execution (VORTEX), describe editorial reviewing process for its edition ECOOP 2022.

Язык: Английский

Процитировано

34

Choosing the fitness function for the job: Automated generation of test suites that detect real faults DOI
Alireza Salahirad, Hussein Almulla, Gregory Gay

и другие.

Software Testing Verification and Reliability, Год журнала: 2019, Номер 29(4-5)

Опубликована: Июнь 1, 2019

Summary Search‐based unit test generation, if effective at fault detection, can lower the cost of testing. Such techniques rely on fitness functions to guide search. Ultimately, such represent goals that approximate—but do not ensure—fault detection. The need approximations leads two questions— produce tests and, so, which should be used generate tests? To answer these questions, we have assessed fault‐detection capabilities suites generated satisfy eight white‐box 597 real faults from Defects4J database. Our analysis has found strongest indicators effectiveness are a high level code coverage over targeted class and satisfaction criterion's obligations. Consequently, branch function is most effective. findings indicate thoroughly explore system structure as primary generation objectives—supported by secondary orthogonal, supporting scenarios. results also provide further evidence future approaches focus attaining higher private better initialization manipulation dependencies.

Язык: Английский

Процитировано

33

Enhancing Search-based Testing with Testability Transformations for Existing APIs DOI
Andrea Arcuri, Juan Pablo Galeotti

ACM Transactions on Software Engineering and Methodology, Год журнала: 2021, Номер 31(1), С. 1 - 34

Опубликована: Сен. 28, 2021

Search-based software testing (SBST) has been shown to be an effective technique generate test cases automatically. Its effectiveness strongly depends on the guidance of fitness function. Unfortunately, a common issue in SBST is so-called flag problem , where landscape presents plateau that provides no search. In this article, we provide series novel testability transformations aimed at providing context commonly used API calls (e.g., strings need converted into valid date/time objects). We also specific helping REST Web Services. implemented our techniques as extension EvoMaster tool generates system-level cases. Experiments nine open-source web services, well industrial service, show improve performance significantly.

Язык: Английский

Процитировано

25

Generating Effective Test Suites by Combining Coverage Criteria DOI
Gregory Gay

Lecture notes in computer science, Год журнала: 2017, Номер unknown, С. 65 - 82

Опубликована: Янв. 1, 2017

Язык: Английский

Процитировано

32

EvoSuite at the SBST 2016 tool competition DOI
Gordon Fraser, Andrea Arcuri

Опубликована: Май 14, 2016

EvoSuite is a search-based tool that automatically generates unit tests for Java code. This paper summarizes the results and experiences of EvoSuite's participation at fourth testing competition SBST 2016, where Evo-Suite achieved highest overall score.

Язык: Английский

Процитировано

27

Effective and efficient API misuse detection via exception propagation and search-based testing DOI
Maria Kechagia, Xavier Devroey, Annibale Panichella

и другие.

Опубликована: Июль 10, 2019

Application Programming Interfaces (APIs) typically come with (implicit) usage constraints. The violations of these constraints (API misuses) can lead to software crashes. Even though there are several tools that detect API misuses, most them suffer from a very high rate false positives. We introduce Catcher, novel misuse detection approach combines static exception propagation analysis automatic search-based test case generation effectively and efficiently pinpoint crash-prone misuses in client applications. validate Catcher against 21 Java applications, targeting the platform's API. Our results indicate is able generate cases uncover 243 (unique) result empirical evaluation shows large number (77 cases) would remain undetected by traditional coverage-based generator EvoSuite. Additionally, on average, eight times faster than EvoSuite generating for identified misuses. Finally, we find majority exceptions triggered unexpected developers, i.e., not only unhandled source code but also listed documentation

Язык: Английский

Процитировано

26

Graph-based seed object synthesis for search-based unit testing DOI Open Access
Yun Lin,

You Sheng Ong,

Jun Sun

и другие.

Опубликована: Авг. 18, 2021

Search-based software testing (SBST) generates tests using search algorithms guided by measurements gauging how far a test case is away from exercising coverage goal. The effectiveness of SBST largely depends on the continuity and monotonicity fitness landscape decided these operators. Unfortunately, challenging when function under takes object inputs, as classical measurement hardly provide guidance for constructing legitimate inputs. To overcome this problem, we propose seeds, i.e., code skeletons objects which enable use measurements. Given target branch in test, first statically analyze to build an construction graph that captures relation between operands method states their relevant Based graph, synthesize template where each "slot" mutation point algorithm. This approach can be seamlessly integrated with existing algorithms, implemented EvoObj top EvoSuite. Our experiments show outperforms EvoSuite statistical significance 2750 methods over 103 open source Java projects state-of-the-art algorithms.

Язык: Английский

Процитировано

23

Archive-based multi-criteria Artificial Bee Colony algorithm for whole test suite generation DOI Creative Commons
Ömür Şahin, Bahriye Akay, Derviş Karaboğa

и другие.

Engineering Science and Technology an International Journal, Год журнала: 2021, Номер 24(3), С. 806 - 817

Опубликована: Фев. 6, 2021

Testing an object-oriented software is harder than testing a structural program due to inheritance, states, behaviour of different objects, association, and polymorphism properties the software, which established based on classes. The classes should be carefully tested using predefined test cases optimize coverage goals. Because generating manually labour-intensive, search-based methods that maximize criteria by search algorithm can used generate automatically. Artificial Bee Colony (ABC) powerful tool performs balanced exploration exploitation. In this study, two new multi-criteria combinatorial ABC algorithms mutation crossover operators are proposed suite maximizes fitness function combining various goals for software. First, archive-based keep covered targets in archive use available resource efficiently. Second, improved bring more diversity population. To investigate effect archive, basic compared set from SF110 corpus. validate efficiency methods, they state-of-the-art evolutionary generators random methodology divided into difficulty levels their weight method class values. experimental results reveal introducing provides fast convergence produces higher problems with both low high levels.

Язык: Английский

Процитировано

21

An Empirical Evaluation of Evolutionary Algorithms for Test Suite Generation DOI
José Campos, Yan Ge, Gordon Fraser

и другие.

Lecture notes in computer science, Год журнала: 2017, Номер unknown, С. 33 - 48

Опубликована: Янв. 1, 2017

Язык: Английский

Процитировано

28

The Fitness Function for the Job: Search-Based Generation of Test Suites That Detect Real Faults DOI
Gregory Gay

Опубликована: Март 1, 2017

Search-based test generation, if effective at fault detection, can lower the cost of testing. Such techniques rely on fitness functions to guide search. Ultimately, such represent goals that approximate - but do not ensure detection. The need approximations leads two questions produce tests and, so, which should be used generate tests? To answer these questions, we have assessed fault-detection capabilities EvoSuite framework and eight its 353 real faults from Defects4J database. Our analysis has found strongest indicator effectiveness is a high level code coverage. Consequently, branch coverage function most effective. findings indicate thoroughly explore system structure as primary generation objectives supported by secondary vary scenarios explored.

Язык: Английский

Процитировано

28