• Aucun résultat trouvé

dans le contexte de la classificationSafety-Progress qui offre une classification plus fine de l’espace des

propri´et´es. Le cadre ainsi d´efini sera utilis´e pour la sp´ecification de propri´et´es `a valider lors de l’ex´ecution. En effet, nous verrons dans le chapitre suivant que l’applicabilit´e des m´ethodes de validation pour une propri´et´e d´epend de la classe de cette derni`ere.

Perspectives. Pour les propri´et´es des classes de response et de persistence, la s´emantique finitaire des r-propri´et´es nous semble m´eriter d’ˆetre raffin´ee. Par exemple, pour la propri´et´e exprim´ee par une formule

LTL♦p, il est peut ˆetre souhaitable que la s´emantique permette d’exprimer une certaine “densit´e” de

la validit´e de la formule p,e.g., repr´esenter la “fr´equence” o`u p est satisfaite.

Les connexions entre les diff´erentes vues fournissent une traduction indirecte entre les formules de

LTL et les automates de Streett. ´Egalement, il nous semble int´eressant de trouver, dans le cadre des

r-propri´et´es, une traduction directe depuis une formule LTL quelconque vers l’automate de Streett

correspondant. Cette traduction pourrait s’appuyer sur [Zuc86]. Aussi, ´etudier et comparer les complexit´es de ces traductions est un travail en suspens.

CHAPITRE

4

Applicabilit´e des m´ethodes de validation `a l’ex´ecution

Sommaire

4.1 Introduction . . . . 65 4.2 Monitorabilit´e dans la classification Safety-Progress . . . . 65

4.2.1 Selon la d´efinition classique du monitoring . . . . 66

4.2.2 Une d´efinition alternative du monitoring . . . . 69

4.3 Enfor¸cabilit´e par rapport `a la classificationSafety-Progress . . . . 73

4.3.1 Crit`eres d’enforcement . . . . 73

4.3.2 Caract´erisation des propri´et´es enfor¸cables. . . . 75

4.4 Testabilit´e dans la classificationSafety-Progress . . . . 78

4.4.1 Notion de testabilit´e. . . . 78

4.4.2 Caract´erisation des propri´et´es testables . . . . 80

4.4.3 Raffinement de la notion de verdict . . . . 84

4.4.4 Introduction de la notion de quiescence . . . . 86

Chapter abstract

The question we consider in this chapter is the following : what are the classes of properties that can be handled at runtime, and is there a difference between the techniques we are interested in ? This

question is not new, but we propose here to address it within a unified framework : theSafety-Progress

(SP) classification ofr-properties ([MP90b,CMP92b] and Chapter3). In this framework, we characterize

the sets of monitorable, enforceable, and testabler-properties in a unified way.

We start first by revisiting the existing classical definition of monitorability, and characterize the set of monitorable properties according to this definition. Then, we extend this definition to obtain multivalued definitions according to positive and negative determinacy. Moreover, we introduce a new definition of monitorability based on distinguishability of good and bad execution sequences. This definition is weaker than the classical one (based on positive and negative determinacy) and we believe that it better corresponds to practical needs and tool implementations.

Furthermore, we characterize the set of enforceable properties in a way that is independent from any enforcement mechanism. A consequence is that the proposed set of enforceable properties is an upper bound of any enforcement mechanism.

Fig.4.3 (p.72) summarizes the results of this chapter for the runtime verification and enforcement

sides, depicting the sets of monitorable and enforceable properties wrt. theSafety-Progress classification.

Some of these results previously appeared in [FFM09b]. This chapter provides additional proofs, examples,

and explanations.

Finally, we explore the set of testable properties. Testability is defined according to a relation between

the tested system and ther-property under scrutiny. So, we characterize the space of testable properties

wrt. several relations. For each relation, we give a sufficient condition for a r-property to be testable.

Then, we study and delineate for each class ofr-properties, the set of testabler-properties in this class.

R´esum´e du chapitre

La question que nous consid´erons dans ce chapitre est la suivante : quelles sont les classes de propri´et´es qui peuvent ˆetre utilis´ees par les techniques de validation op´erant `a l’ex´ecution, et existe-t-il une distinction entre ces techniques ? Cette question n’est pas originale en soi, mais nous proposons de nous y int´eresser

ici dans un cadre commun : la classificationSafety-Progress (SP) desr-propri´et´es ([MP90b,CMP92b] et

Chapitre3). Dans ce cadre, nous caract´erisons les ensembles de r-propri´et´es monitorables et enfor¸cables de fa¸con uniforme.

Nous commen¸cons par revisiter la d´efinition classique de monitorabilit´e, et donnons une caract´erisation des propri´et´es monitorables selon cette d´efinition. Ensuite, nous donnons une version de cette d´efinition pour plusieurs domaines de v´erit´e, et donnons une caract´erisation des propri´et´es monitorables selon les diff´erents cas. Puis, nous introduisons une nouvelle d´efinition de monitorabilit´e bas´ee sur la distinction des s´equences d’ex´ecution bonnes et mauvaises. Cette d´efinition est plus faible que la d´efinition classique bas´ee sur la d´etermination positive et n´egative. Nous pensons que cette d´efinition correspond mieux aux besoins pratiques et aux implantations d’outils de v´erification `a l’ex´ecution.

De plus, nous caract´erisons l’ensemble des propri´et´es enfor¸cables d’une fa¸con qui est ind´ependante de tout m´ecanisme d’enforcement. Ainsi l’ensemble des propri´et´es enfor¸cables que nous proposons est une borne sup´erieure au pouvoir d’enforcement de tout m´ecanisme.

La Fig. 4.3 (p.72) r´esume les r´esultats apport´es par ce chapitre cot´e v´erification et enforcement,

d´ecrivant les ensembles de propri´et´es monitorables et enfor¸cables par rapport `a la classification Safety-Progress. Certains r´esultats pr´eliminaires de ce chapitre ont ´et´e pr´esent´es dans [FFM09b]. Nous y apportons des r´esultats et preuves suppl´ementaires.

Enfin, nous explorons l’espace des propri´et´es testables. La notion de testabilit´e est d´efinie selon la relation examin´ee entre le syst`eme test´e et lar-propri´et´e. Ainsi, nous caract´erisons l’espace des propri´et´es testables selon plusieurs relations. Pour chaque relation, nous donnons une condition suffisante pour qu’une r-propri´et´e soit testable. Puis nous ´etudions et d´elimitons pour chaque classe de r-propri´et´es, l’ensemble desr-propri´et´es testables de cette classe.

4.2 : Introduction

4.1 Introduction

Motivations. L’objectif premier de ce chapitre est de donner une caract´erisation des propri´et´es qui peuvent ˆetre v´erifi´ees, enforc´ees, et test´ees lors de l’ex´ecution d’un syst`eme. Le fait de pouvoir v´erifier, enforcer ou tester une propri´et´e `a l’ex´ecution d´epend de l’´evaluation de cette propri´et´e productible par

un moniteur `a partir d’une s´equence que celui-ci a lue. Cette ´evaluation d´epend de la mani`ere dont on

interpr`ete la s´equence courante par rapport `a la propri´et´e (si celle-ci est satisfaite de mani`ere finitaire). Cette ´evaluation peut aussi d´ependre des continuations possibles de la s´equence courante. Ainsi un

moniteur ou un testeur doit produire une ´evaluation `a chaque pas (`a chaque lecture d’´ev´enement) de

la s´equence vue jusqu’`a pr´esent. Cette ´evaluation est une valeur d’un domaine de v´erit´e1. Lorsqu’une

´evaluation d´efinitive est produite par le moniteur celle-ci ne doit pas pouvoir ˆetre remise en cause par une ex´ecution future du syst`eme. Nous consid´erons plusieurs domaines de v´erit´e qui seront discrets, ce qui nous permet d’obtenir une caract´erisation multivalu´ee de la notion de monitorabilit´e.

De fa¸con indirecte, ce chapitre permet ´egalement de comprendre comment l’approche d’enforcement est reli´ee `a l’approche (plus g´en´erique) de v´erification. A notre connaissance, il n’existe pas de caract´erisation exacte des propri´et´es que l’on souhaite valider lors de l’ex´ecution d’un syst`eme. Les travaux pr´ec´edents dans les domaines de la v´erification ou l’enforcement de propri´et´es fournissent des bornes inf´erieures pour les espaces de propri´et´es que l’on peut traiter avec ces techniques.

L’int´erˆet de connaˆıtre “l’applicabilit´e” de ces m´ethodes nous semble int´eressant dans le sens suivant. ´

Etant donn´ee une propri´et´e venant de la phase de sp´ecification du syst`eme, selon son type (i.e., la classe de la propri´et´e), il est possible de mettre en œuvre plusieurs techniques pour am´eliorer la confiance que le syst`eme satisfera bien cette propri´et´e lors de l’ex´ecution de celui-ci.

Dans ce chapitre, nous donnons des d´efinitions de monitorabilit´e, enfor¸cabilit´e, et testabilit´e. Ces d´efinitions peuvent sembler ind´ependantes du syst`eme ou programme consid´er´e. Le lien avec ce dernier se

fait grˆace au vocabulaire communΣ. Dans les cas de la v´erification et d’enforcement `a l’ex´ecution, ce

vocabulaire d’observation est obtenu (cf. Chapitre2) par instrumentation du programme. Dans le cas du

test, ce vocabulaire permet d’abstraire les s´equences d’int´eractions du testeur avec le syst`eme test´e aux points de contrˆole et d’observation.

Contributions. Les questions auxquelles nous essayons de r´epondre dans ce chapitre sont les suivantes : 1. ´Etant donn´e un m´ecanisme de validation de propri´et´es `a l’ex´ecution, quelles sont les propri´et´es qui

peuvent ˆetre trait´ees par ce m´ecanisme ?

2. Existe-t-il une diff´erence entre ces diff´erents m´ecanismes ?

Ces questions ne sont pas originales en elles mˆemes, mais nous proposons de nous y int´eresser ici dans un cadre unifi´e : la classificationSafety-Progress (cf. Chapitre3) des propri´et´es. Les contributions de ce chapitre sont les suivantes :

– Nous am´eliorons et int´egrons dans le mˆeme cadre les r´esultats existants [PZ06, BLS09,BLS07b]

(et rappel´es au Chapitre2) li´es `a la caract´erisation des propri´et´es monitorables selon la d´efinition

classique donn´ee par Pnueli et Zaks dans [PZ06].

– Nous proposons une d´efinition alternative de monitorabilit´e tirant parti de la s´emantique des s´equences finies.

– Nous donnons une caract´erisation exacte de l’ensemble des propri´et´es enfor¸cables, et ceci ind´epen-damment de tout m´ecanisme d’enforcement.

– Nous donnons une borne inf´erieure pour l’ensemble des propri´et´es testables, et ceci ind´ependamment de tout testeur. Cette caract´erisation ´etend et corrige certains r´esultats ´etablis pr´ec´edemment

dans [NGH93,Gra94].