El projecte Chromium admetrà lús de biblioteques Rust

Crom

, el projecte Chromium admetrà l'ús de biblioteques Rust de tercers de C++ a Chromium

Google va donar a conèixer fa poc la notícia que l'equip darrere del projecte de Chromium es troba treballant a afegir una cadena d'eines Rust de producció al sistema de compilació.

Per als que encara desconeixen de Rust, ho han de recordar bé perquè aquest llenguatge de programació que va ser desenvolupat per Mozilla específicament per al seu ús en l'escriptura d'un navegador, ha començat a colar-se i ser acceptat dins de molts projectes importants, un d'ells el Kernel de Linux.

Això ens permetrà incloure el codi Rust al binari de Chrome durant el proper any. L'objectiu és començar a poc a poc i establir expectatives clares sobre quines biblioteques es consideraran quan estiguin a punt.

Amb això és lògic que Chromium finalment estigui començant a desenvolupar aquesta tecnologia també. Per a Google, la introducció de Rust a Chromium complirà l'objectiu de proporcionar una forma més fàcil i segura de complir la regla de dos, que consisteix a accelerar el desenvolupament i millorar la seguretat de Chrome, a més que s'està millorant la seguretat, eliminant errors de memòria i reduint la densitat derrors en el codi.

Sabem que C++ i Rust poden funcionar molt bé junts, gràcies a eines com cxx, autocxx bindgen, cbindgen, diplomat i (experimental) crubit. Tot i això, també hi ha limitacions. Podem esperar que la forma d‟aquestes limitacions canviï amb el temps amb eines noves o millorades, però les decisions i descripcions aquí es basen en l‟estat actual de la tecnologia.

la decisió es va prendre com a part d'una iniciativa per evitar que apareguin errors de memòria al codi base de Chrome. Segons les estadístiques proporcionades fa dos anys, el 70% dels problemes de seguretat crítics i perillosos a Chromium es deuen a errors de memòria.

L'ús del llenguatge Rust, que se centra en la gestió segura de la memòria i proporciona una gestió automàtica de la memòria, reduirà el risc de vulnerabilitats causades per problemes com laccés a una àrea de la memòria després que shagi alliberat i el desbordament del memòria intermèdia.

L'objectiu de portar Rust a Chromium és proporcionar una manera més fàcil (sense IPC) i més segura (C++ menys complex en general, sense errors de seguretat de memòria en un espai aïllat) per satisfer la regla de dos, per accelerar el desenvolupament (menys codi per escriure, menys documents de disseny, menys revisions de seguretat) i per millorar la seguretat (més línies de codi sense errors de seguretat de la memòria, menor densitat d'errors de codi) de Chrome. A més, l'empresa confia que podem fer servir biblioteques de Rust de tercers per assolir aquest objectiu.

A principis del 2022, l'equip de Chromium ja havia experimentat amb Rust i, després d'uns mesos, va arribar a la conclusió de que el llenguatge inicialment no és adequat com a reemplaçament de C++ per a tasques complexes amb codi asincrònic que ha de funcionar juntament amb el codi existent.

Per tant, l'ús planificat de Rust in Chromium està clarament limitat al principi. D'una banda, la interoperabilitat només anirà en una adreça: de C++ a Rust. D'altra banda, inicialment només es permet utilitzar biblioteques de tercers. Aquests funcionen com a components independents i són independents dels components interns de Chromium. Les biblioteques han de tenir una API simple per a la tasca específica. L'equip de Chromium després examinarà les biblioteques.

Finalment, cal esmentar que com a tal afegir suport a Chromium permetrà que el codi Rust es transfereixi als binaris de Chrome a partir del proper any. La decisió analitza principalment el tema de la seguretat: Rust ofereix més seguretat en escriure a la memòria que C++ i prohibeix comportaments potencialment nocius com llegir variables no escrites, accedir més enllà dels límits establerts per matrius, desreferenciar punters nuls o invàlids, ús d'iteradors invalidats.

Si estàs interessat a poder conèixer-ne més, pots consultar els detalls en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.