Cours et exercices corrigés d'algorithmique
Vérifier, tester et concevoir des programmes en les modélisant - Licence et master d'informatique
Jacques Julliand avec la contribution de Pierre Berlioux
Résumé
Dans le monde de l'industrie et des services, la validation et la vérification des logiciels sont aujourd'hui des enjeux sécuritaires et économiques majeurs.
La sécurité des passagers des véhicules de transport dépend par exemple de la sûreté des logiciels qui en contrôlent les fonctions motrices, tout comme la survie économique des fabricants de produits diffusés à des centaines de milliers d'exemplaires serait remise en cause si le logiciel embarqué se révélait erroné et devait être remplacé.
L'utilisation d'environnements de développement de logiciels intégrant des outils d'aide à la vérification et à la validation (JAVA/JML, C#ISPEC#, C/ACSL, Atelier B, Scade, Esterel, etc.) va se généraliser et, dans cette perspective, les futurs utilisateurs devront maîtriser ces outils autant que les techniques sous-jacentes.
A la base des techniques de vérification, la logique de Hoare est au coeur de cet ouvrage. On trouvera ici comment utiliser cette méthode pour vérifier et concevoir des logiciels sûrs.
L'auteur montre également comment modéliser des systèmes informatiques dans le paradigme Logico-ensembliste, puis comment les vérifier et les tester en recourant aux outils de la méthode B.
Divisé en deux parties, ce manuel contient une introduction didactique des principes fondamentaux de la technique de vérification par application des règles de la logique de Hoare. Les concepts de la méthode de vérification sont introduits en montrant les similitudes et les différences avec la méthode de test fonctionnel boîte noire. On y trouvera notamment des éléments de stratégie utilisant ces concepts pour vérifier et pour concevoir des logiciels. La seconde partie est consacrée à des questions pratiques liées à la mise en oeuvre de la méthode avec des outils - Atelier B et LEIRIOS Test Generator - assistant la vérification et la génération de tests. Elle inclut le langage d'entrée de ces outils : la modélisation des logiciels en B.
L'ensemble est illustré de nombreux exercices corrigés.
Sommaire
- Modéliser pour vérifier et développer des programmes
- Test et vérification de programmes
- Vérification de programmes par exécution symbolique
- Un langage de programmation générique
- La logique des prédicats du premier ordre - le langage de modélisation du premier ordre
- La logique de Hoare - le système de vérification
- Quelques éléments de stratégie de vérification de programmes
- Exemple de découverte d'erreurs à la vérification
- Etude de cas - modélisation et vérification d'un programme de calcul de la racine carrée entière par division
- Développer des programmes corrects par construction à partir de modèles
- Automatisation de la vérification et de la génération de tests à partir de modèles
- Modélisation de programmes en B
- Modéliser en B pour engendrer des tests boîte noire
- Modéliser des programmes en B pour les vérifier
- Solutions des exercices
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Vuibert |
Auteur(s) | Jacques Julliand |
Parution | 15/02/2010 |
Nb. de pages | 264 |
Format | 17 x 24 |
Couverture | Broché |
Poids | 520g |
Intérieur | Noir et Blanc |
EAN13 | 9782311000207 |
ISBN13 | 978-2-311-00020-7 |
Avantages Eyrolles.com
Nos clients ont également acheté
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse
- Informatique Développement d'applications Techniques de programmation Programmation fonctionnelle
- Informatique Développement d'applications Techniques de programmation Programmation parallèle et multithreading
- Informatique Développement d'applications Algorithmique et informatique appliquée
- Informatique Développement d'applications Technologies objet Programmation objet