Distinguish Dynamic Basic Blocks by Structural Statistical Testing

Matthieu Petit, Arnaud Gotlieb

Research output: Contribution to conferencePaperResearchpeer-review

Abstract

Statistical testing aims at generating random test data that respect selected probabilistic properties. A distribution probability is associated with the program input space in order to achieve statistical test purpose: to test the most
frequent usage of software or to maximize the probability of satisfying a structural coverage criterion for instance.

In this paper, we propose a new statistical testing method that generates sequences of random test data that respect
the following probabilistic properties: 1) each sequence guarantees the uniform selection of feasible paths only and
2) the uniform selection of test data over the subdomain associated with these paths. Baudry et al. present a testing for-diagnosis method where the essential notion of Dynamic Basic Block was identified to be strongly correlated to the effectiveness of fault-localization technique. We show that generating a sequence of random test data respecting these properties allows to well-distinguished Dynamic Basic Blocks. Thanks to Constraint programming techniques, we propose an efficient algorithm that uniformly selects feasible paths only by drastically decreasing the number of rejects (test data that activate another control flow path) during the test data selection. We implemented this algorithm in a statistical test data generator for Java programs. A first experimental validation is presented

Original languageEnglish
Publication date2009
Publication statusPublished - 2009
EventEuropean Workshop on Dependable Computing - Toulouse, France
Duration: 14 May 200915 May 2009
Conference number: 12

Conference

ConferenceEuropean Workshop on Dependable Computing
Number12
CountryFrance
CityToulouse
Period14/05/200915/05/2009

Keywords

  • Statistical Software Testing
  • Fault-Localization
  • Constraint-Based Testing

Cite this

Petit, M., & Gotlieb, A. (2009). Distinguish Dynamic Basic Blocks by Structural Statistical Testing. Paper presented at European Workshop on Dependable Computing, Toulouse, France.
Petit, Matthieu ; Gotlieb, Arnaud. / Distinguish Dynamic Basic Blocks by Structural Statistical Testing. Paper presented at European Workshop on Dependable Computing, Toulouse, France.
@conference{21fe4330782811debfff000ea68e967b,
title = "Distinguish Dynamic Basic Blocks by Structural Statistical Testing",
abstract = "Statistical testing aims at generating random test data that respect selected probabilistic properties. A distribution probability is associated with the program input space in order to achieve statistical test purpose: to test the mostfrequent usage of software or to maximize the probability of satisfying a structural coverage criterion for instance.In this paper, we propose a new statistical testing method that generates sequences of random test data that respectthe following probabilistic properties: 1) each sequence guarantees the uniform selection of feasible paths only and2) the uniform selection of test data over the subdomain associated with these paths. Baudry et al. present a testing for-diagnosis method where the essential notion of Dynamic Basic Block was identified to be strongly correlated to the effectiveness of fault-localization technique. We show that generating a sequence of random test data respecting these properties allows to well-distinguished Dynamic Basic Blocks. Thanks to Constraint programming techniques, we propose an efficient algorithm that uniformly selects feasible paths only by drastically decreasing the number of rejects (test data that activate another control flow path) during the test data selection. We implemented this algorithm in a statistical test data generator for Java programs. A first experimental validation is presented",
keywords = "Statistical Software Testing, Fault-Localization, Constraint-Based Testing",
author = "Matthieu Petit and Arnaud Gotlieb",
note = "On-line proceedings published on HAL-INRIA: http://hal.inria.fr/; null ; Conference date: 14-05-2009 Through 15-05-2009",
year = "2009",
language = "English",

}

Petit, M & Gotlieb, A 2009, 'Distinguish Dynamic Basic Blocks by Structural Statistical Testing' Paper presented at, Toulouse, France, 14/05/2009 - 15/05/2009, .

Distinguish Dynamic Basic Blocks by Structural Statistical Testing. / Petit, Matthieu; Gotlieb, Arnaud.

2009. Paper presented at European Workshop on Dependable Computing, Toulouse, France.

Research output: Contribution to conferencePaperResearchpeer-review

TY - CONF

T1 - Distinguish Dynamic Basic Blocks by Structural Statistical Testing

AU - Petit, Matthieu

AU - Gotlieb, Arnaud

N1 - On-line proceedings published on HAL-INRIA: http://hal.inria.fr/

PY - 2009

Y1 - 2009

N2 - Statistical testing aims at generating random test data that respect selected probabilistic properties. A distribution probability is associated with the program input space in order to achieve statistical test purpose: to test the mostfrequent usage of software or to maximize the probability of satisfying a structural coverage criterion for instance.In this paper, we propose a new statistical testing method that generates sequences of random test data that respectthe following probabilistic properties: 1) each sequence guarantees the uniform selection of feasible paths only and2) the uniform selection of test data over the subdomain associated with these paths. Baudry et al. present a testing for-diagnosis method where the essential notion of Dynamic Basic Block was identified to be strongly correlated to the effectiveness of fault-localization technique. We show that generating a sequence of random test data respecting these properties allows to well-distinguished Dynamic Basic Blocks. Thanks to Constraint programming techniques, we propose an efficient algorithm that uniformly selects feasible paths only by drastically decreasing the number of rejects (test data that activate another control flow path) during the test data selection. We implemented this algorithm in a statistical test data generator for Java programs. A first experimental validation is presented

AB - Statistical testing aims at generating random test data that respect selected probabilistic properties. A distribution probability is associated with the program input space in order to achieve statistical test purpose: to test the mostfrequent usage of software or to maximize the probability of satisfying a structural coverage criterion for instance.In this paper, we propose a new statistical testing method that generates sequences of random test data that respectthe following probabilistic properties: 1) each sequence guarantees the uniform selection of feasible paths only and2) the uniform selection of test data over the subdomain associated with these paths. Baudry et al. present a testing for-diagnosis method where the essential notion of Dynamic Basic Block was identified to be strongly correlated to the effectiveness of fault-localization technique. We show that generating a sequence of random test data respecting these properties allows to well-distinguished Dynamic Basic Blocks. Thanks to Constraint programming techniques, we propose an efficient algorithm that uniformly selects feasible paths only by drastically decreasing the number of rejects (test data that activate another control flow path) during the test data selection. We implemented this algorithm in a statistical test data generator for Java programs. A first experimental validation is presented

KW - Statistical Software Testing

KW - Fault-Localization

KW - Constraint-Based Testing

M3 - Paper

ER -

Petit M, Gotlieb A. Distinguish Dynamic Basic Blocks by Structural Statistical Testing. 2009. Paper presented at European Workshop on Dependable Computing, Toulouse, France.