国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

航天嵌入式軟件缺陷的分類(lèi)方法

2012-09-05 10:35:54董曉剛楊孟飛
關(guān)鍵詞:軟件缺陷嵌入式軟件航天

董曉剛,楊孟飛

(1.北京控制工程研究所,北京100190;2.中國(guó)空間技術(shù)研究院,北京100094)

航天嵌入式軟件缺陷的分類(lèi)方法

董曉剛1,楊孟飛2

(1.北京控制工程研究所,北京100190;2.中國(guó)空間技術(shù)研究院,北京100094)

軟件缺陷分類(lèi)是軟件缺陷管理的基礎(chǔ).介紹了軟件缺陷的概念,對(duì)幾種軟件缺陷分類(lèi)方法進(jìn)行了分析和比較.結(jié)合航天嵌入式軟件研制流程和缺陷類(lèi)型分析,提出了一種航天器嵌入式軟件缺陷的分類(lèi)方法,對(duì)于缺陷類(lèi)型和實(shí)現(xiàn)與編碼錯(cuò)誤子類(lèi)型給出了詳細(xì)的分類(lèi)方法.

軟件缺陷;航天嵌入式軟件;缺陷分類(lèi)

軟件缺陷(software defect)的一般定義指軟件中存在的未滿足與用戶期望或者規(guī)定用途有關(guān)的要求[1].軟件缺陷是軟件本身存在的一種固有狀態(tài),不同的軟件開(kāi)發(fā)階段可能引入各種類(lèi)型的軟件缺陷,在軟件運(yùn)行中遇到有缺陷的軟件代碼被執(zhí)行,軟件運(yùn)行就會(huì)表現(xiàn)出和預(yù)期不一致的執(zhí)行效果,導(dǎo)致系統(tǒng)或系統(tǒng)功能無(wú)法滿足任務(wù)要求.軟件缺陷是軟件故障和失效的源頭,不同的軟件缺陷會(huì)產(chǎn)生不同的后果,對(duì)于航天嵌入式軟件,如果不能在測(cè)試階段充分發(fā)現(xiàn)和暴露軟件中的缺陷,一旦軟件交付在軌運(yùn)行,可能導(dǎo)致嚴(yán)重的后果.

研究軟件缺陷的分類(lèi)方法,特別是航天嵌入式軟件的缺陷分類(lèi)方法,是為了形成一套對(duì)軟件缺陷的引入、發(fā)現(xiàn)、定位、危害和根源進(jìn)行分析的有效方法,之后在軟件缺陷管理中有針對(duì)性的對(duì)問(wèn)題最多、危害最大的幾類(lèi)缺陷進(jìn)行增強(qiáng)的測(cè)試,或者研究開(kāi)發(fā)專(zhuān)項(xiàng)分析工具,力爭(zhēng)盡早和盡量完整的發(fā)現(xiàn)缺陷并修復(fù)缺陷.

1 一般的軟件缺陷分類(lèi)方法

軟件缺陷的分類(lèi)方法有很多,各種分類(lèi)方法的目的不同,觀察問(wèn)題的角度和復(fù)雜程度也不一樣,幾個(gè)有代表性的軟件分類(lèi)方法如下.

1.1 Putnam分類(lèi)法

Putnam和Myers將軟件缺陷分為6類(lèi):需求缺陷、設(shè)計(jì)缺陷、算法缺陷、界面缺陷、性能缺陷和文檔缺陷[2].同時(shí),還對(duì)軟件的缺陷嚴(yán)重等級(jí)做出了劃分,根據(jù)缺陷造成的后果和所需采取的行動(dòng),分為重大的、嚴(yán)重的、中等的和表面的4個(gè)等級(jí).該分類(lèi)法主要覆蓋軟件研制的需求分析、軟件設(shè)計(jì)和軟件實(shí)現(xiàn)3個(gè)階段,類(lèi)型比較簡(jiǎn)單,對(duì)目前軟件缺陷的分析和排除作用有限.

1.2 Thayer分類(lèi)法

Thayer[3]分類(lèi)法按照錯(cuò)誤性質(zhì)分類(lèi),它利用測(cè)試人員在軟件測(cè)試過(guò)程填寫(xiě)的問(wèn)題報(bào)告和用戶使用軟件過(guò)程反饋的問(wèn)題報(bào)告作為錯(cuò)誤分類(lèi)的信息.它包括16個(gè)大類(lèi),分別是:計(jì)算錯(cuò)誤、邏輯錯(cuò)誤、I/O錯(cuò)誤、數(shù)據(jù)加工錯(cuò)誤、操作系統(tǒng)和支持軟件錯(cuò)誤、配置錯(cuò)誤、接口錯(cuò)誤、用戶需求改變、預(yù)制數(shù)據(jù)庫(kù)錯(cuò)誤、全局變量錯(cuò)誤、重復(fù)的錯(cuò)誤、文檔錯(cuò)誤、需求實(shí)現(xiàn)錯(cuò)誤、不明性質(zhì)錯(cuò)誤、人員操作錯(cuò)誤、問(wèn)題.

Thayer分類(lèi)法主要用于軟件測(cè)試過(guò)程中的問(wèn)題報(bào)告,主要是指示開(kāi)發(fā)人員的缺陷定位和消除工作,沒(méi)有考慮到軟件整個(gè)研制過(guò)程中可能引入缺陷的其他因素,對(duì)缺陷的引入階段和缺陷根源的分析也不充分.

1.3 缺陷正交分類(lèi)ODC

缺陷正交分類(lèi)ODC(orthogonal defects classification)是IBM公司提出的缺陷分類(lèi)方法,包括7類(lèi):賦值、檢驗(yàn)、算法、時(shí)序、接口、功能、關(guān)聯(lián)[4].

分類(lèi)過(guò)程分兩步進(jìn)行.第一步,缺陷發(fā)現(xiàn)時(shí),導(dǎo)致缺陷發(fā)現(xiàn)的環(huán)境和缺陷對(duì)用戶可能的影響,此時(shí)可以確定缺陷的3個(gè)屬性:發(fā)現(xiàn)缺陷的活動(dòng)、缺陷引發(fā)事件和缺陷影響.第二步,缺陷修復(fù)關(guān)閉時(shí),可以確定缺陷的其余5個(gè)屬性:缺陷載體、缺陷類(lèi)型、缺陷限定詞、缺陷年齡和缺陷來(lái)源.這8個(gè)屬性對(duì)于缺陷的消除和預(yù)防起到關(guān)鍵作用.

該分類(lèi)方法分類(lèi)細(xì)致,適用于缺陷的定位、排除、缺陷原因分析和缺陷預(yù)防活動(dòng).缺陷特征提供的豐富信息為缺陷的消除、預(yù)防和軟件過(guò)程的改進(jìn)創(chuàng)造了條件.ODC的缺點(diǎn)在于分類(lèi)復(fù)雜,難以把握分類(lèi)標(biāo)準(zhǔn).

1.4 IEEE異常分類(lèi)方法

IEEE異常分類(lèi)方法[5]認(rèn)為分類(lèi)過(guò)程由識(shí)別、調(diào)查、行動(dòng)計(jì)劃和實(shí)施處理4個(gè)步驟組成,其中調(diào)查步驟將異常類(lèi)型分為:邏輯問(wèn)題、計(jì)算問(wèn)題、接口/定時(shí)錯(cuò)誤、數(shù)據(jù)處理問(wèn)題、數(shù)據(jù)問(wèn)題、文檔問(wèn)題、文檔質(zhì)量問(wèn)題和增強(qiáng)問(wèn)題共8類(lèi).

IEEE分類(lèi)方法對(duì)軟件異常進(jìn)行了全面分類(lèi),給出了整個(gè)缺陷分類(lèi)的完整屬性框架.但是,IEEE分類(lèi)過(guò)程復(fù)雜,通常需根據(jù)項(xiàng)目實(shí)際情況進(jìn)行裁減,不利于快速地對(duì)缺陷進(jìn)行分類(lèi)和度量.

2 航天嵌入式軟件缺陷分類(lèi)方法

傳統(tǒng)的軟件缺陷分類(lèi)方法,有的分類(lèi)方法簡(jiǎn)單,缺陷信息量不足,無(wú)法有效幫助進(jìn)行缺陷的修復(fù);有的沒(méi)有考慮缺陷發(fā)生的過(guò)程原因,不適用于軟件過(guò)程改進(jìn)活動(dòng);有的分類(lèi)又過(guò)于復(fù)雜,導(dǎo)致難以把握分類(lèi)標(biāo)準(zhǔn).因此,需要結(jié)合上述軟件缺陷分類(lèi)方法的優(yōu)缺點(diǎn),同時(shí)結(jié)合航天嵌入式軟件研制流程,特別是軟件缺陷的發(fā)現(xiàn)、定位、排除和預(yù)防過(guò)程,提出航天嵌入式軟件缺陷分類(lèi)方法,指導(dǎo)軟件缺陷的分類(lèi),為軟件缺陷定位和修復(fù),為軟件缺陷的預(yù)防提供準(zhǔn)確的完整的信息.

進(jìn)行航天嵌入式軟件缺陷分類(lèi)的目的是對(duì)軟件缺陷進(jìn)行度量,分析軟件缺陷產(chǎn)生的過(guò)程和產(chǎn)生原因,改進(jìn)軟件研制過(guò)程,預(yù)防軟件缺陷,提高組織的軟件能力成熟度.航天嵌入式軟件缺陷分類(lèi)方法,從方法上應(yīng)滿足以下要求:

1)準(zhǔn)確地對(duì)發(fā)現(xiàn)的缺陷進(jìn)行分類(lèi);

2)分類(lèi)之間應(yīng)無(wú)重疊,分類(lèi)體系應(yīng)覆蓋所有的缺陷類(lèi)型;

3)分類(lèi)應(yīng)該與軟件生命周期有機(jī)結(jié)合;

4)分類(lèi)應(yīng)滿足航天嵌入式軟件研制流程和缺陷的發(fā)現(xiàn)、定位、排除和預(yù)防過(guò)程的要求.

可以定義下面這個(gè)6元組模型來(lái)描述航天嵌入式軟件缺陷屬性,即 <引入階段、發(fā)現(xiàn)階段、缺陷類(lèi)型、編程語(yǔ)言、缺陷根源、缺陷嚴(yán)重等級(jí)>,表1說(shuō)明了每個(gè)缺陷屬性的具體含義.

表1 缺陷屬性及含義Tab.1 Defect’s attributes and definitions

根據(jù)航天軟件研制階段的定義,軟件生命周期一般包括10個(gè)階段,則定義下面這個(gè)10元組來(lái)描述軟件缺陷的引入階段和發(fā)現(xiàn)階段,即“引入階段”=“發(fā)現(xiàn)階段”=<系統(tǒng)需求分析與設(shè)計(jì)、軟件需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、軟件實(shí)現(xiàn)、組裝測(cè)試、確認(rèn)測(cè)試、系統(tǒng)聯(lián)試、驗(yàn)收交付、運(yùn)行維護(hù)>.一般上來(lái)說(shuō),軟件缺陷的引入階段應(yīng)不包括開(kāi)始軟件測(cè)試之后的研制階段,但為方便統(tǒng)一表述,這里把引入階段和發(fā)現(xiàn)階段定義一致.

“缺陷類(lèi)型”是定義缺陷類(lèi)型的屬性,可以通過(guò)描述對(duì)缺陷所作的實(shí)際修復(fù)工作的類(lèi)型來(lái)確定缺陷類(lèi)型的屬性值.傳統(tǒng)的軟件缺陷分類(lèi)主要是從軟件本身存在問(wèn)題的角度來(lái)區(qū)分軟件的缺陷,但是在實(shí)際軟件測(cè)試中,往往需要記錄和分析許多本身可能并非軟件缺陷的問(wèn)題,這些問(wèn)題可能是測(cè)試人員在理解上的誤會(huì),可能是由于測(cè)試人員誤操作導(dǎo)致,還可能是測(cè)試設(shè)備、測(cè)試軟件等缺陷導(dǎo)致的軟件執(zhí)行異?,F(xiàn)象.為全面反映航天嵌入式軟件測(cè)試過(guò)程的真實(shí)信息,從軟件研制過(guò)程改進(jìn)的角度,應(yīng)把由于測(cè)試過(guò)程導(dǎo)致的軟件異?,F(xiàn)象納入軟件缺陷的分類(lèi)中,見(jiàn)表2所示.

表2 缺陷類(lèi)型及主要表現(xiàn)Tab.2 Defects types and forms

需求分析缺陷主要是軟件需求分析階段引入的,可以通過(guò)完善需求分析工作以消除缺陷.設(shè)計(jì)階段缺陷主要指軟件設(shè)計(jì)文檔方面的缺陷,可以通過(guò)完善設(shè)計(jì)文檔的方式消除缺陷.功能、性能、數(shù)據(jù)、結(jié)構(gòu)、接口和集成錯(cuò)誤主要反映因?yàn)檐浖枨蠓治龌蛟O(shè)計(jì)的不到位導(dǎo)致的真實(shí)軟件缺陷,可以通過(guò)完善需求分析,或者完善軟件設(shè)計(jì),通過(guò)重新修改軟件代碼消除缺陷.測(cè)試設(shè)備、測(cè)試軟件和測(cè)試執(zhí)行缺陷主要反映了軟件測(cè)試階段,因?yàn)闇y(cè)試硬件、軟件或者測(cè)試活動(dòng)的錯(cuò)誤導(dǎo)致的軟件執(zhí)行不符合預(yù)期希望結(jié)果的現(xiàn)象,通過(guò)重新設(shè)計(jì)測(cè)試的軟硬件測(cè)試平臺(tái),重新設(shè)計(jì)測(cè)試方法和測(cè)試用例,可以消除這幾類(lèi)缺陷.

實(shí)現(xiàn)與編碼錯(cuò)誤是因?yàn)檐浖?shí)現(xiàn)人員對(duì)軟件編程語(yǔ)言、軟件使用環(huán)境、軟件執(zhí)行過(guò)程、軟件執(zhí)行異常、軟件編程規(guī)范等方面的認(rèn)識(shí)和理解不正確或者不準(zhǔn)確導(dǎo)致的軟件代碼缺陷.程序由源代碼符號(hào)序列組成,源代碼經(jīng)過(guò)編譯器的詞法分析、語(yǔ)法分析、語(yǔ)義分析和中間代碼生成、代碼優(yōu)化,最后生成目標(biāo)代碼.在對(duì)軟件缺陷類(lèi)別中的“實(shí)現(xiàn)與編程錯(cuò)誤”繼續(xù)分類(lèi),可以按照軟件編譯過(guò)程的不同階段進(jìn)行分類(lèi),這種方法不會(huì)導(dǎo)致分類(lèi)的模糊,也明確了可以在編譯的哪個(gè)階段發(fā)現(xiàn)該類(lèi)缺陷,如果結(jié)合靜態(tài)分析的方法,可以明確在編譯過(guò)程的哪個(gè)階段通過(guò)修改編譯器可以部分的發(fā)現(xiàn)這類(lèi)缺陷,增加軟件缺陷排除的準(zhǔn)確性.

詞法分析的任務(wù)是對(duì)構(gòu)成源程序的字符串進(jìn)行掃描和分解,識(shí)別出一個(gè)個(gè)的單詞,詞法缺陷即考察符號(hào)序列在組成程序時(shí)可能出現(xiàn)的問(wèn)題.語(yǔ)法分析的任務(wù)是在詞法分析的基礎(chǔ)上,根據(jù)語(yǔ)言的語(yǔ)法規(guī)則,把單詞符號(hào)串分解成各類(lèi)語(yǔ)法單元.如果編碼錯(cuò)誤都不是上述兩類(lèi)缺陷,程序仍然可能與實(shí)現(xiàn)者想表達(dá)的含義不一致,則產(chǎn)生語(yǔ)義缺陷[6].可維護(hù)性缺陷是專(zhuān)門(mén)考察程序注釋問(wèn)題和變量、語(yǔ)句多余的缺陷類(lèi)型.在此基礎(chǔ)上,試給出“實(shí)現(xiàn)與編碼錯(cuò)誤”缺陷分類(lèi),為缺陷預(yù)防提供依據(jù).

編程語(yǔ)言是航天嵌入式軟件源程序的實(shí)現(xiàn)語(yǔ)言,可以用以下的3元組來(lái)定義,即 <C語(yǔ)言、匯編語(yǔ)言、Ada語(yǔ)言>.

缺陷根源是軟件缺陷產(chǎn)生的根原因,通過(guò)考察近3年航天嵌入式控制軟件的缺陷產(chǎn)生原因,按照缺陷修復(fù)的方式進(jìn)行分類(lèi),可用以下10元組定義缺陷根源,即<用戶需求理解不完整、用戶需求理解錯(cuò)誤、功能設(shè)計(jì)不完整、功能設(shè)計(jì)錯(cuò)誤、性能設(shè)計(jì)不完整、編碼疏漏、對(duì)編程語(yǔ)言認(rèn)識(shí)不準(zhǔn)確、對(duì)使用環(huán)境認(rèn)識(shí)不準(zhǔn)確、對(duì)規(guī)范理解不準(zhǔn)確、操作錯(cuò)誤>.

表3 實(shí)現(xiàn)與編程錯(cuò)誤類(lèi)型細(xì)化分類(lèi)Tab.3 Implementation and coding error

缺陷嚴(yán)重等級(jí)是根據(jù)如果軟件缺陷一直存在,對(duì)航天任務(wù)造成的不利影響的嚴(yán)重程度來(lái)分類(lèi),如表4所示.

表4 缺陷嚴(yán)重等級(jí)Tab.4 Severity level of defects

3 結(jié)束語(yǔ)

通過(guò)給出航天嵌入式軟件缺陷分類(lèi)方法,進(jìn)而分析產(chǎn)生各類(lèi)缺陷的軟件過(guò)程原因,獲取不同軟件缺陷出現(xiàn)的頻度數(shù)據(jù),并以此為依據(jù)制定對(duì)應(yīng)的軟件過(guò)程管理與技術(shù)改進(jìn)兩方面的改進(jìn)措施,才能進(jìn)一步提高軟件質(zhì)量,提高軟件組織的生產(chǎn)能力.在未來(lái)的型號(hào)軟件研制中,可以結(jié)合本文給出的軟件缺陷分類(lèi)方法進(jìn)行缺陷的統(tǒng)計(jì)分類(lèi)和故障定位,并可有針對(duì)性的在不同的軟件測(cè)試階段采取不同的測(cè)試方法和測(cè)試工具,重點(diǎn)發(fā)現(xiàn)和暴露某一類(lèi)別的軟件缺陷,提高測(cè)試的有效性.

[1] W ilfredo T P.Software fault tolerance a tutorial[R]. Langley Research Center,NASA,2000

[2] Putnam L H,Myers W.Measures for excellence:reliable software on time,within budget[M].New Jersey: Prentice Hall,1992

[3] 黃錫滋.軟件可靠性、安全性與質(zhì)量保證[M].北京:電子工業(yè)出版社,2002 Huang Z X.Software reliability and safety with quality assurance[M].Beijing:Publishing house of electronic industry,2002

[4] Ram C,Inderpal S B,Jarir K C,et al.Orthogonal defect classification-a concept for in-process measurements[J].IEEE transactions on software engineering,1992,18(11):943-956

[5] IEEE Std 1044-1993.IEEE standard classification for anomalies[S].The Institute of Electrical and Electronics Engineers,1993

[6] 胡璇,劉斌,陸民燕.軟件代碼缺陷分類(lèi)及其應(yīng)用[J].計(jì)算機(jī)工程,2009,35(2):30-33 Hu X,Liu B,Lu M Y.Classification of software code errors and its application[J].Computer Engineering,2009,35(2):30-33

A C lassification M ethod for Spacecraft Em bedded Software Defects

DONG Xiaogang1,YANG Mengfei2
(1.Beijing Institute of Control Engineering,Beijing 100190,China; 2.China Academy of Space Technology,Beijing 100094,China)

Classification of software defects is the basis of software defect management.The concept of software defects,is presented in this paper,and some kinds of software defect classification methods and their merit and flaw are analyzed in detail.According to analysis of spacecraft embedded software development process and its defective types,a classification method is proposed for spacecraft embedded software defects,particular for defects types and its subclass of“implementation and coding errors”.

software defect;spacecraft embedded software;defect classification

V4

A

1674-1579(2012)05-0049-04

董曉剛(1974—),男,高級(jí)工程師,研究方向?yàn)楹教炱髑度胧杰浖_(kāi)發(fā),軟件可靠性與安全性;楊孟飛(1962—),男,研究員,研究方向?yàn)榭臻g控制計(jì)算機(jī)系統(tǒng)和航天器控制系統(tǒng).

2012-02-03

DO I:10.3969/j.issn.1674-1579.2012.05.009

猜你喜歡
軟件缺陷嵌入式軟件航天
我的航天夢(mèng)
航天夢(mèng),我的夢(mèng)
軍事文摘(2021年22期)2022-01-18 06:22:56
基于源文件可疑度的靜態(tài)軟件缺陷檢測(cè)方法研究
逐夢(mèng)航天日
基于NPE-SVM的軟件缺陷預(yù)測(cè)模型
實(shí)時(shí)嵌入式軟件的測(cè)試技術(shù)
全景相機(jī)遙控器嵌入式軟件V1.0 相關(guān)操作分析
電子制作(2017年17期)2017-12-18 06:40:56
開(kāi)源程序的軟件缺陷分布特征的量化分析研究
航天股為何遭爆炒
太空探索(2015年4期)2015-07-12 14:16:14
基于Eclipse的航天嵌入式軟件集成開(kāi)發(fā)環(huán)境設(shè)計(jì)與實(shí)現(xiàn)
沁水县| 三门峡市| 错那县| 大名县| 教育| 喜德县| 丹棱县| 郧西县| 辽宁省| 蒲城县| 郑州市| 西吉县| 巴东县| 福海县| 章丘市| 新田县| 类乌齐县| 民乐县| 二手房| 黄骅市| 汝阳县| 平舆县| 扬中市| 武清区| 黄龙县| 吴川市| 泗水县| 宁晋县| 银川市| 蒙自县| 九龙县| 齐齐哈尔市| 闸北区| 威远县| 棋牌| 阿克陶县| 大田县| 阳江市| 湘乡市| 日照市| 商都县|