Les mises à jour / correctifs Windows peuvent-ils affecter les résultats calculés du logiciel d'ingénierie? [fermé]

1

Je travaille dans une société d'ingénierie qui s'appuie fortement sur la précision des résultats mathématiques calculés produits par les logiciels sous Windows 7 (MATLAB, ANSYS, codes Fortran écrits en interne). Récemment, j'ai été affecté à un groupe chargé de veiller à ce que les logiciels sous Windows ne soient pas affectés négativement par les mises à jour / correctifs de Windows. On m'avait dit que l'idée derrière ces vérifications était qu'une mise à jour du système d'exploitation pourrait potentiellement changer les résultats arithmétiques du logiciel que nous utilisons. Soi-disant, il y avait des problèmes dans le passé avec des logiciels sous Unix / Linux affectés par les mises à jour du noyau.

La première partie de ma question est la suivante: quelle est la probabilité (ou est-il même possible) qu'une mise à jour de Windows 7 via des correctifs, des service packs, des versions plus récentes du framework .NET, etc., puisse altérer les résultats des calculs mathématiques effectués par les logiciels ? Les modifications apportées aux résultats calculés pourraient-elles être plus importantes que les erreurs d'arrondi classiques? Idéalement, un ensemble de cas de test devrait être exécuté par chaque logiciel, mais la mise à jour de chaque correctif Windows ne prend pas vraiment de temps ni d'argent.

Dans la deuxième partie, y a-t-il des suggestions pour vérifier facilement si une mise à jour de Windows a entraîné des modifications qui pourraient avoir une incidence sur les résultats de notre logiciel? Comme mentionné, l'exécution d'une suite complète de tests sur chaque logiciel n'est pas très faisable et je pense que notre processus actuel pourrait être grandement amélioré.

Je serais également intéressé de savoir comment d’autres sociétés d’ingénierie, en particulier celles des secteurs réglementés comme le nucléaire et l’espace, gèrent ce problème de s’assurer que les logiciels Windows produisent les résultats attendus pour les calculs techniques. S'inquiètent-ils également du fait que chaque mise à jour de Windows commencera à leur donner différentes valeurs calculées? Je ne suis vraiment pas sûr de savoir où cette ligne devrait être tracée entre la responsabilité dans la vérification de nos calculs et la paranoïa.

higginsmd
la source
1
Notions de base: Non seulement les logiciels, mais également le matériel, peuvent avoir une incidence sur les résultats du calcul - par exemple, google.se/… - mais tout dépend du type d’application utilisé pour le logiciel que vous utilisez. c'est-à-dire matlab dans votre cas. Maintenant, je ne peux pas vous conseiller plus que cela - mais je peux imaginer qu'il pourrait y avoir une sorte de certification disponible. Matlab est utilisé pour tellement de tâches d'ingénierie que je serais surpris de ne pas l'avoir examiné minutieusement (=> certifié?).
Hannu
J'ai passé beaucoup de temps à essayer de comprendre à quelle section de Stack Exchange je devrais poser cette question. J'ai senti que c'était finalement une question de logiciel / matériel, alors j'ai choisi Super User. Avez-vous des suggestions sur la section à utiliser pour pouvoir obtenir de l'aide pour ma question?
higginsmd

Réponses:

0

Le JIT .NET pourrait être mis à jour pour optimiser l'arithmétique en virgule flottante de manière plus agressive.

Si une mise à jour de système d'exploitation permet la prise en charge d'un jeu d'instructions plus récent tel que AVX2, cela pourrait également modifier la façon dont IL est envoyé.

Je ne considérerais pas que les mises à jour de l'EEC soient extrêmement rares. Ils ne glisseront probablement pas dans une mise à jour de sécurité, mais je ne serais pas surpris d'en trouver une allant de .NET 4.5.0 à 4.5.1.

En fait, le nouveau RyuJIT sera activé par défaut dans la prochaine version .NET.

Outre cet entier, des instructions arithmétiques IEEE sont exécutées sans implication du système d'exploitation. Leur résultat est spécifié exactement (cela inclut les opérations en virgule flottante).

usr
la source