PofoliaPofolia ile paylaşıldı

IEEE Transactions on Software Engineering· 2017Q1

Hedeflerin Dinamik Seçimi ile Bir Çok Amaçlı Optimizasyon Problemi Olarak Otomatik Test Durumu Üretimi

Automated Test Case Generation as a Many-Objective Optimisation Problem with Dynamic Selection of the Targets

Annibale Panichella, Fitsum Meshesha Kifetew, Paolo Tonella

Kısa özet

Kontrol bağımlılıklarına dayalı olarak kapsama hedeflerini dinamik olarak seçen yeni bir algoritma olan DynaMOSA, Java sınıfları için otomatik test durumu üretiminde mevcut yöntemlerden daha iyi performans gösteriyor.

Yapay zekâ ile başlık ve abstract'tan üretildi; tam metin okunmaz.

Ana noktalar

  • DynaMOSA, otomatik test durumu üretimi için yeni bir çok amaçlı çözümleyicidir.
  • Kontrol bağımlılığı hiyerarşisine göre kapsama hedeflerini dinamik olarak seçer.
  • DynaMOSA, Java sınıfları üzerindeki ampirik çalışmalarda bütün-küme ve önceki algoritmalardan daha iyi performans gösterir.
  • Algoritma, ifade, dal ve mutasyon kapsama oranlarında daha yüksek sonuçlar elde etmiştir.

Yapay zekâ ile başlık ve abstract'tan üretildi; tam metin okunmaz.

Özet (abstract)

The test case generation is intrinsically a multi-objective problem, since the goal is covering multiple test targets (e.g., branches). Existing search-based approaches either consider one target at a time or aggregate all targets into a single fitness function (whole-suite approach). Multi and many-objective optimisation algorithms (MOAs) have never been applied to this problem, because existing algorithms do not scale to the number of coverage objectives that are typically found in real-world software. In addition, the final goal for MOAs is to find alternative trade-off solutions in the objective space, while in test generation the interesting solutions are only those test cases covering one or more uncovered targets. In this paper, we present Dynamic Many-Objective Sorting Algorithm (DynaMOSA), a novel many-objective solver specifically designed to address the test case generation problem in the context of coverage testing. DynaMOSA extends our previous many-objective technique Many-Objective Sorting Algorithm (MOSA) with dynamic selection of the coverage targets based on the control dependency hierarchy. Such extension makes the approach more effective and efficient in case of limited search budget. We carried out an empirical study on 346 Java classes using three coverage criteria (i.e., statement, branch, and strong mutation coverage) to assess the performance of DynaMOSA with respect to the whole-suite approach (WS), its archive-based variant (WSA) and MOSA. The results show that DynaMOSA outperforms WSA in 28 percent of the classes for branch coverage (+8 percent more coverage on average) and in 27 percent of the classes for mutation coverage (+11 percent more killed mutants on average). It outperforms WS in 51 percent of the classes for statement coverage, leading to +11 percent more coverage on average. Moreover, DynaMOSA outperforms its predecessor MOSA for all the three coverage criteria in 19 percent of the classes with +8 percent more code coverage on average.

Yazarların özeti; kaynağından alınmıştır. IEEE Transactions on Software Engineering, 2017 · DOI ↗

ÇıkarımlarPremium
Makaleye SorÜcretsiz hesapla

Ücretsiz hesapla devam et

Makaleye Sor ile bu makaleye günde 3 soru ücretsiz; makaleyi kaydet, kaynakçasını al, ilgi alanına göre her gün yeni özetler. Çıkarımlar Premium.

Web'de ücretsiz devam et

Google ya da Apple hesabınla giriş; kart istemez. Bu makaleye geri dönersin.

Telefonda:

Alan: Yazılım

SoftwareComputer Science