[發明專利]用于微控制器程序的代碼覆蓋范圍跟蹤在審
| 申請號: | 201880014801.X | 申請日: | 2018-04-27 |
| 公開(公告)號: | CN110419031A | 公開(公告)日: | 2019-11-05 |
| 發明(設計)人: | J·澤維奇;J·麥金尼斯 | 申請(專利權)人: | 微芯片技術股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 上海專利商標事務所有限公司 31100 | 代理人: | 蔡悅;陳斌 |
| 地址: | 美國亞*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序代碼 檢測點 微控制器 記錄信息 基本塊 存儲器設備 代碼覆蓋 跟蹤指令 存儲 測試工具 存儲檢測 邏輯關系 使用測試 編譯器 處理器 子集 集合 指令 跟蹤 檢測 配置 | ||
一種微控制器,該微控制器可包括處理器和至少一個存儲器設備,該至少一個存儲器設備通過以下方式:基于程序代碼中的基本塊(指令)之間的邏輯關系來存儲(a)限定多個支配弧的程序的程序代碼;和(b)存儲檢測點的集合,該檢測點由程序代碼基本塊的子集組成,該程序代碼基本塊與多個支配弧對應,每個檢測點均位于相應支配弧中。代碼覆蓋范圍實現程序(例如,IDE或編譯器)可被配置為利用一個或多個執行跟蹤指令檢測程序代碼中的每個檢測點,以存儲或生成執行記錄信息??墒褂脺y試工具來在微控制器上執行程序,其中程序代碼中的每個相應檢測點的執行致使相應執行跟蹤指令存儲或生成執行記錄信息,該執行記錄信息指示與該檢測點對應的支配弧已被測試工具執行。
相關專利申請
本申請要求于2017年5月2日提交的共同擁有的美國臨時專利申請號62/500,144的優先權,該申請出于所有目的據此以引用方式并入本文。
技術領域
本公開涉及微控制器,并且更具體地涉及用于例如通過測試套件對微控制器程序的執行進行代碼覆蓋范圍跟蹤的系統和方法。
背景技術
通常對設計用于在微控制器上執行的軟件程序進行驗證,以確保微控制器在執行程序的同時正常工作??梢葬槍Α皽y試用例”或若干測試用例的測試“套件”進行驗證。測試用例是通常在模擬微控制器上的執行的測試環境(與生產環境相反)中的程序的腳本化自動使用,以驗證程序對特定任務的性能。測試套件是一批測試用例,該批測試用例一起測試正在驗證的所有程序的功能。
可請求或需要程序開發者示出其產品測試套件“覆蓋”(即,執行驗證測試于)項目中的特定百分比的可執行代碼;該百分比常常為100%。驗證可執行代碼需要經由系統的組裝指令分析系統的行為。微控制器內的嵌入式系統可包括數千個或甚至數百萬個組裝指令。
確定代碼覆蓋范圍的早期歷史方法是跟蹤代碼選擇的每個指令執行,并對已執行的指令進行制表。該方法通常需要具有足夠的計算能力和數據存儲的模擬器和硬件仿真器來跟蹤每個指令執行,其中可存在數百萬個指令執行。
該技術的現代擴展可在配備有“指令跟蹤”機構的(通常更大)微控制器上獲得。該機構通常需要昂貴的高速硬件,以通過外部程序(通常為IDE)捕獲跟蹤流和大量處理時間來存儲、然后檢索和分析很容易是許多吉字節(或更多)的跟蹤數據,這可能既昂貴又耗時。此外,當源代碼以高級語言(如C)而非匯編語言編寫時,指令與“高級語言語句”的相關性是脆弱的。雖然指令與語句之間常常存在相關性,但其并不總是很容易確定,并且在運行之間很少進行固定。例如,如果編譯器優化設置已改變,則指令流可能顯著不同,因此任何關聯必須是動態的并且必須認識到可執行圖像構建和執行環境中的許多改變。這種方法的有益效果在于在非常精細的粒度下是準確的,但對于大的代碼體或長的所涉及的測試運行,它是極其低效的。
隨后的方法也來源于在高級語言的開發中所體現的理論。此方法需要利用經由串行通信端口傳輸文本消息的代碼來檢測分支點(稱為“基本塊”)。“基本塊”的概念源自具有單個入口點的一組連續的機器指令。基本塊的邊界由編譯器容易地確定,但難以根據生成的代碼來精確地確定。這導致上文所討論的方法的改進。通過確定已執行基本塊,系統知道基本塊中的每個語句都已執行。這導致要跟蹤的事件的最佳案例數量減少。遺憾的是,非次要程序通常包含大量(例如,數百個)基本塊,這些基本塊可能需要大量或不可用量的資源(例如,存儲器)來制表它們的執行。因此,該方法的實際示例利用對已被執行的基本塊的識別的大量且耗時的通信來檢測源代碼。在一些微控制器上,這可以采取對例程的調用的形式,該例程通過可用通信信道(常常為UART)輸出基本塊標識以及可行的“包絡”。該方法具有三個顯著缺點:1)檢測代碼可顯著地影響待測代碼的定時特性和性能,2)檢測代碼相當大并且可僅需要在每次測試運行中檢測應用程序的一部分,這對收集關于代碼覆蓋范圍的數據所需的總時間具有倍増效應,并且3)在部分運行期間收集數據引入了在運行期間不精確相同的環境因素和其他測試因素的不需要的效果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微芯片技術股份有限公司,未經微芯片技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201880014801.X/2.html,轉載請聲明來源鉆瓜專利網。





