在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

ACRN之InterruptWindow功能正確性形式化驗(yàn)證

8nfr_ZTEdevelop ? 來源:未知 ? 作者:李倩 ? 2018-04-11 09:27 ? 次閱讀

1.ACRN背景簡介

ACRN是Linux基金會今年發(fā)布的一款新的嵌入式hypervisor參考軟件,項(xiàng)目的官方名稱為ACRN,這是一個(gè)專為物聯(lián)網(wǎng)和嵌入式設(shè)備設(shè)計(jì)的管理程序。該項(xiàng)目得益于英特爾代碼和工程的貢獻(xiàn),其目標(biāo)是創(chuàng)建一個(gè)靈活小巧的虛擬機(jī)管理系統(tǒng)。通過基于Linux 的服務(wù)操作系統(tǒng),ACRN 可以同時(shí)運(yùn)行多個(gè)客戶操作系統(tǒng),如 Android、其他Linux發(fā)行版,或者RTOS,使其成為許多場景的理想選擇。ACRN架構(gòu)如圖所示:

圖1 ACRN架構(gòu)

我們下面需要驗(yàn)證的功能就是ACRN的InterruptWindow功能模型,在驗(yàn)證該模型之前我們需要先進(jìn)行一下基礎(chǔ)知識的培訓(xùn)。

2.x86_64架構(gòu)的InterruptWindow原理介紹

Intel InterruptWindow功能是專門為運(yùn)行在x86_64平臺上的虛擬機(jī)處理虛擬中斷設(shè)計(jì)的硬件功能,那么為什么要有InterruptWindow功能我們還要從虛擬中斷的處理流程開始說起,一般來講基于x86_64平臺物理機(jī)中斷處理簡化流程如下所示:

圖2 x86_64平臺物理機(jī)中斷處理流程

那么現(xiàn)在我們回過頭來再看看如果是虛擬機(jī)該如何模擬物理機(jī)的中斷過程,我們說做設(shè)計(jì)之前一般做法是首先要做幾個(gè)核心問題的抽象,然后再根據(jù)這些問題找到相應(yīng)的解決方案,最后當(dāng)問題迎刃而解的時(shí)候設(shè)計(jì)方案也自然水到渠成,相應(yīng)的我們做虛擬機(jī)中斷模型分析之前也需要先拋出幾個(gè)核心問題:

運(yùn)行中的虛擬機(jī)如何處理外部中斷?

外部中斷如何注入到虛擬機(jī)的中斷控制器中?

虛擬機(jī)的中斷控制器何時(shí)進(jìn)行中斷的計(jì)算與分發(fā)?

回答一:Intel目前的處理方式分為兩種情況考慮:

1)外部中斷分發(fā)到虛擬機(jī)正在運(yùn)行的CPU核,此時(shí)硬件會產(chǎn)生一個(gè)vm_exit事件讓虛擬機(jī)暫停運(yùn)行退出到Hypervisor層進(jìn)行中斷處理;

2)外部中斷分發(fā)到非虛擬機(jī)運(yùn)行的CPU核,此時(shí)由Hypervisor層對該中斷進(jìn)行處理。

回答二:Intel提供了inject_event方式注入中斷,簡單說是將需要馬上處理的虛擬中斷寫入到硬件提供VMX內(nèi)存頁的VMX_ENTRY_INT_INFO_FIELD字段,當(dāng)系統(tǒng)執(zhí)行vm_entry指令返回虛擬機(jī)運(yùn)行模式時(shí)這個(gè)字段會被硬件檢測觸發(fā)中斷動作跳轉(zhuǎn)到虛擬機(jī)的IDT表執(zhí)行中斷處理。

回答三:通過對上述inject_event工作原理的描述,我們可以得出結(jié)論虛擬中斷的計(jì)算與分發(fā)需要在Hypervisor層由軟件來完成。

這樣我們就遇到一個(gè)問題,假如當(dāng)前虛擬機(jī)處于vm_exit狀態(tài),那么可以由軟件完成虛擬中斷的計(jì)算與分發(fā),但是我們考慮一種特殊情況,如果當(dāng)前vm_exit的虛擬機(jī)本身處于關(guān)中斷狀態(tài),那么此時(shí)注入虛擬中斷返回虛擬機(jī)時(shí)硬件必然會響應(yīng)當(dāng)前的中斷,這顯然是錯誤的,因此此時(shí)我們只能暫時(shí)放棄注入虛擬中斷,等到虛擬機(jī)打開中斷使能狀態(tài)才能讓硬件響應(yīng)中斷,那么這該如何做到呢?

Intel提供了一種InterruptWindow機(jī)制來解決這個(gè)問題,該機(jī)制的原理是:配置了InterrruptWindow使能的虛擬機(jī)運(yùn)行階段當(dāng)執(zhí)行STI指令打開中斷使能會觸發(fā)一個(gè)vm_exit事件退出到Hypervisor,這個(gè)退出原因硬件會標(biāo)記為InterruptWindow,Hypervisor層會根據(jù)這個(gè)事件將虛擬中斷控制器計(jì)算準(zhǔn)備分發(fā)的虛擬中斷注入到虛擬機(jī)VMX頁VMX_ENTRY_INT_INFO_FIELD字段最終返回虛擬機(jī)執(zhí)行中斷處理。

通過上面的分析我們對Intel處理器的虛擬中斷處理原理及InterruptWindow機(jī)制也有了一個(gè)大概的了解,下面我們準(zhǔn)備就基于InterruptWindow機(jī)制進(jìn)行一次安全性形式化驗(yàn)證。

我們的目標(biāo)是通過對開源這個(gè)功能模型的形式化模型檢測來驗(yàn)證這部分設(shè)計(jì)是否安全可靠,在做驗(yàn)證之前我們先來簡單了解一下形式化驗(yàn)證的兩個(gè)基本概念。

3.形式化驗(yàn)證概念介紹

我們說軟件安全性主要取決于設(shè)計(jì)階段的模型是否安全、正確,傳統(tǒng)的軟件設(shè)計(jì)主要是基于標(biāo)準(zhǔn)的瀑布模型即:需求分析、系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試幾個(gè)基本環(huán)節(jié)組成。

實(shí)際上整個(gè)開發(fā)過程并沒有針對需求和設(shè)計(jì)的模型推導(dǎo)和驗(yàn)證階段,所謂需求分析、系統(tǒng)設(shè)計(jì)只是針對功能實(shí)現(xiàn)而言的,這時(shí)的系統(tǒng)設(shè)計(jì)還比較粗糙實(shí)際上主要依賴于以往的經(jīng)驗(yàn)和簡單的邏輯分析并沒有做完備的模型正確性推演和驗(yàn)證,因?yàn)榇藭r(shí)也沒有工具和手段在這個(gè)階段進(jìn)行概念級的驗(yàn)證,真正的軟件正確性主要還是依靠設(shè)計(jì)評審和功能測試兩個(gè)階段來保證。

但這兩個(gè)階段還是存在較大程度人為經(jīng)驗(yàn)的因素,包括評審組人員的構(gòu)成、背景、經(jīng)驗(yàn),測試組人員對需求的理解程度、是否有相關(guān)領(lǐng)域的測試背景經(jīng)驗(yàn)都會最終影響設(shè)計(jì)正確性的保證,因此傳統(tǒng)的軟件工程方法是無法從根本上保證軟件設(shè)計(jì)的安全性、正確性,必須有一種客觀性的理論方法來保證在需求分析、概念建模階段就存在一個(gè)可量化、能夠驗(yàn)證的模型才能從根本上解決上述問題。

這種方法在目前業(yè)界叫做形式化方法,形式化方法的核心就是形式化語言,以及基于形式化語言構(gòu)建出來的形式化模型。

對于一些高可靠性系統(tǒng)如:航天器、車載發(fā)動機(jī)、工業(yè)自動化控制器等來說其系統(tǒng)的行為必須是可以預(yù)測的,即某些非法或不可預(yù)測的錯誤行為都是不允許的,而傳統(tǒng)依靠測試和同行評審為主的軟件工程方法無法保證這些系統(tǒng)屬性行為的正確性,所以需要將這些高可靠性系統(tǒng)用語義明確的形式化語言進(jìn)行建模,采用模型檢測、定理證明的方法對系統(tǒng)目標(biāo)屬性進(jìn)行正確性推演和驗(yàn)證。

4.LTL(線性時(shí)態(tài)邏輯)簡介

線性時(shí)態(tài)邏輯是由命題時(shí)態(tài)邏輯(PTL)和一階時(shí)態(tài)邏輯(FOTL)組成,其中PTL、FOTL本質(zhì)上是在命題邏輯、一階邏輯基礎(chǔ)上擴(kuò)展了模態(tài)詞或時(shí)態(tài)算子的模態(tài)邏輯。

線性時(shí)態(tài)邏輯所用到的時(shí)態(tài)算子如下:

□ always算子,□F表示F總是為真或者F永遠(yuǎn)為真。

◇ sometimes算子,◇F表示F最終為真或者F有時(shí)為真。

○ next算子,○F表示F在下一時(shí)刻為真。

? until算子,F(xiàn)1?F2表示F1一直為真直到F2為真。

命題時(shí)態(tài)邏輯公式:簡稱PTL公式,定義如下:

公理1:原子命題(命題常元或者命題變元)是PTL公式。

公理2:如果F1、F2是PTL公式,那么﹁F1(非)、F1∧F2(合取)、F1∨F2(析取)、F1? F2(蘊(yùn)含)、F1?F2(等價(jià))是PTL公式。

公理3:如果F是PTL公式,那么□F、◇F、○F是PTL公式。

公理4:如果F1、F2是PTL公式,那么F1?F2是PTL公式。

公理5:當(dāng)且僅當(dāng)有限次地使用公理1-4所組成的公式是PTL合法公式。

命題時(shí)態(tài)邏輯公式的BNF表示為:

Φ::= P|?Φ|Φ∧Φ|Φ∨Φ|Φ?Φ|Φ?Φ|□Φ|◇Φ|○Φ|Φ?Φ

一階時(shí)態(tài)邏輯公式:簡稱FOTL公式,定義如下:

公理1:原子謂詞公式是FOTL公式。

公理2:如果F1、F2是FOTL公式,那么﹁F1(非)、F1∧F2(合取)、F1∨F2(析取)、F1? F2(蘊(yùn)含)、F1?F2(等價(jià))是FOTL公式。

公理3:如果F是FOTL公式,x是F中出現(xiàn)的變量即個(gè)體變元,則?x.F、?x.F是FOTL公式。

公理4:如果F1、F2是FOTL公式,那么□F1、◇F1、○F1、F1?F2是FOTL公式。

公理5:當(dāng)且僅當(dāng)有限次地使用公理1-4所組成的公式是FOTL合法公式。

一階時(shí)態(tài)邏輯公式的BNF表示為:

Φ::= P|?Φ|Φ∧Φ|Φ∨Φ|Φ?Φ|Φ?Φ|?x.Φ|?x.Φ|□Φ|◇Φ|○Φ|Φ?Φ

PTL公式和FOTL公式統(tǒng)稱為LTL公式。

了解了上述基本概念后下面我們就可以開始進(jìn)行形式化驗(yàn)證模型的設(shè)計(jì)工作。

5.基于LTL的形式化驗(yàn)證模型設(shè)計(jì)

目前我們做InterruptWindow這部分的形式化驗(yàn)證主要是采用經(jīng)典的LTL即線性時(shí)態(tài)邏輯來進(jìn)行,采用線性時(shí)態(tài)邏輯主要有兩方面的考慮:一是線性時(shí)態(tài)邏輯比較適合進(jìn)行算法的過程描述,可以快速由底層代碼的分析抽象生成上層的數(shù)學(xué)驗(yàn)證模型;二是時(shí)態(tài)邏輯屬性比較適合做模型檢測。

下面我們開始通過對ACRN的InterruptWindow代碼分析進(jìn)行LTL形式化模型抽象,InterruptWindow的處理模型由以下幾個(gè)部分組成:

1)虛擬機(jī)運(yùn)行狀態(tài)

2)VM_Exit事件處理

3)外部中斷處理

4)虛擬中斷計(jì)算與分發(fā)

5)InterruptWindow計(jì)算

我們說形式化方法并不是簡單地去模擬一個(gè)CPU軟件運(yùn)行環(huán)境對被測目標(biāo)代碼進(jìn)行運(yùn)行時(shí)檢查,那是軟件測試的思路,形式化驗(yàn)證是指用數(shù)學(xué)方法對被驗(yàn)證的目標(biāo)系統(tǒng)包括軟硬件運(yùn)行環(huán)境、代碼功能進(jìn)行抽象建模,通過數(shù)學(xué)層面的定理推導(dǎo)或模型計(jì)算完成預(yù)期目標(biāo)正確性、可靠性的驗(yàn)證,因此形式化方法是無所不能的,只要你能夠把被驗(yàn)證的目標(biāo)系統(tǒng)用數(shù)學(xué)模型表達(dá)出來,那么剩下的事情都可以利用數(shù)學(xué)領(lǐng)域的知識來加以解決。

好了,通過上面的分析我們進(jìn)一步了解了形式化方法的基本思想,現(xiàn)在我們使用形式化思想對上述InterruptWindow機(jī)制涉及到幾個(gè)關(guān)鍵部件進(jìn)行建模:

構(gòu)建虛擬機(jī)運(yùn)行狀態(tài)模型

這個(gè)模型的抽象我們需要抓住核心要素剖析虛擬機(jī)運(yùn)行狀態(tài)下哪些是對模型驗(yàn)證起到核心作用的元素,實(shí)際上虛擬機(jī)在運(yùn)行階段無非就是完成三個(gè)關(guān)鍵動作,一是響應(yīng)外部中斷;二是虛擬中斷執(zhí)行;三是InterruptWindow檢測與處理,因此我們只需要在模型里面表達(dá)出這三個(gè)核心要素即可完成目標(biāo),在LTL邏輯里面我們使用一個(gè)外部中斷集合來表達(dá)外部中斷在虛擬機(jī)運(yùn)行階段的響應(yīng)動作,使用虛擬中斷集合來表達(dá)虛擬中斷控制器,那么虛擬機(jī)運(yùn)行狀態(tài)數(shù)學(xué)模型表示如下:

解釋一下,這個(gè)模型每次執(zhí)行vm_run狀態(tài)都會觸發(fā)external_interrupts的一次中斷,在數(shù)學(xué)上我們表示為如果external_interrupts集合不為空則表明有外部中斷過來,則虛擬機(jī)執(zhí)行vm_exit跳轉(zhuǎn)到下一個(gè)狀態(tài)l2執(zhí)行,當(dāng)external_interrupts集合為空時(shí)表明當(dāng)前沒有外部中斷需要處理,這時(shí)虛擬機(jī)要處理自身的虛擬中斷,如果當(dāng)前vapic集合不為空則從vapic集合里面選取一個(gè)最高優(yōu)先級中斷代表中斷注入執(zhí)行,執(zhí)行完畢后檢測irq_window_enabled時(shí)態(tài)變量是否為TRUE,如果為TRUE則表明InterruptWindow被使能,則需要模擬一個(gè)vm_exit事件跳轉(zhuǎn)到下一個(gè)狀態(tài)l2執(zhí)行,如果當(dāng)前vapic集合為空則表明目前沒有需要處理的虛擬中斷,此時(shí)需要查看pending_intr集合,這個(gè)集合是用來模擬IRR中斷請求寄存器,如果此時(shí)IRR也為空則代表確實(shí)無中斷需要處理則直接跳轉(zhuǎn)到pc=“done”狀態(tài)結(jié)束,如果IRR不為空而vapic集合為空那么說明模型處理一定有問題則跳轉(zhuǎn)回原狀態(tài)死循環(huán),別擔(dān)心這個(gè)死循環(huán)不是真的程序死循環(huán)而是狀態(tài)循環(huán),目的是讓模型檢查器能夠及時(shí)捕捉到BUG所在。

VM_Exit事件處理

這部分功能的代碼邏輯是:如果IRR為空表明沒有虛擬中斷需要注入則irq_window_enabled需要關(guān)閉使能,然后跳轉(zhuǎn)到下一個(gè)狀態(tài)l3繼續(xù)處理,模型如下所示:

外部中斷處理

ACRN針對外部中斷的處理主要是放在softirq軟中斷處理過程執(zhí)行,這部分我們只完成一個(gè)操作那就是從external_interrupts集合里面取出一個(gè)中斷放入pending_intr集合,模擬實(shí)際硬件的動作,執(zhí)行完成后跳轉(zhuǎn)到下一個(gè)狀態(tài)l4,實(shí)現(xiàn)如下:

虛擬中斷計(jì)算與分發(fā)

這部分處理按照代碼設(shè)計(jì)是放在acrn_do_intr_process過程中實(shí)現(xiàn),我們的數(shù)學(xué)抽象是從pending_intr集合中取出一個(gè)中斷然后加入到vapic集合中,完成虛擬中斷的計(jì)算與分發(fā)注入動作,處理完成后繼續(xù)跳轉(zhuǎn)到下一個(gè)狀態(tài)l5,實(shí)現(xiàn)如下:

InterruptWindow計(jì)算

這部分直接按照ACRN的代碼邏輯照抄即可,邏輯本身并不復(fù)雜就不做過多的解釋了直接看公式模型可以很容易搞懂,這部分邏輯執(zhí)行完畢則跳轉(zhuǎn)到l1即vm_run狀態(tài)模擬vm_entry指令動作進(jìn)入虛擬機(jī)運(yùn)行態(tài),模型如下:

6.LTL并發(fā)處理模型構(gòu)建

ACRN的InterruptWindow代碼是可被多個(gè)VCPU線程重入的并發(fā)處理模型,因此需要針對該代碼模型進(jìn)行死鎖或異常運(yùn)行檢查,這是確保安全性的關(guān)鍵要素之一,那么需要我們首先基于上述處理模型的推導(dǎo)進(jìn)一步構(gòu)造出并發(fā)處理模型的數(shù)學(xué)描述,LTL是將并發(fā)模型表示為時(shí)序狀態(tài)的不確定性組合,因此我們可以使用時(shí)態(tài)邏輯狀態(tài)機(jī)模型來表達(dá)這種不確定性組合,這也是上述不同時(shí)序狀態(tài)對應(yīng)的邏輯公式為什么都有一個(gè)self的原因,這個(gè)self是代表著并發(fā)執(zhí)行的不同VCPU線程,為了達(dá)到獨(dú)立并發(fā)執(zhí)行目的我們需要將每個(gè)VCPU線程的vapic、pending_intr、interruptwindow、external_interrupts設(shè)計(jì)成獨(dú)立的時(shí)態(tài)邏輯變量,因此我們可以采取Function+Record的方式,實(shí)現(xiàn)如下所示:

現(xiàn)在我們可以設(shè)計(jì)一個(gè)時(shí)序狀態(tài)機(jī)讓這些時(shí)序狀態(tài)并發(fā)運(yùn)行起來,為了達(dá)到這個(gè)目的我們需要給每個(gè)狀態(tài)賦一個(gè)PC狀態(tài)指針作為狀態(tài)遷移的使能標(biāo)識,由于每個(gè)VCPU線程擁有一個(gè)獨(dú)立的PC狀態(tài)指針,因此PC狀態(tài)指針的設(shè)計(jì)可以采取Function方式,如下:

我們的時(shí)序狀態(tài)機(jī)可以如下設(shè)計(jì):

解釋一下這個(gè)時(shí)序狀態(tài)機(jī)分為四部分:

Init是時(shí)序狀態(tài)初始化

vm是并發(fā)計(jì)算的語義描述

Next是下一個(gè)時(shí)序狀態(tài)計(jì)算,語義是:當(dāng)前VCPU線程集合必定存在一個(gè)VCPU線程可以滿足vm的狀態(tài),并把這個(gè)狀態(tài)作為下一個(gè)時(shí)序狀態(tài)

Spec就是上述時(shí)序狀態(tài)機(jī)運(yùn)行語義模型的規(guī)格化描述

7.安全性驗(yàn)證之程序終止性檢查

InterruptWindow機(jī)制的安全性檢查包括兩部分:第一部分是程序能夠正常終止,這部分檢查是為后續(xù)正確性檢查做準(zhǔn)備工作,因?yàn)椴荒芙K止的程序是不能做正確性驗(yàn)證的,本質(zhì)上InterruptWindow機(jī)制是一個(gè)循環(huán)的處理流程無法正常終止,但是我們可以通過數(shù)學(xué)抽象的手段將我們需要驗(yàn)證的狀態(tài)屬性模擬完畢后讓時(shí)序狀態(tài)機(jī)處于stuttering狀態(tài)即處于終止?fàn)顟B(tài),這樣外部我們可以通過pc狀態(tài)指針pc=“done”來設(shè)計(jì)一個(gè)時(shí)態(tài)屬性進(jìn)行檢查;另一部分是并發(fā)程序終止性檢查可以驗(yàn)證并發(fā)程序是否存在死鎖或異常運(yùn)行狀態(tài),程序終止性檢查時(shí)態(tài)屬性設(shè)計(jì)如下:

現(xiàn)在我們根據(jù)上述的時(shí)態(tài)屬性設(shè)計(jì)開始使用數(shù)學(xué)模型驗(yàn)證工具來進(jìn)行安全性檢查,我們選取TLA+工具來做檢查工作,至于TLA+工具如何使用由于網(wǎng)絡(luò)上介紹性的文章比較多,使用方法本身也非常簡單,不是本文講解的重點(diǎn)就不做過多說明了,大家可以自行上網(wǎng)進(jìn)行學(xué)習(xí),書歸正傳我們現(xiàn)在開始用TLA+的TLC工具進(jìn)行模型驗(yàn)證,配置檢查屬性后的驗(yàn)證結(jié)果表明:1.程序可以正常結(jié)束;2.并發(fā)VCPU線程不存在死鎖和異常運(yùn)行狀態(tài),TLC檢測截圖如下:

8.安全性驗(yàn)證之程序正確性檢查

我們已經(jīng)完成了程序可終止性驗(yàn)證,但是能夠正常終止不發(fā)生死鎖的程序并不代表一定是正確的,即我們需要有一種模型來檢查程序的設(shè)計(jì)是否符合我們的預(yù)期目標(biāo),那么如何做到這一點(diǎn)呢?我們說一般程序設(shè)計(jì)是否符合預(yù)期需要驗(yàn)證兩個(gè)目標(biāo):一是結(jié)果正確性,二是過程正確性。對于InterruptWindow算法模型我們的時(shí)序狀態(tài)最終需要滿足的結(jié)果是:

即任意一個(gè)VCPU的pending_intr和vapic集合都為空。

那么過程正確性是什么呢?我們可以抽象為一個(gè)可歸納性不變式來表達(dá):

即任意一個(gè)VCPU,如果pending_intr集合不為空,當(dāng)前pc狀態(tài)指針為l1,那么InterruptWindow一定使能,說的更通俗些就是如果當(dāng)前VCPU除了當(dāng)前中斷還有其他中斷要處理并且VCPU處于運(yùn)行態(tài),那么必須使能InterruptWindow機(jī)制。這條可歸納性不變式即是InterruptWindow功能的核心模型,你的軟件設(shè)計(jì)正確性與否在于是否滿足這條不變式性質(zhì),根據(jù)上面的設(shè)計(jì)我們使用TLC對正確性屬性和不變式進(jìn)行驗(yàn)證,驗(yàn)證結(jié)果如下圖:

可以看到驗(yàn)證結(jié)果正確,證明了ACRN的InterruptWindow軟件模型設(shè)計(jì)是符合預(yù)期的。

9.推廣建議

這部分代碼是Intel從KVM模塊中繼承過來的,經(jīng)過了千錘百煉可以看到還是比較穩(wěn)定可靠的,實(shí)際上歐美的軟件公司在設(shè)計(jì)階段一般都會有不同程度的模型驗(yàn)證,而不是簡單地上來就開始做設(shè)計(jì)直接寫代碼,這樣做的目的是為了保證后期的設(shè)計(jì)具有扎實(shí)的理論依據(jù)和可靠性基礎(chǔ),Intel的Hypervisor設(shè)計(jì)據(jù)了解也是做了局部模型驗(yàn)證的,沒有形式化建模分析單純依靠業(yè)務(wù)和編碼經(jīng)驗(yàn)是很難設(shè)計(jì)出真正可靠的軟件產(chǎn)品的,而且基于形式化模型的設(shè)計(jì)開發(fā)效率要比普通軟件開發(fā)方法效率高出不止一個(gè)數(shù)量級,因此形式化方法對我司的軟件產(chǎn)品質(zhì)量提升具有非常重要的意義,在物聯(lián)網(wǎng)操作系統(tǒng)、車載操作系統(tǒng)、高可靠性通信設(shè)備軟件包括光傳輸、路由器、交換機(jī)核心業(yè)務(wù)模型、協(xié)議模型、5G通訊協(xié)議安全性驗(yàn)證領(lǐng)域比較適合采取形式化驗(yàn)證方法來保證軟件模型的正確性、可靠性。

聲明:本文內(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)注

    61

    文章

    10019

    瀏覽量

    172450
  • 嵌入式
    +關(guān)注

    關(guān)注

    5096

    文章

    19194

    瀏覽量

    308131
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2914

    文章

    44998

    瀏覽量

    377661

原文標(biāo)題:重磅推薦|ACRN 之InterruptWindow功能正確性形式化驗(yàn)證

文章出處:【微信號:ZTEdeveloper,微信公眾號:中興開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    芯片開發(fā)中形式化驗(yàn)證的是一個(gè)誤區(qū)

    今天的形式驗(yàn)證工具具有更大的容量,并且許多工具能夠在服務(wù)器或云上以分布式模式運(yùn)行。形式驗(yàn)證的技術(shù)和方法也得到了擴(kuò)展。
    的頭像 發(fā)表于 11-29 14:31 ?2022次閱讀

    形式化方法的工程化

    形式化工程方法,是以軟件形式化方法理論為基礎(chǔ),以系統(tǒng)化的工程方法引導(dǎo)工業(yè)界工程人員構(gòu)建高質(zhì)量的軟件模型,用以引導(dǎo)后續(xù)的代碼編寫和相關(guān)測試分析。并選取了工業(yè)實(shí)際場景中的某操作系統(tǒng)的調(diào)度系統(tǒng)的形式化驗(yàn)證
    的頭像 發(fā)表于 03-24 11:01 ?1542次閱讀
    <b class='flag-5'>形式化</b>方法的工程化

    EDA形式化驗(yàn)證漫談:仿真之外,驗(yàn)證之內(nèi)

    “在未來五年內(nèi)仿真將逐漸被淘汰,僅用于子系統(tǒng)和系統(tǒng)級驗(yàn)證。與此同時(shí),形式化驗(yàn)證方法已經(jīng)開始處理一些系統(tǒng)級任務(wù)。隨著技術(shù)發(fā)展,更多Formal相關(guān)的商業(yè)標(biāo)準(zhǔn)化會推出。” Intel?fellow
    的頭像 發(fā)表于 09-01 09:10 ?1512次閱讀

    ACRN InterruptWindow功能正確性形式化驗(yàn)證

    重磅推薦|ACRN InterruptWindow功能正確性形式化驗(yàn)證
    發(fā)表于 06-18 16:04

    化驗(yàn)證和封裝形式有關(guān)系嗎?

    無關(guān),任何形式的封裝,皆需要做老化實(shí)驗(yàn)。蘇試宜特提供客戶量身訂制全方位的一站式服務(wù), 從老化驗(yàn)證的硬件設(shè)計(jì)/制造到樣品調(diào)試/實(shí)驗(yàn)/報(bào)告, 蘇試宜特都可以協(xié)助客戶完成。
    發(fā)表于 09-13 09:46

    操作系統(tǒng)匯編級形式化設(shè)計(jì)和驗(yàn)證方法

    由于系統(tǒng)的巨大規(guī)模,操作系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的正確性很難用傳統(tǒng)的方法進(jìn)行描述和驗(yàn)證.在匯編層形式化地對系統(tǒng)模塊的功能語義進(jìn)行建模,提出一種匯編級的系統(tǒng)狀態(tài)模型,作為匯編語言層設(shè)計(jì)和
    發(fā)表于 01-05 14:45 ?1次下載
    操作系統(tǒng)匯編級<b class='flag-5'>形式化</b>設(shè)計(jì)和<b class='flag-5'>驗(yàn)證</b>方法

    VaaS平臺已支持區(qū)塊鏈平臺智能合約的形式化驗(yàn)證

    VaaS形式化驗(yàn)證平臺,采用了多種形式化驗(yàn)證方法,具有驗(yàn)證效率高、自動化程度高、人工參與度低、易于使用、支持多個(gè)合約開發(fā)語言、可支持大容量區(qū)塊鏈底層平臺的形式化驗(yàn)證等優(yōu)點(diǎn)。
    發(fā)表于 12-14 10:18 ?1120次閱讀

    閃電網(wǎng)絡(luò)通過形式化驗(yàn)證結(jié)果表明和比特幣一樣安全

    of the Lightning Network” 的論文認(rèn)為,如今閃電網(wǎng)絡(luò)已經(jīng)被用于保護(hù)至少 8500 萬美元的真實(shí)資金,但其代碼規(guī)范缺乏形式化驗(yàn)證是一件 “極其嚴(yán)重的事”。
    發(fā)表于 09-24 10:29 ?714次閱讀

    安全測試離線免費(fèi)版自動形式化驗(yàn)證工具Beosin—VaaS

    近期,筆者注意到一款智能合約自動形式化驗(yàn)證工具BeosinVaaS推出了離線免費(fèi)版。所謂離線免費(fèi)版,相較于之前該公司推出的在線免費(fèi)版、企業(yè)版而言,亮點(diǎn)自然不言而喻。對于開發(fā)者來說,離線版的驗(yàn)證工具將
    發(fā)表于 11-23 00:06 ?775次閱讀

    基于定理證明其的有限域及其形式化研究

    方法只能在η固定的特定有限域上進(jìn)行驗(yàn)證,而且計(jì)算量往往超出計(jì)算機(jī)的能力。基于交互式定理證眀器的形式化驗(yàn)證為有限域性質(zhì)的通用驗(yàn)提供了可能,但這方面的工作難度較大。已有研究主要針對有服域的抽象性質(zhì)進(jìn)行
    發(fā)表于 04-25 11:41 ?1次下載
    基于定理證明其的有限域及其<b class='flag-5'>形式化</b>研究

    上海控安iVerifier計(jì)算機(jī)聯(lián)鎖系統(tǒng)驗(yàn)證工具概述

    傳統(tǒng)的聯(lián)鎖系統(tǒng)開發(fā)、設(shè)計(jì)和測試,只能從功能上保證其邏輯的正確性,而無法保證其安全需求完全得到滿足。SmartRocket iVerifier作為上海控安擁有自主專利技術(shù)的計(jì)算機(jī)聯(lián)鎖系統(tǒng)形式化驗(yàn)證工具
    的頭像 發(fā)表于 08-09 16:37 ?1526次閱讀
    上海控安iVerifier計(jì)算機(jī)聯(lián)鎖系統(tǒng)<b class='flag-5'>驗(yàn)證</b>工具概述

    通過靜態(tài)時(shí)序分析驗(yàn)證設(shè)計(jì)的正確性

      傳統(tǒng)的電路設(shè)計(jì)分析方法是僅僅采用動態(tài)仿真的方法來驗(yàn)證設(shè)計(jì)的正確性。隨著集成電路的發(fā)展,這一驗(yàn)證方法就成為了大規(guī)模復(fù)雜的設(shè)計(jì)驗(yàn)證時(shí)的瓶頸。
    的頭像 發(fā)表于 11-28 15:26 ?1055次閱讀

    形式化方法基本原理初探

    形式化方法是基于嚴(yán)格的數(shù)學(xué)基礎(chǔ),通過采用數(shù)學(xué)邏輯證明來對計(jì)算機(jī)軟硬件系統(tǒng)進(jìn)行建模、規(guī)約、分析、推理和驗(yàn)證,是用于保證計(jì)算機(jī)軟硬件系統(tǒng)正確性以及安全的一種重要方法。
    的頭像 發(fā)表于 01-30 16:42 ?1298次閱讀
    <b class='flag-5'>形式化</b>方法基本原理初探

    從小眾走向普及,形式化驗(yàn)證對系統(tǒng)級芯片開發(fā)有多重要?

    形式化驗(yàn)證作為一種全新的驗(yàn)證方法,近年來在芯片開發(fā)中快速發(fā)展,正逐漸取代傳統(tǒng)的仿真方法。 雖然仿真在系統(tǒng)級驗(yàn)證方面仍然發(fā)揮著重要的作用,但對于單元級的signoff而言,形式化驗(yàn)證已經(jīng)
    的頭像 發(fā)表于 04-21 19:35 ?715次閱讀
    從小眾走向普及,<b class='flag-5'>形式化驗(yàn)證</b>對系統(tǒng)級芯片開發(fā)有多重要?

    基于形式驗(yàn)證的高效RISC-V處理器驗(yàn)證方法

    隨著RISC-V處理器的快速發(fā)展,如何保證其正確性成為了一個(gè)重要的問題。傳統(tǒng)的測試方法只能覆蓋一部分錯誤情況,而且無法完全保證處理器的正確性。因此,基于形式驗(yàn)證的方法成為了一個(gè)非常有前
    的頭像 發(fā)表于 06-02 10:35 ?1459次閱讀
    主站蜘蛛池模板: 国产理论视频在线观看 | 亚洲成人网在线播放 | 91久久人澡人人添人人爽 | 亚洲午夜视频在线观看 | 色偷偷亚洲男人 | 四虎最新免费网址 | 午夜传媒 | 国语自产自拍秒拍在线视频 | 久久精品男人影院 | 国产一级特黄aa大片在线 | 天天干视频在线 | 欧美一级别 | 欧美成人午夜不卡在线视频 | 婷婷综合久久 | 成人免费精品视频 | 午夜精品aaa国产福利 | 最近2018中文字幕免费看在线 | 日本怡红 | 国产色婷婷精品综合在线观看 | 国产成人夜间影院在线观看 | 人操人操 | 天堂在线最新版www中文 | 美女视频黄a视频免费全过程 | 欧美艹逼视频 | 女攻各种play男受h | 人人插人人射 | 黑人影院| 四虎影视永久在线观看 | 国产精品午夜久久 | 性欧美bbbbbb | 久久久久久久国产精品电影 | 四虎国产 | 九月婷婷亚洲综合在线 | 亚洲国产成人精彩精品 | 日本欧美一区二区三区视频 | 天堂网在线www资源在线 | 天天操天天射天天色 | 国产免费一区二区三区最新 | 欧美天天色 | 色吊丝中文字幕 | 黄在线网站 |