La qualité logicielle est incontournable compte tenu des logiciels embarqués dans les trains (1).
La qualité logicielle consiste à apprécier de manière globale la qualité d’un logiciel en fonction d’indicateurs prédéfinis (2).
La complétude des fonctionnalités, la précision des résultats, la fiabilité, la tolérance de pannes, la facilité et la flexibilité de son utilisation, la simplicité, l’extensibilité, la compatibilité et la portabilité, la facilité de correction et de transformation, la performance, la cohérence et l’intégrité des informations qu’il contient sont autant d’indicateurs de qualité (3).
La qualité d’un logiciel dépend donc entièrement de sa construction et des processus utilisés pour son développement (3).
Dans son ouvrage (4), Stephen H. Kan, ingénieur ASQC Qualité certifiée responsable de la qualité des logiciels de la stratégie et des plans d’IBM Rochester, définit la qualité fonctionnelle d’un logiciel comme la « conformité aux exigences », de sorte qu’un logiciel est considéré comme étant de qualité s’il présente un faible nombre d’anomalies fonctionnelles.
D’après un état des lieux mené, au début des années 2010, par la société Xebia « le logiciel de qualité reste l’exception » (5).
Cette situation n’est, pour autant, pas une fatalité dans la mesure où le niveau de la qualité logicielle peut être largement intensifié et maintenu au prix d’un renforcement de la discipline de développement et de la mise en place rigoureuse de certaines pratiques d’ingénierie.
Il existe plusieurs référentiels de certification du système de management de la qualité en entreprise, en matière d’ingénierie du logiciel : norme Iso 9000 de 2015 (6), norme Iso/CEI 9126 (7), norme Afnor NF X 50-120 (8).
Ainsi, la qualité logicielle, gage de conformité optimale aux exigences règlementaires (notamment en termes de sécurité), est une notion extrêmement importante dans des domaines sensibles et critiques, tels que le domaine des transports (routier, ferroviaire et aéronautique).
En effet, un logiciel de qualité reconnue permet de limiter, de manière considérable, les éventuels dysfonctionnements et failles de sécurité inhérents à tout logiciel et, partant, les risques de responsabilité pesant sur les constructeurs de ces derniers.
La question de la qualité logicielle, longuement débattue en 2015 dans le cadre de l’affaire Volkswagen fait l’objet de débats agités concernant les voitures autonomes.
Il ne fait nul doute que cette affaire entraînera, à terme, un accroissement des tests et vérifications de la qualité des logiciels, tout particulièrement dans les domaines les plus sensibles où les exigences de sécurité sont particulièrement élevées, tels que le domaine des transports (routier, ferroviaire et aéronautique).
Ces vérifications aboutiront donc à un accès, ne serait-ce que partiel et encadré, par des sociétés externes aux codes sources des logiciels d’automatisation de l’exploitation des trains afin de mesurer leur qualité et d’identifier d’éventuels dysfonctionnements et failles de sécurité.
Même si l’accès aux codes sources des logiciels, permettant de mesurer leur niveau de qualité, contredit les règles issues du droit de la propriété intellectuelle, dans la mesure où ils sont des œuvres de l’esprit protégées par le droit d’auteur, il est fort probable que l’objectif et l’impératif de sécurité prévaudra et entraînera une inspection systématique des codes sources des logiciels propriétaires embarqués dans les trains, avions, et voitures d’autant plus s’ils sont automatisés.
Selon Madame Eben Moglen, conseil de la Free Software Foundation, organisation américaine promouvant le logiciel libre et la défense des utilisateurs, et présidente du Software Freedom Law Center, organisation d’assistance et de défense juridique aux projets de logiciels libres, « à l’heure où le logiciel est partout, dans les avions, les appareils médicaux, les voitures […] nous devons exiger que les logiciels puissent être inspectés » (9).
Cette initiative est d’ailleurs soutenue par :
- la chercheuse Zynep Tufekci dans une tribune pour le New York Times dans laquelle elle précise « si nous ne sommes pas capables de réclamer l’ouverture des logiciels, il faut que des commissions réglementaires spéciales puissent elles avoir un accès au code sous supervision réglementaire » (10) ;
- un spécialiste en sécurité informatique, Monsieur Bruce Schneir qui estime que « nous devons nous doter de moyens de vérifier, contrôler, rendre le code disponible pour analyse » (11).
Compte tenu de cette situation qui pourrait conduire à généraliser et rendre obligatoire les procédures de test et de vérification du niveau de qualité des logiciels et partant, diminuer les risques de dysfonctionnement des logiciels d’automatisation de l’exploitation des trains, il pourrait être opportun pour les constructeurs de trains intelligents de faire procéder à des audits, par des sociétés spécialisées, des logiciels embarqués dans les trains avant leur mise en circulation.
De tels audits auraient l’avantage, outre que de se conformer à la règlementation applicable si elle venait à être adoptée, à limiter tout risque de dysfonctionnement ou défaut de sécurité et, en cas d’accident impliquant un train intelligent, tout risque d’engagement de la responsabilité des constructeurs à ce titre.
Marie-Adélaïde de Montlivault-Jacquot
Alexandra Massaux
Lexing Contentieux informatique
(1) Logiciel capable de contrôler (ou piloter) un procédé physique à une vitesse adaptée à l’évolution du procédé contrôlé.
(2) Norme internationale NF ISO/CEI 9126 « Technologies de l’Information : Qualités des produits logiciels » d’octobre 2012.
(3) Wikipedia : Qualité logicielle.
(4) Stephen H. Kan, « Metrics and Models in Software Quality Engineering », Pearson Education 2003 (ISBN 0-201-72915-6).
(5) Xebia, « Livre blanc : Qualité logicielle – Pragmatisme et productivité », Décembre 2010.
(6) Norme internationale ISO 9000 de 2015.
(7) Norme internationale NF ISO/CEI 9126 « Technologies de l’Information : Qualités des produits logiciels », octobre 2012.
(8) Norme internationale Afnor NF X 50-120.
(9) Dwyer Jim, « Volkswagen’s Diesel Fraud Makes Critic of Secret Code a Prophet », Sept. 22, 2015.
(10) Tufekci Zeynep, « Volkswagen and the Era of Cheating Software », Sept. 23, 2015.
(11) Guillaud Hubert, « Qui nous protégera des logiciels tricheurs ? », 29 sept. 2015.