Coverage metrics for saturation-based and search-based testing of concurrent software

  • Authors:
  • Bohuslav Křena;Zdeněk Letko;Tomáš Vojnar

  • Affiliations:
  • FIT, Brno University of Technology, Czech Republic;FIT, Brno University of Technology, Czech Republic;FIT, Brno University of Technology, Czech Republic

  • Venue:
  • RV'11 Proceedings of the Second international conference on Runtime verification
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Coverage metrics play a crucial role in testing. They allow one to estimate how well a program has been tested and/or to control the testing process. Several concurrency-related coverage metrics have been proposed, but most of them do not reflect concurrent behaviour accurately enough. In this paper, we propose several new metrics that are suitable primarily for saturation-based or search-based testing of concurrent software. Their distinguishing feature is that they are derived from various dynamic analyses designed for detecting synchronisation errors in concurrent software. In fact, the way these metrics are obtained is generic, and further metrics can be obtained in a similar way from other analyses. The underlying motivation is that, within such analyses, behavioural aspects crucial for occurrence of various bugs are identified, and hence it makes sense to track how well the occurrence of such phenomena is covered by testing. Next, coverage tasks of the proposed as well as some existing metrics are combined with an abstract identification of the threads participating in generation of the phenomena captured in the concerned tasks. This way, further, more precise metrics are obtained. Finally, an empirical evaluation of the proposed metrics, which confirms that several of them are indeed more suitable for saturation-based and search-based testing than the previously known metrics, is presented.