question 2 et 3

This commit is contained in:
trochas
2025-11-21 10:55:44 +01:00
parent 3d5a44f781
commit 8aee7e6db7

View File

@@ -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 :