The Many Independent Objective (MIO) Algorithm for Test Suite Generation
- Day - Time: 27 May 2019, h.11:00
- Place: Area della Ricerca CNR di Pisa - Room: C-29
- Andrea Arcuri (Kristiania University College, Oslo, Norway)
Automatically generating test suites is intrinsically a multi-objective problem, as any of the testing targets (e.g., statements to execute or mutants to kill) is an objective on its own. Test suite generation has peculiarities that are quite different from other more regular optimization problems. For example, given an existing test suite, one can add more tests to cover the remaining objectives. One would like the smallest number of small tests to cover as many objectives as possible, but that is a secondary goal compared to covering those targets in the first place. Furthermore, the amount of objectives in software testing can quickly become unmanageable, in the order of (tens/hundreds of) thousands, especially for system testing of industrial size systems. To overcome these issues, different techniques have been proposed in the literature. However, those existing techniques might not scale well to very large numbers of objectives and limited search budgets (a typical case in system testing). In this talk, I will show a novel algorithm called Many Independent Objective (MIO) algorithm. This algorithm is designed and tailored based on the specific properties of test suite generation. I will show examples of its usage in test suite generation for RESTful APIs, using the tool called EvoMaster (www.evomaster.org).