Detail publikace

Advances in Noise-based Testing of Concurrent Programs

Originální název

Advances in Noise-based Testing of Concurrent Programs

Anglický název

Advances in Noise-based Testing of Concurrent Programs

Jazyk

en

Originální abstrakt

Testing of concurrent software written in programming languages like Java and C/C++ is ahighly challenging task owing to the many possible interactions among threads. Asimple, cheap, and effective approach that addresses this challenge is testing with noise injection, which influences the scheduling so that different interleavings of concurrent actions are witnessed. In this paper, multiple results achieved recently in the area of noise-injection-based testing by the authors are presented in a unified and extended way. In particular, various concurrency coverage metrics are presented first. Then, multiple heuristics for solving the noise placement problem (i.e. where and when to generate noise) as well as the noise seeding problem (i.e. how to generate the noise) are introduced and experimentally evaluated. In addition, several new heuristics are proposed and included into the evaluation too. Recommendations on how to set up noise-based testing for particular scenarios are then given. Finally, anovel use of the genetic algorithm for finding suitable combinations of the many parameters of tests and noise techniques is presented. 

Anglický abstrakt

Testing of concurrent software written in programming languages like Java and C/C++ is ahighly challenging task owing to the many possible interactions among threads. Asimple, cheap, and effective approach that addresses this challenge is testing with noise injection, which influences the scheduling so that different interleavings of concurrent actions are witnessed. In this paper, multiple results achieved recently in the area of noise-injection-based testing by the authors are presented in a unified and extended way. In particular, various concurrency coverage metrics are presented first. Then, multiple heuristics for solving the noise placement problem (i.e. where and when to generate noise) as well as the noise seeding problem (i.e. how to generate the noise) are introduced and experimentally evaluated. In addition, several new heuristics are proposed and included into the evaluation too. Recommendations on how to set up noise-based testing for particular scenarios are then given. Finally, anovel use of the genetic algorithm for finding suitable combinations of the many parameters of tests and noise techniques is presented. 

BibTex


@article{BUT119778,
  author="Jan {Fiedor} and Vendula {Dudka} and Bohuslav {Křena} and Zdeněk {Letko} and Shmuel {Ur} and Tomáš {Vojnar}",
  title="Advances in Noise-based Testing of Concurrent Programs",
  annote="Testing of concurrent software written in programming languages like Java and
C/C++ is ahighly challenging task owing to the many possible interactions among
threads. Asimple, cheap, and effective approach that addresses this challenge is
testing with noise injection, which influences the scheduling so that different
interleavings of concurrent actions are witnessed. In this paper, multiple
results achieved recently in the area of noise-injection-based testing by the
authors are presented in a unified and extended way. In particular, various
concurrency coverage metrics are presented first. Then, multiple heuristics for
solving the noise placement problem (i.e. where and when to generate noise) as
well as the noise seeding problem (i.e. how to generate the noise) are introduced
and experimentally evaluated. In addition, several new heuristics are proposed
and included into the evaluation too. Recommendations on how to set up
noise-based testing for particular scenarios are then given. Finally, anovel use
of the genetic algorithm for finding suitable combinations of the many parameters
of tests and noise techniques is presented. ",
  address="NEUVEDEN",
  chapter="119778",
  doi="10.1002/stvr.1546",
  edition="NEUVEDEN",
  howpublished="online",
  institution="NEUVEDEN",
  number="3",
  volume="25",
  year="2015",
  month="april",
  pages="272--309",
  publisher="NEUVEDEN",
  type="journal article in Web of Science"
}