91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

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

在基于模型的自動代碼生成器中建立信任

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:S. TUCKER TAFT ? 2022-11-11 14:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

您如何建立對用于安全關(guān)鍵系統(tǒng)的自動代碼生成器的信任?例如,給定一個代碼生成器,它采用 Simulink 和 Stateflow 中表示的飛行控制系統(tǒng)的實(shí)時模型,并將其轉(zhuǎn)換為 MISRA C 或 Ada 的 SPARK 子集,哪個過程可以確保生成的代碼是原始實(shí)時模型的忠實(shí)表示?美國聯(lián)邦航空管理局 (FAA) 有一個定義明確的流程來創(chuàng)建合格的代碼生成器,這意味著一個代碼生成器,其輸出可以信任為與輸入模型的語義完全匹配,沒有遺漏任何內(nèi)容,也沒有添加任何內(nèi)容。此過程在 DO-178C(機(jī)載系統(tǒng)中的軟件注意事項(xiàng))及其隨附的文檔 DO-330(軟件工具認(rèn)證注意事項(xiàng))和 DO-331(基于模型的開發(fā)和驗(yàn)證)中定義。

對于像代碼生成器這樣的工具,可能會將錯誤插入機(jī)載系統(tǒng),如果要將工具用于故障可能是災(zāi)難性的子系統(tǒng)(A 級子系統(tǒng)),則需要最高級別的工具資格(工具資格級別 1 (TQL-1))。

毫不奇怪,這種級別的工具鑒定可能涉及大量的時間和精力,通常估計(jì)為每 1,000 行代碼 (KSLOC) 數(shù)百小時。這類似于驗(yàn)證 A 級安全關(guān)鍵型嵌入式軟件組件所需的每行工作量。但是工具可以有更多的代碼行。例如,如果該工具是100 KSLOC,則傳統(tǒng)的A級驗(yàn)證方法可能花費(fèi)約500萬美元。因此,有強(qiáng)烈的動機(jī)研究測試此類工具的替代方法,同時仍然實(shí)現(xiàn)TQL-1目標(biāo)。

傳統(tǒng)的測試方法

驗(yàn)證高完整性應(yīng)用程序的傳統(tǒng)方法要求測試人員:

仔細(xì)定義和驗(yàn)證應(yīng)用程序的一組高級要求

從高級需求派生模塊級需求,這些要求足夠具體,可以確定適當(dāng)?shù)膶?shí)現(xiàn)

使用單元測試根據(jù)其低級需求檢查實(shí)現(xiàn)的每個模塊

對所有高級需求執(zhí)行集成級測試

然后執(zhí)行覆蓋率分析,以確保這些測試涵蓋所有代碼,并確保應(yīng)用程序中沒有可能提供額外、不需要的功能的代碼。

對于嵌入式軟件組件,每個模塊的單元級測試和整個組件的集成級測試的組合可以很好地工作。特別是,嵌入式軟件模塊的單元測試是實(shí)用的,因?yàn)樵谠S多情況下,每個模塊的輸入數(shù)量和復(fù)雜性是可管理的,并且輸出相對容易識別和檢查。但是,對于像自動代碼生成器這樣的工具,它通常涉及多個階段,涉及將輸入模型逐步轉(zhuǎn)換為生成的代碼,單元測試可能是一個真正的挑戰(zhàn)。另一方面,對于這樣的工具來說,集成測試并沒有明顯困難,因?yàn)橹虚g階段的數(shù)量不會影響工具的整體輸入和輸出。

圖 1 說明了單元測試的復(fù)雜性與多階段工具(如代碼生成器)的集成測試相對容易程度之間的這種二分法。

pYYBAGNt8aqASFVjAALicNQ2hSI596.jpg

[圖1 |由于易于使用,集成測試比單元測試更受歡迎。

在圖 1 中,我們顯示了優(yōu)化自動代碼生成器的整體數(shù)據(jù)流,其中輸入模型稱為“用戶語言”,輸出稱為“源代碼”。多個階段被流水線化,原始模型中的第一階段讀數(shù)以用戶語言(M0)表示,并以某些內(nèi)部數(shù)據(jù)結(jié)構(gòu)(M1)表示模型。然后將其轉(zhuǎn)換為模型的較低級別表示(M2,M3等),直到最后階段以所需的編程語言生成實(shí)際的源代碼。要執(zhí)行集成測試,只需使用常規(guī)模型創(chuàng)建工具準(zhǔn)備一個以用戶語言表示的模型,將其饋送到代碼生成器中,然后檢查生成的源代碼,以確定它是否滿足形式和功能方面的高級要求,使用普通編譯器、靜態(tài)分析和該編程語言的測試工具。

相比之下,對多相代碼生成器的每個階段執(zhí)行單元測試要復(fù)雜得多。必須為給定階段的每個測試構(gòu)建一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),該結(jié)構(gòu)符合用于該階段輸入的表示形式,然后需要對該輸入調(diào)用該階段,然后必須檢查輸出表示以查看它是否具有預(yù)期的形式和內(nèi)容。準(zhǔn)備此類輸入并檢查此類輸出需要費(fèi)力的手動過程或創(chuàng)建特殊工具,這些工具本身可能需要認(rèn)證。

集成單元測試

鑒于單元測試的復(fù)雜性,已經(jīng)開發(fā)了一種稱為集成單元測試的替代方法。圖 2 說明了此方法:

450-57b34bdf64ef7-Adacore-Figure+2.jpg.jpg

[圖2 |集成單元測試方法是單元測試的更簡單替代方法]

在圖 2 中,我們展示了一個將單元測試需求監(jiān)視器和單元測試預(yù)言機(jī)(一個“知道”所需輸出的檢查器)直接嵌入到工具結(jié)構(gòu)中的過程。將這些監(jiān)視器和檢查器嵌入到工具中后,我們按照用于正常集成測試的步驟進(jìn)行操作,準(zhǔn)備代表性模型(Test0 到 Test4),并通過代碼生成器將它們饋送。但是現(xiàn)在,每個嵌入式單元測試需求監(jiān)視器不只是等待工具生成最終輸出,而是跟蹤其關(guān)聯(lián)階段的輸入是否與其關(guān)聯(lián)的單元測試匹配,如果匹配,它會記錄該事實(shí),然后觸發(fā)相應(yīng)的基于單元測試預(yù)言機(jī)的檢查器,該檢查器驗(yàn)證階段的輸出是否對應(yīng)于特定測試模式的輸入的預(yù)期轉(zhuǎn)換。

例如,假設(shè)我們在模型級別定義了增益塊的特定轉(zhuǎn)換,將其轉(zhuǎn)換為代碼級別的表達(dá)式,該表達(dá)式將信號變量的值乘以常量。每當(dāng)增益塊出現(xiàn)在其模型級輸入表示中時,我們都會有一個單元測試要求監(jiān)視器記錄,當(dāng)它出現(xiàn)時,觸發(fā)基于 oracle 的檢查器查看代碼級輸出表示,以確保它涉及將適當(dāng)?shù)男盘栕兞砍艘赃m當(dāng)?shù)某?shù)。這是一個非常簡單的檢查,只要有足夠的模型作為一個整體通過該工具,就可以預(yù)期覆蓋此特定的單元測試模式。

通過該工具運(yùn)行多個模型后,我們最終可以得到一個如圖 2 所示的表。在左側(cè),我們有模型,Test0到Test4。在頂部,我們有針對工具每個不同階段的測試需求和測試預(yù)言機(jī)對。例如,tr0,2 表示階段 0 的測試要求 2,而 to2,1 表示階段 2 的測試預(yù)言機(jī) 1。每次階段的特定輸入滿足與某些測試需求相關(guān)的測試模式時,我們都會在輸入模型行的需求列中看到 SAT。每次調(diào)用測試預(yù)言機(jī)時,我們都會在輸入模型行的預(yù)言機(jī)列中看到 PASS 或 FAIL。如果我們最終得到一個空列,則從未遇到測試模式(未涵蓋相應(yīng)的低級要求)。如果我們最終在 test-oracle 列中出現(xiàn) FAIL,這意味著我們有一個測試失敗(相應(yīng)的低級需求沒有正確實(shí)現(xiàn))。在圖 2 所示的表中,我們看到 tr0,1 和 tr2,0 未被覆蓋,而 to0,2 和 to2,1 出現(xiàn)故障。這樣的表記錄了一個完整的單元測試過程,同時避免了為每個測試模式準(zhǔn)備特殊輸入的費(fèi)用。

值得信賴的代碼生成器

如果我們要越來越多地依賴此類工具來幫助從更高級別的模型自動生成安全關(guān)鍵軟件,那么建立對代碼生成器的信任至關(guān)重要。但是,需要創(chuàng)新方法來管理在最高信任級別 TQL-1 下實(shí)現(xiàn)現(xiàn)代優(yōu)化代碼生成器的工具認(rèn)證的潛在高昂費(fèi)用。集成單元測試就是這樣一種方法。當(dāng)與其他用于正式指定需求并從這些需求生成需求監(jiān)視器和預(yù)言機(jī)等組件的系統(tǒng)方法結(jié)合使用時,可以實(shí)現(xiàn) TQL-1,這種方式不僅更具成本效益,而且隨著工具的發(fā)展支持增量鑒定。AdaCore 正在使用這些方法驗(yàn)證其 QGen 代碼生成器,從而為基于模型的開發(fā)社區(qū)提供一種新工具,該工具可以成為整體高完整性、軟件密集型系統(tǒng)工程流程的可信部分。

審核編輯:郭婷

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

    關(guān)注

    5149

    文章

    19656

    瀏覽量

    317338
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70674
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    “Quantum Origin”成首個獲NIST驗(yàn)證的軟件量子隨機(jī)數(shù)生成器

    -Quantinuum的“Quantum Origin”成為首個通過NIST驗(yàn)證的軟件量子隨機(jī)數(shù)生成器 Quantum Origin獲得NIST SP 800-90B對其驗(yàn)證熵源的批準(zhǔn) 增強(qiáng)了聯(lián)邦
    的頭像 發(fā)表于 04-03 15:22 ?336次閱讀

    EB Tresos狀態(tài)顯示無法運(yùn)行生成器是什么原因?qū)е碌模?/a>

    我正在嘗試集成 MCAL 包,但在生成過程收到如下驗(yàn)證錯誤:“無法為模塊”Dio_TS_T40D2M20I0R0“運(yùn)行生成器
    發(fā)表于 04-02 08:06

    敏捷合成器的技術(shù)原理和應(yīng)用場景

    多個領(lǐng)域具有廣泛的應(yīng)用場景: 通信測試:通信設(shè)備的研發(fā)和生產(chǎn)過程,敏捷合成器可用于生成各種調(diào)制信號和測試信號,以驗(yàn)證設(shè)備的性能和穩(wěn)定
    發(fā)表于 02-20 15:25

    Python的迭代器與生成器

    ) if y 2: for y in range(1, 4): if y ? ? 生成器 如果要創(chuàng)建一個100萬個元素的列表,你使用上面的方式無疑非常占用內(nèi)存,這時候就用到了生成器,它其實(shí)是保存一個你定義的規(guī)則,需要用到元素的
    的頭像 發(fā)表于 02-20 10:43 ?383次閱讀

    開源隨機(jī)數(shù)生成器庫OpenRNG助力實(shí)現(xiàn)移植到Arm平臺時的最佳性能

    OpenRNG 實(shí)現(xiàn)了多種生成器和分布方式。生成器算法可生成“看似隨機(jī)”并具有某些統(tǒng)計(jì)特性的序列,我們將在下文進(jìn)行討論。分布方式會將序列映射到常見的概率分布概念,如高斯分布或二項(xiàng)分布
    的頭像 發(fā)表于 02-08 09:24 ?1290次閱讀
    開源隨機(jī)數(shù)<b class='flag-5'>生成器</b>庫OpenRNG助力實(shí)現(xiàn)移植到Arm平臺時的最佳性能

    超詳細(xì)!FMU生成器用戶手冊來啦~

    FMU生成器是TSMaster中用于將模型打包生成FMU文件的一個工具,目前支持FMI3.0和FMI2.0版本,F(xiàn)MU類型僅支持Co-Simulation(CS),即聯(lián)合仿真FMU。本文將介紹FMU
    的頭像 發(fā)表于 01-17 20:02 ?935次閱讀
    超詳細(xì)!FMU<b class='flag-5'>生成器</b>用戶手冊來啦~

    EE-322:面向SHARC處理器的專家代碼生成器

    電子發(fā)燒友網(wǎng)站提供《EE-322:面向SHARC處理器的專家代碼生成器.pdf》資料免費(fèi)下載
    發(fā)表于 01-07 14:04 ?0次下載
    EE-322:面向SHARC處理器的專家<b class='flag-5'>代碼</b><b class='flag-5'>生成器</b>

    探索設(shè)計(jì)稿自動生成Flutter代碼的技術(shù)方案

    的工具和方法,最后嘗試大模型生成flutter代碼項(xiàng)目中的實(shí)踐。 一、美團(tuán)的探索 美團(tuán)2021年3月25日發(fā)表了一篇關(guān)于設(shè)計(jì)稿
    的頭像 發(fā)表于 11-08 10:09 ?1699次閱讀
    探索設(shè)計(jì)稿<b class='flag-5'>自動</b><b class='flag-5'>生成</b>Flutter<b class='flag-5'>代碼</b>的技術(shù)方案

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法。
    的頭像 發(fā)表于 11-05 11:45 ?1028次閱讀
    如何<b class='flag-5'>自動</b><b class='flag-5'>生成</b>verilog<b class='flag-5'>代碼</b>

    AI大模型自然語言處理的應(yīng)用

    海量的文本數(shù)據(jù),能夠生成結(jié)構(gòu)化、連貫的文本段落。 新聞寫作、創(chuàng)意內(nèi)容生成等場景,AI大模型展現(xiàn)出了卓越的效果。例如,GPT系列
    的頭像 發(fā)表于 10-23 14:38 ?1530次閱讀

    使用C2000?嵌入式模式生成器(EPG)進(jìn)行設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《使用C2000?嵌入式模式生成器(EPG)進(jìn)行設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:13 ?1次下載
    使用C2000?嵌入式模式<b class='flag-5'>生成器</b>(EPG)進(jìn)行設(shè)計(jì)

    Freepik攜手Magnific AI推出AI圖像生成器

    近日,設(shè)計(jì)資源巨頭Freepik攜手Magnific AI,共同推出了革命性的AI圖像生成器——Freepik Mystic,這一里程碑式的發(fā)布標(biāo)志著AI圖像創(chuàng)作領(lǐng)域邁入了一個全新的高度
    的頭像 發(fā)表于 08-30 16:23 ?1578次閱讀

    CDCM6208V1F具有小數(shù)分頻器的2:8時鐘生成器/抖動消除器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《CDCM6208V1F具有小數(shù)分頻器的2:8時鐘生成器/抖動消除器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-20 09:13 ?2次下載
    CDCM6208V1F具有小數(shù)分頻器的2:8時鐘<b class='flag-5'>生成器</b>/抖動消除器數(shù)據(jù)表

    具有小數(shù)分頻器的CDCM6208 2:8時鐘生成器/抖動消除器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有小數(shù)分頻器的CDCM6208 2:8時鐘生成器/抖動消除器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-20 09:07 ?0次下載
    具有小數(shù)分頻器的CDCM6208 2:8時鐘<b class='flag-5'>生成器</b>/抖動消除器數(shù)據(jù)表

    TSMaster 測試報(bào)告生成器操作指南

    用戶基于TSMaster軟件開發(fā)測試用例時,或需要使用TSMaster生成HTML報(bào)告時,需要使用TSMaster測試報(bào)告生成器。1Test_Report說明Test_Report是目前
    的頭像 發(fā)表于 08-03 08:21 ?1031次閱讀
    TSMaster 測試報(bào)告<b class='flag-5'>生成器</b>操作指南
    主站蜘蛛池模板: 在线免费看高清视频大全 | 免费中国jlzzjlzz在线播放 | 欧美啊片 | 亚洲精品午夜久久aaa级久久久 | 免费日本黄色网址 | 婷婷6月 | 精品你懂的| 国产伦精品一区二区三区免费 | 亚洲嫩草影院在线观看 | 91一级片| 五月婷六月 | 亚洲一区二区三区中文字幕5566 | 日日夜夜精品 | 欧美69xx性欧美 | 国产午夜精品片一区二区三区 | 操视频网站 | 午夜免费网站 | 日韩美女奶水喂男人在线观看 | 美女张开大腿让男人捅 | 黄色一及毛片 | 亚洲第一色在线 | 奇米影视7777 | 亚洲综合色就色手机在线观看 | 日本操穴| 亚洲成a人片在线观看88 | 性色影院 | 免费人成a大片在线观看动漫 | www.男人| 亚洲欧美强伦一区二区另类 | 四虎永久在线精品视频免费观看 | 男女一级特黄a大片 | 在线免费成人网 | 亭亭色 | 日本免费一区二区三区视频 | 人人搞人人爽 | 2018天天干天天射 | 性xxxxx| 国产色视频一区 | 国产三级精品三级在线观看 | 婷婷综合激六月情网 | 天堂精品在线 |