kirancodes.me
To Proof Maintenance & Beyond!

Quick verification of concurrent programs by iteratively relaxed scheduling

Patrick Metzler, Habib Saissi, Péter Bokor, Neeraj Suri

Abstract

The most prominent advantage of software verification over testing is a rigorous check of every possible software behavior. However, large state spaces of concurrent systems, due to non-deterministic scheduling, result in a slow automated verification process. Therefore, verification introduces a large delay between completion and deployment of concurrent software. This paper introduces a novel iterative approach to verification of concurrent programs that drastically reduces this delay. By restricting the execution of concurrent programs to a small set of admissible schedules, verification complexity and time is drastically reduced. Iteratively adding admissible schedules after their verification eventually restores non-deterministic scheduling. Thereby, our framework allows to find a sweet spot between a low verification delay and sufficient execution time performance. Our evaluation of a prototype implementation on well-known benchmark programs shows that after verifying only few schedules of the program, execution time overhead is competitive to existing deterministic multi-threading frameworks.

BibTeX
@inproceedings{Metzler-al:ASE17,
  author    = {Patrick Metzler and
               Habib Saissi and
               P{\'{e}}ter Bokor and
               Neeraj Suri},
  title     = {Quick verification of concurrent programs by iteratively relaxed scheduling},
  booktitle = {ASE},
  pages     = {776--781},
  publisher = {{IEEE} Computer Society},
  year      = {2017},
}

Related papers