Проучване показва, че Rust улеснява присъединяването на нови разработчици към проекти с отворен код

ръжда лого

Rust е мултипарадигмен, компилиран език за програмиране с общо предназначение.

Преди няколко дни беше съобщена новината за резултати от разследване в която показват, че Rust има потенциала да привлича и улеснява пристигането на нови сътрудници към проекти с отворен код, като същевременно признава намаляването на уязвимостите.

Проучването беше извършено от членове на университета Ватерло, Канада, чрез проучването на проекта Oxidation на Mozilla, авторите разкриват, че езикът Rust значително намалява вероятността нови сътрудници да въведат уязвимости в кода, в сравнение с C++.

Освен това се споменава, че изследването също така оценява уязвимостите на Rust в проекти с отворен код и измерва ефективността на алгоритъма SZZ при идентифициране на предизвикващи грешки ангажименти.

И не е изненадващо, че Rust вече е сред най-добрите езици за програмиране, предпочитани от мнозина, както и един от най-препоръчваните за тези, които започват в света на програмирането.

За тези, които все още не знаят за Rust, трябва да знаете, че това е език за програмиране, компилиран с множество парадигми, проектиран и разработен от Mozilla Research от 2010 г. Той е проектиран да бъде „практичен, едновременен и надежден език“, поддържащ чисто функционални модели , на актьори, процедурни и обектно-ориентирани в определени аспекти. Поради политиката на Mozilla, Rust се разработва напълно открито и изисква обратна връзка и принос от общността. Езиковият дизайн постепенно се подобрява благодарение на обратната връзка от екипа, като повечето приноси идват от общността.

Групата изследователи споменават в публикацията си, озаглавена „Оценяване по крива: Как Rust може да улесни новите сътрудници, като същевременно намалява уязвимостите", Какво Новите сътрудници са от съществено значение за проекти с отворен код итъй като без тях проектът в крайна сметка ще атрофира и ще изпадне в латентно състояние или неговите опитни сътрудници ще изкривят бъдещите насоки на проекта.

Въпреки това, нови данъкоплатци Те също могат да бъдат изложени на по-голям риск от въвеждане на уязвим код. За проекти, които се нуждаят от сигурни внедрявания и силна, разнообразна общност от сътрудници, този конфликт е проблем, който винаги е трябвало да се взема предвид. Това е така В разследването се споменава, че един от планираните маршрути За да се постигне тази цел, да се намалят възможностите за въвеждане на уязвим код, се състои от пренаписване на елементи от C или C++ код в Rust, език, предназначен да се прилага към същите домейни като C и C++, но с по-големи гаранции за сигурност.

За да определим дали Rust може да помогне за предотвратяване на нови сътрудници от въвеждане на уязвимости и по този начин да облекчи тежестта върху поддържащите, ние проучихме проекта Oxidation на Mozilla, който замени компонентите на уеб браузъра Firefox с еквиваленти, написани на Rust.

Изследователите разчитат на събирането на налични данни от тези проекти за извличане на параметри за кривите на обучение на ново приложение и който също беше използван за оценка на дела на промените, които въвеждат уязвимости на нови сътрудници по начин, който е пряко сравним.

Установихме, че въпреки опасенията относно използваемостта, новите сътрудници на Rust проекти са приблизително 70 пъти по-малко склонни да въведат уязвимости, отколкото новите сътрудници на C++ проекти.

Проучването разкрива, че процентът на новите сътрудници се е увеличил като цяло след преминаването към Rust, което означава, че това намаляване на уязвимостите на новите сътрудници не е резултат от по-малък набор от по-квалифицирани разработчици и че Rust може всъщност да улесни пристигането на нови участници в проекти с отворен код.

В същото време те споменават, че са извършили качествен анализ на уязвимостите на Rust в тези проекти и въз основа на това са извършили измерване на ефективността на общия SZZ алгоритъм при идентифициране на ангажименти, които предизвикват грешки от техните корекции.

Накрая ако се интересувате да научите повече за това, можете да проверите подробностите В следващия линк.