Megállapította a szoftvergyártó óriás, hogy a felmerülő biztonsági sérülékenységek megközelítőleg 70 százaléka memóriabiztonsági problémákra vezethető vissza. Annak érdekében, hogy egyszerűbbé tegye biztonságosabb kódok írását, a vállalat egy olyan programnyelvet fejleszt, amelyet kifejezetten a biztonságos infrastruktúra programozására terveztek.
A nemsokára nyílt forráskódúvá váló új programnyelv első verziója, a Project Verona három alapötlet köré épül:
- Adatfaji szabadság, amely feladja a konkurrens, önkényes mutációt, hogy méretezhető memóriakezelést tegyen lehetővé temporális biztonsággal, globális szinkronizálás nélkül.
- Egy új konkurencia modellt lehetővé tevő konkurens tulajdonosok, ami biztosítja az erőforrások könnyűsúlyú, aszinkron koordinációját.
- Lineáris régiók, objektumok csoportján alapuló tulajdonlási modellel. Ez a Microsoft szerint különbözik a memóriabiztonságos Rust nyelvtől, amely egyetlen objektumon alapul. A Veronában régiónként vannak memóriakezelési stratégiák. További szolgáltatás a régi összetevők kompartmentalizációja.
A Verona a kompartmentalizációt a nyelv dizájn szintjén vizsgálja. A Verona esetében vannak olyan szálak, amelyek hozzáférhetnek a régiókhoz. Bármely régiót csak egy szál érheti el. Van egy lineáris belépési pont egy régióba, és a régiók beágyazhatók más régiókba. Egy megosztott, megváltoztathatatlan régió fenntarthat olyan elemeket, amelyek nem mutálódnak.
Mi több, pervazív sandboxingot használ a meglévő, nem megbízható kódok futtatására. A sandboxolt könyvtárak beágyazhatók egy Verona-programba.
A Project Verona produkciós minőségű runtime modult, prototípus fordítót és type-checkert tartalmaz. A tervek között egy compiler és az együttműködés lehetővé tétele érdekében a GitHubon való nyílt forráskódú megjelenés szerepel.
A memóriabiztonság növelése érdekében tett erőfeszítései részeként a Microsoft tanulmányozta a Rust alkalmazását új komponensek készítéséhez, valamint a meglévő komponensek újraírásához. A vállalat felhívja a figyelmet arra, hogy rendszerszoftverek C és C++ nyelven íródnak, amelyeket eredendően nem a biztonság messzemenő figyelembevételével terveztek.