L'éventail des applications menées à bien par les ingénieurs en LabVIEW s'est rapidement étendu au cours de ces dix dernières années. Du fait des avancées dans le domaine des processeurs embarqués, tels que les circuits FPGA (field-programmable gate arrays) et processeurs multicœurs, et de la plus grande sophistication dans le développement d'applications critiques volumineuses en utilisant LabVIEW, la barre a été mise plus haut en termes de stabilité des produits, de validation de code et de vérification des fonctionnalités. En tant que telles, la plupart des ressources pour le développement des produits LabVIEW ont été consacrées à l'amélioration de la stabilité des produits afin qu'ils répondent aux exigences d'applications critiques et à l'amélioration de la réactivité au moment de l'édition. Les résultats de ces efforts sont significatifs et peuvent s'observer au travers de la plate-forme LabVIEW tout entière. Ce document met l'accent sur les nombreux efforts fournis par la R&D de NI pour améliorer la stabilité, présente les résultats des tests de performances et fait état des caractéristiques de LabVIEW 2012 qui répondent plus précisément aux problèmes courants rencontrés par les utilisateurs.
1. Efforts entrepris pour améliorer la stabilité
NI effectue le suivi des problèmes relatifs aux produits via une base de données recensant les demandes d'action corrective (CAR). Ces CAR sont généralement rapportés par des utilisateurs LabVIEW, des partenaires, ainsi que des développeurs internes, soit en ligne via les Forums de discussion NI soit directement auprès des ingénieurs d'applications. Puis, les développeurs établissent des priorités, font le suivi, la maintenance et enfin, résolvent les problèmes à l'origine de ces demandes. Un CAR LabVIEW n'est pas nécessairement un problème qui se traduit par un crash du logiciel ; il peut s'agir de n'importe quel problème nécessitant d'être résolu au sein du produit. Cela comprend des problèmes cosmétiques, de documentation, de performances, de calculs erronés, d'erreurs non documentées, ainsi que tout problème d'une gravité élevée, comme des plantages et blocages.
Suivi de la stabilité
Ce qui ne peut pas être mesuré, ne peut pas être géré. L'équipe de R&D de NI fait du suivi, de la documentation et de l'amélioration de la stabilité de LabVIEW sa priorité. Faire le suivi des améliorations et des dégradations de la stabilité des produits, sans compter les procédures de test internes, est un processus particulièrement chronophage. Cela implique de recueillir les données des utilisateurs et de collecter des anecdotes ainsi que des informations qualitatives. Cependant, recueillir ce type d'informations peut s'avérer difficile. NI reste à l'affût des forums, des discussions en ligne ou en face-à-face impliquant des développeurs, des responsables marketing et des commerciaux de terrain afin de mieux déterminer l'impact de ces changements.
La Figure n°1 illustre les CAR qui ont été créés au cours du processus de développement de juillet 2008 à juin 2012. Alors que les utilisateurs de LabVIEW rapportent certains CAR, l'équipe de développement LabVIEW utilise la même base de données pour faire le suivi des problèmes qui surviennent lors du processus de développement. Le fait que ce nombre soit en forte baisse signifie que les nouvelles fonctionnalités génèrent moins de problèmes. De ce fait, les développeurs NI peuvent consacrer plus de temps aux problèmes existants, hérités des versions précédentes.

Figure n°1. Mesure du nombre de CAR créés lors du développement des cinq dernières versions de LabVIEW
L'avis des utilisateurs
Les Champions de LabVIEW sont un groupe composé d'utilisateurs chevronnés de LabVIEW, travaillant en étroite collaboration avec la R&D de LabVIEW pour établir l'ordre des priorités relatives aux fonctionnalités d'utilisation et celui des corrections de CAR, ainsi que pour tester LabVIEW en détail tout au long du cycle de développement. Alors qu'ils travaillaient avec la version bêta de LabVIEW 2012, voilà ce qu'ils ont dit :
“Cette expérience s'est avérée excellente. J'ai un certain nombre de projets en vue, et je n'hésiterai pas à les commercer avec la version bêta de LabVIEW 2012.”
– Christian Altenbach, Institut Jules Stein Eye à UCLA, USA
“LabVIEW 2012 me semble encore plus stable que les versions bêtas précédentes.”
– Benjamin Steinwender, CLD (Autriche)
Bien plus qu'une simple histoire de stabilité
La stabilité n'est pas le seul élément sur lequel il faut se focaliser. Améliorer la réactivité en termes d'édition de la plate-forme LabVIEW tout entière est également une priorité. Réduire les délais de certaines actions telles que le chargement de VIs, l'ouverture de boîtes de dialogue de propriétés et le chargement de l'aide, peut considérablement améliorer l'expérience de développement d'applications en LabVIEW.
Des avancées significatives ont été réalisées pour améliorer les performances en termes d'édition de la plate-forme LabVIEW.
LabVIEW
Lors des deux dernières mises à jour de la plate-forme LabVIEW, plusieurs modifications ont affecté le temps de lancement de LabVIEW et de chargement des hiérarchies de VIs. Les développeurs NI ont travaillé sur neuf processus différents afin de réduire le temps de démarrage à froid de LabVIEW. De plus, vi.lib, qui contient toutes les bibliothèques principales dont dispose NI, a été configuré pour maintenir le code source compilé séparément du code objet par défaut. Par conséquent, ce changement accélère le temps de chargement des VIs. Cependant, son impact est directement proportionnel au volume d'une hiérarchie de VIs contenant du code dans vi.lib. Les tests de performances NI démontrent qu'une hiérarchie entière de VIs vi.lib charge 2,5 fois plus vite dans LabVIEW 2012 que dans LabVIEW 2010.
Le Tableau 1 n°illustre quelques statistiques dans LabVIEW 2012.
| Fonctionnalités | Durée du lancement à froid | Amélioration du démarrage à froid |
| Éditeur d'icône | 1,95 s | 75% |
| Outil de recherche d'exemples LabVIEW | 6,44 s | 57% |
| Page de propriétés du graphe | 2,94 s | 35% |
Tableau n°1. Statistiques relatives à l'amélioration du temps de démarrage dans LabVIEW 2012
Test de la version bêta
À chaque nouvelle mise à jour de LabVIEW, NI offre une période prolongée de la version bêta public durant laquelle les clients et partenaires LabVIEW peuvent développer, tester et mettre à jour leur code en utilisant une construction stable de la version bêta. Le programme bêta inclut un forum de discussion à travers lequel les utilisateurs peuvent interagir avec les développeurs travaillant sur des fonctionnalités majeures, participer à des discussions avec d'autres testeurs de la version bêta et enfin, partager leurs commentaires, ce qui est nécessaire pour que le produit réponde le mieux possible aux besoins de la communauté des ingénieurs.
Communicateur d'erreur NI (NIER)
Avec LabVIEW 2011, NI a lancé NIER, un outil de génération de rapports d'erreurs qui enregistre les informations concernant tout problème majeur qui se produit sur le système d'un utilisateur. Grâce à l'aide des utilisateurs LabVIEW qui utilisent NIER pour envoyer leurs rapports d'erreurs à NI en vue d'un examen approfondi, NI a recueilli des informations très utiles sur tous les crashes susceptibles de se produire et a pu établir des priorités concernant les problèmes qui engendre une perte de productivité.
NI a suivi une approche qui a fait ses preuves dans l'industrie en répartissant tous les crashes en catégories bien distinctes et en se concentrant sur l'étude et la résolution des 20 premières, qui représentent environ 28 % de tous les problèmes majeurs rapportés. NI travaille consciencieusement à la résolution des principales causes de plantages rapportés et 16% de tous les crashes LabVIEW rapportés ont été résolus dans LabVIEW 2012.
NI a également amélioré la plate-forme LabVIEW de manière à obtenir des informations supplémentaires lorsqu'une erreur majeure survient, ce qui lui permet de mieux traiter les nouveaux crashes rapportés.

Figure n°2. Les 20 principaux crashes rapportés par le communicateur d'erreurs NIER de LabVIEW. À partir des données communiquées jusqu'en décembre 2011. *NI a résolu une partie des problèmes et/ou ajouté davantage d'instruments pour découvrir l'origine du crash.
Grâce à l'outil NIER et aux utilisateurs qui en ont tiré parti, LabVIEW 2012 est une plate-forme plus stable que les versions précédentes. NI va continuer à améliorer la stabilité de la plate-forme LabVIEW en s'appuyant sur les rapports d'erreurs rapportés par les utilisateurs via NIER.
Ordre de priorité des CAR
Généralement, l'ordre de priorité des CAR est établi sur la base de trois facteurs : l'existence de contournements, l'impact potentiel pour les utilisateurs et le temps de développement nécessaire à la mise en œuvre d'une solution. Par exemple, avec un cycle de mise à jour annuelle pour LabVIEW, le temps de développement requis a un impact majeur sur la mise en place ou non d'une solution dans la toute prochaine version ou dans une version ultérieure. Chacun de ces trois facteurs est considéré au même titre dans l'échelle de priorité d'un CAR. À l'avenir, le NIER permettra de fournir des informations supplémentaires sur le nombre d'utilisateurs affectés par un problème particulier. De plus, l'incidence potentielle du problème sur un client jouera un rôle plus important dans la détermination d'une solution.
2. National Instruments : une expérience avérée dans la prise en compte des commentaires des utilisateurs
National Instruments a une longue expérience de la prise en compte des commentaires des ingénieurs qui utilisent les produits NI et des actions qui en découlent. Lorsque les employés de NI affirment que le succès de la société est entre les mains de ses clients, ils disent vrai. Dans le LabVIEW Idea Exchange, un forum sur lequel les utilisateurs peuvent suggérer de nouvelles fonctionnalités pour LabVIEW (la R&D en a implémenté 25 jusqu'à présent), les commentaires des utilisateurs sont plus importants que jamais. Tout comme les nouvelles fonctionnalités, savoir où les utilisateurs ont des difficultés dans LabVIEW, ou connaître leur opinion en termes d'amélioration, ne peut que permettre à NI d'améliorer ses produits.
Maintenant que LabVIEW 2012 est sorti, les efforts se concentrent autour du LabVIEW 2012 Service Pack 1 et de LabVIEW 2013. Les mises à jour du service packs continueront à se concentrer sur les bugs importants et ceux affectant fortement les utilisateurs, tandis que la prochaine mise à jour majeure continuera à mettre l'accent sur la stabilité des produits, la réactivité en termes d'édition ainsi que sur les fonctionnalités permettant d'accroître votre productivité. Rendez-vous sur ni.com/beta pour souscrire au programme de la version bêta de LabVIEW 2013, afin d'exercer une influence sur la stabilité de LabVIEW dans le futur.
