999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

民用飛機A級別機載軟件項目源代碼到目標代碼追溯性分析研究

2016-09-29 10:51:11
科技視界 2016年20期

童岳威 劉建方

【摘 要】機載軟件在某些特定情況下應該分析源代碼和目標代碼之間的對應關系,RTCA/DO-178B第6.4.4.2節指出:機載軟件結構覆蓋率分析可以在源代碼層級進行,如果軟件為A級別并且編譯過程中生成了無法追溯到源代碼的目標代碼,則應該在目標代碼層級完成額外的驗證工作以保證這些目標代碼的正確性。因此,對于A級別軟件,如果編譯器生成了無法追溯到源代碼的目標代碼,那么除了完成源代碼層級結構覆蓋率分析,還應該完成源代碼和目標代碼之間的追溯性分析,并對不能追溯到源代碼的目標代碼進行額外的驗證。本文研究了源代碼到目標代碼的追溯性分析方法。

【關鍵詞】機載軟件;源代碼;目標代碼;追溯性分析;結構覆蓋率

0 引言

隨著電子計算機技術快速地發展,機載軟件在民用飛機上的使用越來越廣泛,并且扮演著日益關鍵的角色。許多高安全關鍵性的機載系統都由機載軟件實現主要的控制、監控和維護功能,并且通過系統初步安全性分析過程為這些機載軟件分配相應的IDAL等級。對于IDAL級別為A、B和C級的機載軟件,RTCA/DO-178B要求除了滿足基于需求的測試覆蓋率分析外,還需要完成結構覆蓋率分析,結構覆蓋率分析用于確定基于需求的測試未覆蓋到的代碼結構,結構覆蓋率分析目的的詳細信息可參考RTCA/DO-248B FAQ#43。

RTCA/DO-178B并沒有限制在源代碼層級或者目標代碼層級來完成機載軟件結構覆蓋率分析工作,但在第6.4.4.2節指出:機載軟件結構覆蓋率分析可以在源代碼層級進行,如果軟件為A級別并且編譯過程中生成了無法追溯到源代碼的目標代碼,則應該在目標代碼層級完成額外的驗證工作以保證這些目標代碼的正確性。

機載軟件在編譯過程中會生成額外的目標代碼,比如初始化目標代碼、內置錯誤探測目標代碼、異常處理目標代碼等等。因此,對于A級別軟件,如果在源代碼層級完成結構覆蓋率分析,還應該分析源代碼和目標代碼之間的追溯性,并對不能追溯到源代碼的目標代碼進行額外的驗證。

本文通過分析機載軟件編譯過程以及目標代碼生成的影響因素研究了源代碼到目標代碼的追溯性分析方法。

1 機載軟件編譯過程

機載軟件通常采用“高級語言”編寫,如Ada、C、C++等編程語言,編譯器將“高級語言”源代碼翻譯成“低級語言”匯編代碼的過程稱為“編譯過程”。典型的編譯過程如圖1所示,包括詞法分析、語法分析、語義分析、中間代碼生成、代碼優化和目標代碼生成等過程。

1)詞法分析:對輸入的源程序字符串進行掃描和分解,從而識別出一個個符號,并轉化成機器比較容易使用的內碼形式;

2)語法分析:在詞法分析的基礎上將符號序列分解成各類語法短語,如程序、語句、表達式等;

3)語義分析:語義分析檢查源程序有無語義錯誤,為代碼生成階段收集類型信息;

4)中間代碼生成:在語法分析和語義分析后,將源程序翻譯成中間代碼。一般而言,中間代碼是獨立于具體硬件的記號系統,在某種程度上解決計算機的指令形式,或者比較容易轉化為計算機的機器指令;

5)代碼優化:代碼優化過程是對前階段產生的中間代碼進行變換或改造,目的是使生成的目標代碼更為高效,即節省時間和空間,代碼優化遵循等價變換規則;

6)目標代碼生成:目標代碼生成過程是把中間代碼編譯成特定機器上的絕對指令代碼或可重定位的指令代碼或匯編代碼,這個階段的工作涉及到硬件系統功能部件的實現、機器指令的選擇、各種數據類型變量的存儲空間分配以及寄存器和后援寄存器的調度。

在大多數情況下機載軟件是運行在嵌入式平臺上的。由于性能和資源的限制,嵌入式軟件大多數在PC等上位機環境中開發,然后加載到嵌入式目標計算中運行。這種情況下,就要用到交叉編譯。簡單而言,交叉編譯就是在一種環境中編譯生成能夠在另一種環境中運行的目標代碼。

因為編譯生成的目標代碼與硬件環境是緊密相關的,因此將相同的源代碼編譯為在不同處理器上運行的目標代碼時,需要分別對這些目標代碼進行追溯性分析。

2 目標代碼生成的影響因素

在將源代碼編譯成目標代碼的過程中,應該考慮影響最終生成目標代碼的因素,這些因素會影響到源代碼和目標代碼之間追溯性,包括以下幾點:

1)目標處理器:同一系列的新處理器通常使用向上兼容的指令集,但是不同系列或者不同廠商的處理器可能采用不同的指令集。由于目標代碼與運行的處理器緊密相關,所以將相同源代碼經過編譯在不同處理器上運行,可能生成不同的目標代碼;

2)編譯器選項:對于編譯器進行不同的選項設置,可能影響編譯的執行過程,進而影響最終生成的目標代碼;

3)代碼優化層次:代碼優化能夠提高目標代碼的執行效率,但是深層次的優化會對源代碼進行重構,從而使源代碼和目標代碼的追溯關系難以確定;

4)編程語言特征:有些編程語言的特性導致部分目標代碼很難發現,例如寄存器使用優化,循環展開優化,C++中多態特性使用等等。

可以看出,影響最終目標代碼生成的影響因素有許多,常見的不能追溯到源代碼的目標代碼包括:初始化代碼,內置錯誤探測,異常處理,數組邊界檢查等等。

3 源代碼和目標代碼追溯性分析方法

根據RTCA/DO-178B的要求,如果A級別軟件在源代碼層級完成結構覆蓋率分析,而且編譯器生成了無法直接追溯到源代碼的目標代碼,那么應該對這些目標代碼進行額外的驗證。因此,為了識別出不能追溯到源代碼的目標代碼,應該對源代碼和目標代碼之間進行追溯性分析。通常而言,源代碼和目標代碼的追溯分析可以采用以下幾種方法:

1)全面目標代碼分析:對于規模相對較小的機載軟件,可以將源代碼編譯為匯編目標代碼,然后通過人工分析的方法來識別出哪些目標代碼不是運行源代碼所必須的,并對追溯不到源代碼的目標代碼進行額外的驗證以確保其正確性。

2)對源代碼結構最小子集進行分析:該方法的主要思路是按照軟件編碼標準的約束編寫樣例代碼,然后進行編譯,并通過人工分析的方法來分析樣例代碼的目標代碼和源代碼的追溯關系。在實際軟件研制過程中,應該嚴格遵循軟件編碼標準,并通過源代碼結構最小子集到目標代碼追溯性分析來滿足機載軟件源代碼到目標代碼的追溯性要求。相對于全面代碼分析而言,源代碼結構最小子集分析方法的追溯性分析工作量大大減少,而且分析報告可以在多個機載軟件項目上重復使用。源代碼結構最小子集分析方法如圖2所示。

圖2 源代碼結構最小子集分析法

具體過程如下:

(1)編制機載軟件編碼標準,對軟件編碼所使用的編程語言、規則、復雜度等進行約束和限制;

(2)按照機載軟件編碼標準中的約束和限制提取軟件源代碼結構最小子集,源代碼結構是編程語言最基本的組成部分,如加減法等函數結構、循環/比較等邏輯結構等等;

(3)將機載軟件項目源代碼和源代碼結構最小子集進行比較,判定源代碼結構最小子集是否覆蓋了機載軟件項目所有源代碼結構;

(4)按照源代碼結構最小子集編寫樣例代碼;

(5)在與實際機載軟件項目相同的編譯環境下使用相同的編譯器、設置相同的編譯器選項編譯樣例代碼,并生成目標代碼;

(6)對樣例源代碼和樣例目標代碼做追溯性分析;

(7)生成追溯性分析報告,識別出不能追溯到樣例源代碼的樣例目標代碼。

3)基于目標代碼的結構覆蓋分析:在目標代碼層級進行結構覆蓋分析的情況下,RTCA/DO-178B不再要求進行源代碼到目標代碼的追溯性分析。但是,采用該方法時,需要在目標代碼層級滿足RTCA/DO-178B對A級別軟件結構覆蓋率要求,包括語句覆蓋、決策覆蓋、MC/DC覆蓋和數據耦合/控制耦合覆蓋。

源代碼和目標代碼追溯性分析可以用于識別出哪些目標代碼不能追溯到源代碼,但不能用來表明這些額外的目標代碼的正確性。對于這些額外的目標代碼,應該通過驗證來確認它們正確地運行并且不會對機載軟件引入異常行為。RTCA/DO-178B中定義了驗證方法可以是評審、分析和測試,因此第6.4.4.2節中對不能追溯到源代碼的目標代碼的驗證并不等同于額外的目標代碼應滿足A級別機載軟件結構覆蓋率分析的要求。

4 總結

本文分析了機載軟件編譯過程及生成目標代碼的影響因素,并研究了民用飛機A級別機載軟件項目源代碼到目標代碼追溯性分析方法。隨著機載軟件在民用飛機高安全性系統上的使用越來越廣泛,A級別機載軟件廣泛分布于現代民用飛機飛控、剎車、起落架、顯示等系統中,為了滿足RTCA/DO-178B第6.4.4.2節對于A級別機載軟件結構覆蓋率的要求,需要對機載軟件源代碼到目標代碼追溯性進行研究。

【參考文獻】

[1]RTCA. DO-178B Software considerations in airborne systems and equipment certification[J]. Washington DC, 1992.

[2]RTCA. DO-248B Final report for clarification of DO-178B software considerations in airborne systems and equipment certification[J]. Washington DC, 2001.

主站蜘蛛池模板: 国产99精品久久| 无码中文字幕加勒比高清| 免费福利视频网站| 麻豆精品在线播放| 国产小视频a在线观看| 在线视频一区二区三区不卡| 日本欧美中文字幕精品亚洲| 国产专区综合另类日韩一区| www.国产福利| 制服丝袜国产精品| 国产精品污视频| a毛片在线| 亚洲最猛黑人xxxx黑人猛交 | 午夜精品区| 国产精品冒白浆免费视频| 91在线国内在线播放老师| 欧洲精品视频在线观看| 91网在线| 激情五月婷婷综合网| 婷婷亚洲综合五月天在线| 国产精品视频观看裸模| 国产第一页亚洲| 秋霞午夜国产精品成人片| 9丨情侣偷在线精品国产| 日本www在线视频| 91九色国产在线| 国产成人区在线观看视频| 日韩无码视频专区| 国产在线高清一级毛片| 亚洲一区二区三区国产精品| 国产精品三级专区| 1级黄色毛片| 情侣午夜国产在线一区无码| 日本三区视频| 亚洲丝袜第一页| 99尹人香蕉国产免费天天拍| 91精品国产91久久久久久三级| 在线中文字幕网| 免费看黄片一区二区三区| 综合亚洲色图| 亚洲欧洲综合| 亚洲欧美日韩中文字幕在线一区| 久久天天躁夜夜躁狠狠| 91丨九色丨首页在线播放 | 日韩成人在线视频| 九色免费视频| 国产精品精品视频| 亚洲日韩精品无码专区97| 好吊色妇女免费视频免费| 久热精品免费| 精品一区二区三区无码视频无码| 亚洲丝袜中文字幕| a在线亚洲男人的天堂试看| 91久久偷偷做嫩草影院免费看| 精品视频一区二区观看| 国产噜噜噜视频在线观看| 国产丰满成熟女性性满足视频| 国产成人无码Av在线播放无广告| 国产va免费精品观看| 午夜日b视频| 亚洲成人一区二区三区| 成人一区在线| 噜噜噜综合亚洲| 日韩欧美中文字幕在线韩免费| 成人在线天堂| 亚洲日韩高清无码| 国产精品思思热在线| 2020国产免费久久精品99| 人妻无码中文字幕一区二区三区| 国产精品美女自慰喷水| 狠狠亚洲婷婷综合色香| 精品亚洲国产成人AV| 女人18毛片一级毛片在线 | 久久青草精品一区二区三区| 成年人国产视频| 日韩不卡高清视频| 国产美女91呻吟求| 91精品人妻互换| 免费毛片视频| a级高清毛片| 国产福利免费视频| 国产一级片网址|