0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SPARK語言可否取代 C語言?

Linux愛好者 ? 來源:OSC開源社區(qū) ? 作者:OSC開源社區(qū) ? 2022-11-23 12:37 ? 次閱讀

知名編程語言 Ada 與 SPARK 所屬公司 AdaCore 發(fā)布了一則關(guān)于 NVIDIA 的案例,案例顯示:NVIDIA 的產(chǎn)品運行著許多經(jīng)過正式驗證的 SPARK 代碼,NVIDIA 安全團隊正嘗試使用 SPARK 語言取代 C 語言,來實現(xiàn)一些對安全較為敏感的應用程序或組件。

SPARK 是一種編程語言和一組驗證工具,旨在滿足高保證軟件開發(fā)的需求。SPARK 基于 Ada 語言,它既對 ada 語言進行子集化以刪除無法驗證的功能,又擴展了合約和方面的系統(tǒng),進一步支持模塊化、形式化驗證。 SPARK 語言一般用于可預測和高度可靠操作的系統(tǒng)中的高完整性軟件,它有助于開發(fā)需要高安全性或業(yè)務完整性的應用程序。

e33837de-6ae2-11ed-8abf-dac502259ad0.png

早在 2018 年, NVIDIA 就針對 “從 C 轉(zhuǎn)換為 SPARK” 這一過程進行了概念驗證 (POC) 練習,在三個月內(nèi)將兩個低級別的安全敏感應用從 C 轉(zhuǎn)換為 SPARK 代碼。在對投資回報進行評估后,該團隊得出結(jié)論:隨著新技術(shù)的增加(培訓、實驗、新工具等),應用程序安全性和驗證效率也得到了提高,轉(zhuǎn)換為 SPARK 代碼的兩個應用程序?qū)崿F(xiàn)了安全穩(wěn)健性的重大改進。 (有關(guān)評估結(jié)果的更多信息,請參閱 NVIDIA 的進攻性安全研究 D3FC0N 演講:https://blog.adacore.com/when-formal-verification-with-spark-is-the-strongest-link)。 由于 POC 的結(jié)果證明從 C 轉(zhuǎn)換為 SPARK 的可行性,SPARK 語言的使用在 NVIDIA 內(nèi)迅速傳播開來?,F(xiàn)在已有超過 50 名受過專業(yè)培訓的開發(fā)人員使用 SPARK 中實現(xiàn)了許多組件,且許多 NVIDIA 產(chǎn)品現(xiàn)在都附帶 SPARK 組件。 另外,SPARK 有一項很有趣的特性:它可以代碼本身中指定程序需求的能力,并使用相關(guān)的工具集來確保代碼實現(xiàn)地功能與它的需求相匹配。NVIDIA 更多地使用 SPARK 來實現(xiàn)最關(guān)鍵的組件,確保它沒有運行時錯誤,并確保它符合受信任根應用程序的規(guī)范。 此外,完整的案例研究涵蓋了一些有趣的主題,比如與 C 相比,SPARK 的性能 “根本沒有看到任何性能差異 “。

編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4816

    瀏覽量

    102636
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7581

    瀏覽量

    135590
  • SPARK
    +關(guān)注

    關(guān)注

    1

    文章

    105

    瀏覽量

    19845

原文標題:NVIDIA 嘗試使用 SPARK 語言取代 C 語言

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    按照這樣學習C語言,成為卷王不是夢!

    在計算機編程領(lǐng)域,C語言被譽為一種強大而靈活的編程語言,掌握好C語言不僅可以讓你輕松駕馭各種編程任務,還能夠為你的職業(yè)生涯打下堅實的基礎。但
    的頭像 發(fā)表于 07-06 08:04 ?244次閱讀
    按照這樣學習<b class='flag-5'>C</b><b class='flag-5'>語言</b>,成為卷王不是夢!

    PLC編程語言C語言的區(qū)別

    在工業(yè)自動化和計算機編程領(lǐng)域中,PLC(可編程邏輯控制器)編程語言C語言各自扮演著重要的角色。盡管兩者都是編程語言,但它們在多個方面存在顯著的區(qū)別。本文將從多個維度深入探討PLC編程
    的頭像 發(fā)表于 06-14 17:11 ?2064次閱讀

    fpga語言是什么?fpga語言c語言的區(qū)別

    FPGA語言,即現(xiàn)場可編程門陣列編程語言,是用于描述FPGA(Field Programmable Gate Array)內(nèi)部硬件結(jié)構(gòu)和行為的特定語言。它允許設計師以硬件描述的方式定義FPGA的邏輯
    的頭像 發(fā)表于 03-15 14:50 ?835次閱讀

    plc編程語言c語言的聯(lián)系 c語言和PLC有什么區(qū)別

    PLC編程語言C語言的聯(lián)系 PLC(可編程邏輯控制器)是一種針對自動化控制系統(tǒng)的特殊計算機。PLC編程語言是為了控制和管理自動化生產(chǎn)過程中的各種設備而設計的。與之相比,
    的頭像 發(fā)表于 02-05 14:21 ?3534次閱讀

    c語言,c++,java,python區(qū)別

    C語言C++、Java和Python是四種常見的編程語言,各有優(yōu)點和特點。 C語言
    的頭像 發(fā)表于 02-05 14:11 ?1659次閱讀

    vb語言c++語言的區(qū)別

    VB語言C++語言是兩種不同的編程語言,雖然它們都屬于高級編程語言,但在設計和用途上有很多區(qū)別。下面將詳細比較VB
    的頭像 發(fā)表于 02-01 10:20 ?1793次閱讀

    C語言運行環(huán)境是什么

    C語言運行環(huán)境(C language runtime environment)是指在執(zhí)行C語言程序時所需的軟件及硬件環(huán)境。
    的頭像 發(fā)表于 11-27 16:13 ?3148次閱讀

    如何選擇創(chuàng)建c語言c++

    選擇創(chuàng)建 C 語言C++ 都需要綜合考慮多個因素。在決定使用哪種語言之前,我們需要對這兩種語言的特點、優(yōu)缺點、適用場景、學習成本等進行全
    的頭像 發(fā)表于 11-27 15:58 ?529次閱讀

    嵌入式C語言的結(jié)構(gòu)特點

    嵌入式開發(fā)中既有底層硬件的開發(fā)又涉及上層應用的開發(fā),即涉及系統(tǒng)的硬件和軟件,C語言既具有匯編語言操作底層的優(yōu)勢,又具有高級語言功能性強的特點,當之無愧地成為嵌入式開發(fā)的主流
    的頭像 發(fā)表于 11-24 16:16 ?586次閱讀
    嵌入式<b class='flag-5'>C</b><b class='flag-5'>語言</b>的結(jié)構(gòu)特點

    c語言源程序main函數(shù)的位置

    C語言源程序中的main函數(shù)是程序的入口點,它被認為是C語言程序的起點。在執(zhí)行程序時,操作系統(tǒng)將首先定位到main函數(shù),并從該函數(shù)開始執(zhí)行程序的代碼。然而,在細致解釋main函數(shù)的位置
    的頭像 發(fā)表于 11-24 10:23 ?2112次閱讀

    \0在c語言中怎么用

    C語言是一種廣泛使用的程序設計語言,具有高效、簡潔和可移植等特點。本文將詳盡介紹C語言的基本語法、數(shù)據(jù)類型、控制結(jié)構(gòu)、函數(shù)及庫函數(shù)等內(nèi)容,以
    的頭像 發(fā)表于 11-24 09:59 ?2896次閱讀

    c語言經(jīng)典教程

    電子發(fā)燒友網(wǎng)站提供《c語言經(jīng)典教程.rar》資料免費下載
    發(fā)表于 11-20 11:45 ?6次下載
    <b class='flag-5'>c</b><b class='flag-5'>語言</b>經(jīng)典教程

    如何學習C語言

    電子發(fā)燒友網(wǎng)站提供《如何學習C語言.pdf》資料免費下載
    發(fā)表于 11-20 11:44 ?0次下載
    如何學習<b class='flag-5'>C</b><b class='flag-5'>語言</b>

    C語言課程設計案例

    電子發(fā)燒友網(wǎng)站提供《C語言課程設計案例.rar》資料免費下載
    發(fā)表于 11-20 10:51 ?5次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>課程設計案例

    C語言進階之嵌入式系統(tǒng)高級C語言編程

    電子發(fā)燒友網(wǎng)站提供《C語言進階之嵌入式系統(tǒng)高級C語言編程.rar》資料免費下載
    發(fā)表于 11-18 10:32 ?1次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>進階之嵌入式系統(tǒng)高級<b class='flag-5'>C</b><b class='flag-5'>語言</b>編程