Livret bleu qualitelogicielle_gt-logiciellibre_systematic

  • Published on
    28-Nov-2014

  • View
    85

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Transcript

  • 1. LES LIVRETS BLEUS DU LIBRE LOGICIEL ROBERTODICOSMO PHILIPPEVAILLERGUES FABRICEBERNHARD Contributionde FRDRICLEPIED PATRICKMOREAU Prfacede STFANEFERMIGIER Qualit logicielle
  • 2. LIBRE LOGICIEL LES LIVRETS BLEUS DU GTLL : DES REPRES POUR COMPRENDRE Ont contribu ce livret bleu : Roberto Di Cosmo (IRILL, Universit Paris 7 Denis Diderot, vice-prsident du GTLL), Philippe Vaillergues (Henix), Fabrice Bernhard (Theodo), Stfane Fermigier (Abilian, prsident du GTLL). GTLL,SystematicParis-Region,2014 DiffusionsouslicenceCreativeCommons3.0CCBY-NC-NDPouruneutilisationcommerciale,nouscontacter. LES LIVRETS BLEUS DU LIBRE LOGICIEL ROBERTODICOSMO PHILIPPEVAILLERGUES FABRICEBERNHARD Contributionde FRDRICLEPIED PATRICKMOREAU Prfacede STFANEFERMIGIER Qualit logicielle LES LIVRETS BLEUS DU LIBRE LOGICIEL PATRICEBERTRAND TIENNEJULIOT STFANEFERMIGIER MARINESOROKO OLIVIERVIN Prfacede STFANEFERMIGIER Modles conomiques LES LIVRETS BLEUS DU LIBRE LOGICIEL GRGORYBECUE PATRICEBERTRAND ROBERTODICOSMO STFANEFERMIGIER JONATHANLELOUS PHILIPPEMONTARGES PIERREQUEINNEC tudiants Croissance et opportunits Remerciements Muriel Shan Sei Fan pour le travail ddition, et Didier Mresse (Nord Compo) pour la conception.
  • 3. 1 Sommaire Prface Chapitre 1 Qualit Logicielle, de quoi sagit-il? 5 Chapitre 2 Linformatique embarque critique 8 Chapitre 3 Linformatique en milieu industriel non critique 10 Les enjeux croissants de la qualit logicielle 12 Limportance du processus de dveloppement 13 Chapitre 4 Le logiciel libre et la qualit logicielle 16
  • 4. 2 LES LIVRETS BLEUS du Logiciel Libre Prface Un logiciel, a bogue ; un projet informatique, a drive. Ce sont des vidences prsentes lesprit tant du grand public que des professionnels. La problmatique de la qualit logicielle est perue intuitivement intuition alimente par plusieurs dcennies dcrans bleus, de pertes de donnes, de failles de scurit exploites, de projets en retard ou abandonns grands fracas et souvent sans grand recul sur ses vritables enjeux. Dans ce contexte, le logiciel libre, dont les modes de fonction- nement et les modles conomiques restent encore mystrieux pour les non-spcialistes, est encore trop rarement associ lide de qualit. Si les gants amricains, qui exhibent des mil- liards en budgets de R&D, ny arrivent pas, que peut-on attendre de ces communauts et cosystmes aux moyens si restreints en comparaison ? Pourtant, les analyses le montrent depuis 15 ans, dans la plupart des domaines o une offre professionnelle de logiciel libre sest dveloppe ou se dveloppe activement (outils de dveloppe- ment, infrastructure, cloud computing, big data, after PC), les logiciels libres rivalisent et souvent surpassent en qualit les logiciels propritaires qui leurs sont comparables.
  • 5. QUALITLOGICIELLE 3 Il y a l un paradoxe qui mrite dtre expliqu. Ce que nous ferons tout dabord, en apprhendant ces questions sous langle de lingnierie, et non pas seulement du folklore, puis en passant en revue les outils et les mthodes qui permettent de rpondre aux dfis conomiques et socitaux que pose la faillibilit du logiciel dans une socit en pleine transition numrique. Dans ce domaine, les approches dont le logiciel libre a t le pionnier innovation ouverte, dveloppement distribu, dve- loppement dirig par les tests, architectures modulaires et exten- sibles, rsilience intgre sciemment dans les protocoles du Web et de lInternet, etc. constituent autant de pistes pour amliorer la qualit de la production de lensemble de lindustrie logicielle. La qualit logicielle est, avec le Big Data et lAfter PC, lun des trois grands axes de R&D du groupe thmatique Logiciel Libre. Nos membres investissent largement dans ce domaine pour amliorer la comptitivit de notre cosystme, au niveau rgional mais aussi national et mondial. Cet ouvrage expose de faon synthtique ses enjeux et claire les rponses que nous y apportons. Stfane Fermigier, prsident du groupe thmatique Logiciel Libre
  • 6. 4 LES LIVRETS BLEUS du Logiciel Libre Avec le triple respect des cots, des dlais et des fonctionnalits, la qualit logicielle est le quatrime facteur caractrisant lart ou la science de la production du logiciel. Or, tant plus complexe mesurer, la qualit logicielle en vient trop souvent constituer un facteur dajustement. Pendant longtemps, on a assist des approches diffrentes, presque tanches, de la qualit logicielle, troitement lies aux caractristiques et aux contraintes de lenvironnement dans lequel on se trouvait.
  • 7. QUALITLOGICIELLE 5 Chapitre 1 Qualit Logicielle, de quoi sagit-il? Le problme de garantir quun logiciel ralise bien les fonctions pour lesquelles il a t conu est trs ancien, et a intress des grands noms de la recherche en Informatique, comme C.A.R. Hoare et David Gries, qui dfendaient dj dans les annes 1970 lide dcrire du code exclusivement partir de spcifications, et den prouver la correction avec laide dinstruments issus de la Logique Mathmatique. Malgr des rsultats thoriques limitatifs bien connus, cette ide fondatrice a donn lieu un foisonnement dactivits de recherche qui visent employer des mthodes formelles pour sapprocher de cet objectif, en allant de la vrification automatique la preuve formelle, linterprtation abstraite, sans parler des diverses techniques utilises pour la conception de logiciels, tels les microprocesseurs. Il sagit dun domaine de lInformatique qui montre clairement le temps long ncessaire la recherche sur des sujets complexes: il a fallu plusieurs dizaines dannes, et dnormes progrs techniques et scien- tifiques, pour passer des premires approches propo- ses dans les annes 1960 aux exploits daujourdhui
  • 8. 6 LES LIVRETS BLEUS du Logiciel Libre que sont la production dune chane de compilation entirement certifie grce un assistant la demons- tration (projet CompCert, Inria), la vrification du code de contrle-commande de lAirbus A380 (projet Astre, ENS Ulm, et Inria), la certification dun noyau de systme dexploitation au niveau seL4 (Nicta). Une large palette de techniques et doutils existe enfin pour certifier du code, ou en prouver des proprits (typage fort, vrification, interprtation abstraite, preuve formelle). Beware of bugs in the above code; I have only proved it correct, not tried it. Donald Knuth, 1977 Mais la qualit logicielle ne se limite pas la question importante de ltablissement de la correction du code par des mthodes formelles: la dimension et la com- plexit du code dvlopp aujourdhui, et la vitesse avec laquelle il change, rendent indispensable la mise en place de tests systmatiques, qui doivent tre proprement conus, structurs et maintenus. Et mme lorsquon arrive obtenir un code prouv correct, avec une assurance totale sur la fonctionnalit quil ralise, on reste confront la problmatique de la lisibilit, de la maintenabilit et de lvolutivit de ce code, qui dpendent profondment de la faon donc le
  • 9. QUALITLOGICIELLE 7 code est structur et crit. Ces questions importantes font lobjet de recherches dans le domaine du gnie logiciel, qui tudie larchitecture des logiciels, leur complexit, et le processus de dveloppement et de maintenance, avec le besoin fort de fournir des mesures exploitables. Dans ce contexte, le logiciel libre est le moyen qui sest gnralis parmi les chercheurs pour partager leurs rsultats et faciliter les contributions entre eux quoique on peut observer que le dveloppement mme des outils qui ralisent ces mthodes ne suit que trs exceptionnel- lement ces mmes mthodes. Plusieurs projets de recherche exploratoires financs dans ce domaine ont t labelliss par le ple Systema- tic et nous considrons que cet axe de recherche long terme est stratgique. Ainsi le groupe thmatique Logi- ciel Libre a-t-il labellis les projets de recherche (ANR) ASOPT, Codex, et le projet de R&D collaborative FUI 14 SafePython. http://systematic-paris-region.org/fr/projets/asopt http://systematic-paris-region.org/fr/projets/codex http://systematic-paris-region.org/fr/projets/safepython
  • 10. 8 LES LIVRETS BLEUS du Logiciel Libre Chapitre 2 Linformatique embarque critique Malgr des exploits certains, lutilisation de ces mthodes reste anecdotique dans le monde indus- triel, qui commence ny avoir timidement recours que dans quelques environnements hautement critiques et intrinsquement coteux qui justifient de recourir aux preuves formelles. Dans ces domaines, des normes strictes obligent les industriels un effort trs consquent de qualification de leur code, pour des exigences de fiabilit (transport, avionique) ou de scurit (cartes puces, tlcommuni- cations); lactivit de programmation y est soumise des rgles mtier trs contraignantes. Le cot grandissant du dveloppement des couches logicielles ncessaires la construction des applications
  • 11. QUALITLOGICIELLE 9 critiques, et le besoin frquent den assurer la mainte- nance sur des dures pouvant dpasser largement la dcennie, ont conduit lutilisation de logiciels libres dans ces domaines, et le phnomne prend de plus en plus dampleur. Le besoin de sappuyer sur des standards pour la certifi- cation, et la possibilit davoir recours des preuves for- melles posent les bases pour des avances significatives. Des projets dans cette direction ont dj t financs aprs labellisation par Systematic (projets HILITE (FUI 9), projet Couverture (FUI 5), etc.), et cette voie de recherche reste trs prometteuse. http://systematic-paris-region.org/fr/projets/hilite http://systematic-paris-region.org/fr/projets/couverture
  • 12. 10 LES LIVRETS BLEUS du Logiciel Libre Chapitre 3 Linformatique en milieu industriel non critique Les entreprises savent dsormais que la qualit de leurs logiciels est une caractristique de la valeur de leur Systme dInformation, et de leur patrimoine applicatif. Dans ce contexte non critique qui reprsente lessentiel du code utilis aujourdhui, on trouve des niveaux dexigence et de criticit divers: systmes din- formation dentreprise et dadministration, informatique transactionnelle sensible (par exemple dans le secteur bancaire), informatique embarque non critique. Tous ces cas sont caractriss par la sdimentation de grandes quantits de code, linterconnexion crois- sante entre systmes, et un large recours au test, avec cependant une combinatoire impossible couvrir de manire exhaustive, que ce soit par des mthodes manuelles ou automatises. Lenjeu de la qualit logicielle devient alors doptimiser les moyens de tests disponibles limits pour minimiser les risques (rglementaires, financiers, mtier). En production et qualification de code, on a recours, dans le meilleur des cas, une grande varit de mthodes
  • 13. QUALITLOGICIELLE 11 approches, qui visent non pas prouver la correction du code dans labsolu, mais plutt quil a un niveau de qua- lit suffisant pour rpondre de manire satisfaisante aux besoins pour lesquels il a t conu. On cherche aussi garantir que le processus de son dveloppement suit des bonnes pratiques laissant esprer par exemple que les erreurs dcouvertes seront bien corriges et traces pour viter des rgressions. On cherche enfin amliorer directement la qualit du produit logiciel en industriali- sant les diffrents types de tests, avec une dmarche qui reste le plus souvent volontariste. On observe ainsi une tendance forte au dploiement doutils qui visent amliorer le contrle du code dve- lopp, en mlant des mtriques de diffrentes natures qui essayent de couvrir la fois le code lui-mme et le processus de dveloppement. Le socle de ces outils est trs souvent en logiciel libre, et Systematic a dj contribu financer un certain nombre de projets, allant des forges logicielles (Helios et Coclico, FUI5 et FUI7) la qualim- trie (Squale et Squash, FUI 5 et FUI 10). http://systematic-paris-region.org/fr/projets/helios http://systematic-paris-region.org/fr/projets/coclico http://systematic-paris-region.org/fr/projets/squale http://systematic-paris-region.org/fr/projets/squash
  • 14. 12 LES LIVRETS BLEUS du Logiciel Libre Les enjeux croissants de la qualit logicielle Depuis quelques annes, on assiste un essor de la qua- lit logicielle dans les domaines de linformatique non critique sous leffet de diffrents facteurs, parmi lesquels on peut mentionner: Laugmentation des cots de qualification, qui prennent une part de plus en plus importante dans le cot des projets en raison de la sdimentation du patrimoine applicatif et de linterconnexion croissante entre systmes; La complexification de la qualification, qui en- gendre le besoin dindustrialiser les tests, dvoluer vers des centres de qualification transverses, et de professionnaliser la filire des mtiers du test; Lexternalisation des dveloppements (ventuel- lement ltranger), qui induit la ncessit dun contrle accru pour le donneur dordre. La mesure de la qualit logicielle devient alors un moyen de pilotage de la sous-traitance et de matrise de son patrimoine applicatif. Le secteur de la qualit logicielle dans linformatique non critique est en croissance et en mutation, et touche lorganisation mme de lentreprise. Il comporte encore une part dempirisme et ncessite une stan- dardisation. La valorisation du retour sur investissement
  • ...