Discussion:Vérification formelle
- Admissibilité
- Neutralité
- Droit d'auteur
- Article de qualité
- Bon article
- Lumière sur
- À faire
- Archives
- Commons
fusion vérification formelle et methodes formelles
modifierDiscussion déplacé depuis la page de discussion du Wikipédia:Portail Informatique Epommate 13 jun 2005 à 20:43 (CEST)
Bonjour, je pense que ces deux articles sont très proches et couvrent les mêmes sujets :
Envisageons la fusion. Il faudrait demander à un expert de nous expliquer la différence. Je vais essayer d'en trouver un... ;-) s'il se reconnait, salut à lui !
Fabos 17 déc 2004 à 10:43 (CET)
- Bonjour, sans être spécialiste, je peux te dire que la "vérification formelle" n'est qu'une facette de la "méthode formelle" - plutôt que la fusion, on peut présenter dans l'article méthode formelle (informatique) un lien vers un développement plus poussé de la vérification. 13 jun 2005 à 20:46 (CEST) Vlad2i поговорить / أن يتحدّث
Je pense qu'il faut surtout envisager la suppression ce cet article. Il est flou et amalgame les techniques de vérification algorithmique (model checking) et les techniques de preuves de programmes. En particulier les outils cité (des prouveurs) ne servent pas a faire ce que l'exemple sous entend (de la vérification algorithmique). L'article sur les méthodes formelles explique les même concepts et est mieux construit, celui n'apporte rien de plus. Il est vrai que l'on peut souhaiter un article sur la vérification séparement mais ce contenu çi ne peut pas servir à cela. 82.231.114.112 29 novembre 2005 à 23:20 (CET)
Je crois aussi qu'il faudrait envisager de supprimer cette page, éventuellement d'intégrer une partie de son contenu dans d'autres pages, ou alors changer son nom. Elle ne donne pas une vision assez large de la vérification formelle.
par ailleurs, je n'ai pas trouvé d'article "vérification de logiciels", (qui pourrait rediriger vers vérification formelle ?).
Tchai 9 février 2006 à 23:04 (CET)
Je ne vois pas ce qui justifie de ne faire la liste des outils non comerciaux. La liste doit etre completer, comme sur la poge Model Checking anglaise. CdC 6 juin 2006 à 17:00 (CEST)
- Bha c'est tout l'article qu'il faut compléter, et le modèle checking c'est pas ici mais la : Model checking Outs 6 juin 2006 à 17:50 (CEST)
Oui mais enfin le model checking fait partie de la verification formelle. CdC
Fusion
modifierJ'ai fusionné la page avec Méthode formelle (informatique) Outs 30 juillet 2006 à 20:53 (CEST)
Méthode formelle : Model Checking vs. Equivalence Checking
modifierJe viens juste d'arriver en tant qu' éditeur sur Wikipédia. Je ne suis pas un expert du domaine, mais j'ai travaillé pendant prés de 3 ans sur le développement d'outils sur le sujet.
Je vais donc tenter d'apporter une vision industrielle sur le sujet. Avant tout il semble y avoir une confusion sur ce que recouvre le terme Model Checking.
En effet, il est sous entendu dans l'article, ainsi que dans les discussions précédentes que les techniques de preuves ne sont pas du model checking, qui se restreindrait à de la vérification algorithmique.
Ceci est contraire à la classification commerciale dans le cas de la conception électronique.
Dans l'industrie électronique, nous distinguons deux grandes familles d'outils :
- Les model checkers : tout outil qui se base sur la présence d'une seule modélisation du système
- Les equivalent checkers : tout outil qui se base sur la présence d'un modèle référent, on va comparer le nouveau modèle avec cette référence.
Que la technique de vérification, ou de conception, est une approche algorithmique ou par preuve n'est pas essentiel.
En effet, la véritable problématique en pratique est au niveau de la spécification et de la validation en français (Verification en anglais).
Si l'on prend la représentation abstraite de ce qu'est un programme (P(x)), on peut parfaitement le représenter sous la forme d'une boite noire avec un vecteur d'entrée I(t), et un vecteur de sortie S(t).
Nous avons alors la représentation S=P(I). La fonction P(x) étant déterministe.
Dans le cas de l'approche algorithmique le problème est double : est-il correct ? est-il correctement implémenté ?
Dans le cas de l'approche par preuve c'est un peu plus complexe : ai-je la preuve de tous les états atteignables du système ? combien de temps ai-je besoin pour établir cette preuve ?
Si je reprends les deux techniques présentées (BDD et SAT), on peut voir qu'elles permettent de vérifier principalement l'approche par preuve :
- BDD : définit l'espace de tous les états atteignables. Cet espace défini, il devient simple de vérifier si notre état à prouver fait parti de cette liste.
- SAT : ne définit pas tout l'espace des états (E(x)) possibles, mais vérifie selon le principe mathématique :
- Il ne reste plus qu'alors à vérifier que E(0)=TRUE
Mais dans les applications électroniques, on peut utiliser ces deux techniques dans le cadre de la vérification algorithmique par equivalence checking.
L'implémentation de l'algorithme étant fait à l'aide d'un langage formel, il est donc possible d'établir un modèle de BDD de celui-ci. Si nous avons un autre modèle avec les mêmes fonctionnalités et que l'on considère correct. Il reste qu'à le convertir sous la forme d'un BDD. Il ne restera alors plus qu'à comparer les deux BDDs obtenus pour conclure.
Dans le cas de la vérification algorithmique par SAT, cela se fait grâce à la simplification de la logique booléenne en XOR:
Soit P(x) le programme à tester, et R(x) le programme référent. S=P(I) et S'=R(I)
Utilisateur:R.Saltarelli
- Salut et bienvenu sur Wikipedia. Comme tu a pu le voir les articles sur les méthodes formelles sont encore largement améliorables. Ne te gêne surtout pas pour apporter des modifications sur les textes existants. N'oublie pas de signer tes discussion avec un ~~~~ sinon les pages de discussions ne sont pas lisibles. Dernièrement j'ai essayé de rassembler les articles existants dans la catégorie [[Catégorie:Méthode formelle]] cela permet d'avoir une vue d'ensemble. Bonne rédaction et A+ --Outs 24 mars 2007 à 18:27 (CET)