question 2 et 3
This commit is contained in:
15
sujet.md
15
sujet.md
@@ -18,13 +18,24 @@
|
||||
2. Apache Bug :
|
||||
COLLECTIONS-799: "UnmodifiableNavigableSet can be modified by pollFirst() and pollLast()"
|
||||
https://issues.apache.org/jira/projects/COLLECTIONS/issues/COLLECTIONS-799?filter=doneissues
|
||||
Il s'agit d'un bug local qui permet de modifier `UnmodifiableNavigableSet`, un Set censé être immutable, via les fonctions `pollFirst()` et `pollLast()`, ces deux fonctions sont héritées de la classe `AbstractNavigableSetDecorator` qui elle est mutable.
|
||||
On peut voir que le contributeur qui a signalé le bug a commencé à commit 2 nouveaux cas de test pour `UnmodifiableNavigableSet`, qui testent si `pollFirst()` et `pollLast()` génèrent bien une erreur.
|
||||
Il a ensuite commit la correction qui consiste simplement à override `pollFirst()` et `pollLast()` en y mettant un `UnsupportedOperationException`.
|
||||
|
||||
|
||||
|
||||
3. Chaos Engineering :
|
||||
|
||||
|
||||
4. Web Assembly :
|
||||
4. Formal specification in Web Assembly :
|
||||
|
||||
Selon les concepteurs de Web Aseembly, la sémantique formelle permet d'avoir un code plus propre et régulier, il est plus facile à implémenter.
|
||||
WebAssembly est prouvable grâce à sa sémantique formelle, il évite les comportements indéfinis.
|
||||
L'interprète de référence utilise OCaml, il est utilisé pour tester l'implémentation et la spécification formelle.
|
||||
Le code peut être vérifié, compilé et transformé en format Automate en un seul passage grâce à un flux de contrôle structuré.
|
||||
|
||||
Mais tout ceci ne remplace pas les tests. La sémantique formelle permet seulement de garantir que le comportement est défini et que l'exécution est sûre. Les tests eux vérifient que le programme respecte la spécification.
|
||||
|
||||
|
||||
5.
|
||||
5. Mechanising and Verifying :
|
||||
|
||||
|
||||
Reference in New Issue
Block a user