D’aprs les rsultats d’une recherche de l’universit de Waterloo, au Canada, Rust a le potentiel d’attirer et de faciliter l’arrive des nouveaux contributeurs dans les projets open source tout en reconnaissant les risques inhrents leur participation. travers l’tude du projet Oxidation de Mozilla, les auteurs rvlent que le langage Rust rduit considrablement la probabilit que les nouveaux contributeurs introduisent des vulnrabilits dans le code, par rapport C++. La recherche value galement les vulnrabilits de Rust dans les projets open source et mesure l’efficacit de l’algorithme SZZ dans l’identification des commits qui induisent des bogues.
Rust est un langage de programmation compil multi-paradigme conu et dvelopp par Mozilla Research depuis 2010. Il a t conu pour tre « un langage fiable, concurrent, pratique », supportant les styles de programmation purement fonctionnel, modle d’acteur, procdural, ainsi qu’orient objet sous certains aspects.
Du fait de la politique de Mozilla, Rust est entirement dvelopp de faon ouverte et sollicite les remarques et contributions de la communaut. La conception du langage est graduellement amliore au travers des retours de l’quipe et la majorit des contributions proviennent de la communaut.
Les nouveaux contributeurs sont essentiels aux projets open source. Sans eux, le projet finira par s’atrophier et devenir inactif, ou ses contributeurs expriments biaiseront les orientations futures du projet. Cependant, les nouveaux contributeurs peuvent galement prsenter un risque plus lev d’introduire un code vulnrable. Pour les projets qui ont besoin la fois d’implmentations sres et d’une communaut de contributeurs forte et diversifie, ce conflit est une question urgente.
L’une des pistes envisages pour atteindre cet objectif consiste rcrire des lments de code C ou C++ en Rust, un langage conu pour s’appliquer aux mmes domaines que le C et le C++, mais avec des garanties de scurit accrues. Afin de dterminer si Rust peut contribuer empcher les nouveaux contributeurs d’introduire des vulnrabilits et, par consquent, allger le fardeau des mainteneurs, nous examinons le projet Oxidation de Mozilla, qui a remplac des composants du navigateur web Firefox par des quivalents crits en Rust.
Nous utilisons les donnes disponibles de ces projets pour driver les paramtres d’une nouvelle application des courbes d’apprentissage, que nous utilisons pour estimer la proportion de modifications qui introduisent des vulnrabilits de la part de nouveaux contributeurs d’une manire qui est directement comparable.
Nous constatons qu’en dpit des proccupations relatives la facilit d’utilisation, les nouveaux contributeurs aux projets Rust sont environ 70 fois moins susceptibles d’introduire des vulnrabilits que les nouveaux contributeurs aux projets C++.
Nous avons galement constat que le taux de nouveaux contributeurs augmentait globalement aprs le passage Rust, ce qui implique que cette diminution des vulnrabilits de la part des nouveaux contributeurs ne rsulte pas d’une plus petite rserve de dveloppeurs plus comptents, et que Rust peut en fait faciliter l’arrive de nouveaux contributeurs.
Dans le mme temps, nous analysons qualitativement les vulnrabilits Rust dans ces projets, et mesurons l’efficacit de l’algorithme commun SZZ pour identifier les commits induisant des bogues partir de leurs correctifs.
Source : Recherche de l’universit de Waterloo, ON, Canada
Et vous ?
Quel est votre avis sur le sujet ?
Selon vous, les conclusions de cette recherche sont-elles crdibles et pertinentes ?
Voir aussi