一区二区三区四区在线观看国产日韩 _在线综合+亚洲+欧美中文字幕_蜜桃久久精品乱码一区二区_欧美黄色片免费观看

24小時(shí)聯(lián)系電話:18217114652、13661815404

中文

您當(dāng)前的位置:
首頁>
電子資訊>
技術(shù)專題>
基于標(biāo)準(zhǔn)的開發(fā)實(shí)踐

技術(shù)專題

基于標(biāo)準(zhǔn)的開發(fā)實(shí)踐


整個(gè)行業(yè)都圍繞著以功能安全性,安全性和編碼標(biāo)準(zhǔn)(例如IEC 61508ISO 26262IEC 62304MISRA CCWE)為支持的驗(yàn)證和確認(rèn)實(shí)踐而發(fā)展。當(dāng)然,并非所有人都有義務(wù)遵循這些標(biāo)準(zhǔn)所倡導(dǎo)的正式流程和方法,尤其是在其軟件不需要滿足這些標(biāo)準(zhǔn)的嚴(yán)格要求的情況下。但是標(biāo)準(zhǔn)支持最佳實(shí)踐,因?yàn)榻?jīng)驗(yàn)表明,它們代表了獲得高質(zhì)量,可靠和強(qiáng)大的軟件的最有效方法。

遵循這些標(biāo)準(zhǔn)的最佳實(shí)踐開發(fā)技術(shù)可幫助確保一開始就不會在代碼中引入錯(cuò)誤,從而減少了對大量調(diào)試活動的需求,這些活動可能會縮短上市時(shí)間并增加成本。當(dāng)然,并非所有開發(fā)人員都擁有在航空航天,汽車或醫(yī)療設(shè)備行業(yè)中看到的應(yīng)用程序所能承受的時(shí)間和預(yù)算。但是,無論關(guān)鍵性是否強(qiáng)制使用它們,他們部署的技術(shù)對于任何開發(fā)團(tuán)隊(duì)而言都具有巨大的潛在利益。

錯(cuò)誤類型和解決方法

在軟件中可以找到兩種關(guān)鍵類型的錯(cuò)誤,并使用防止錯(cuò)誤引入的工具進(jìn)行了處理:

編碼錯(cuò)誤。一個(gè)示例是嘗試訪問數(shù)組范圍之外的代碼。可以通過執(zhí)行靜態(tài)分析來檢測這些類型的問題。

應(yīng)用程序錯(cuò)誤。只有通過確切了解應(yīng)用程序應(yīng)該做什么才能檢測到這些,這意味著需要進(jìn)行測試。

編碼錯(cuò)誤和代碼檢查

靜態(tài)分析是檢測編碼錯(cuò)誤的有效技術(shù),尤其是從項(xiàng)目開始部署時(shí)。一旦分析了代碼,就可以查看不同類型的結(jié)果。在代碼審查中,將根據(jù)諸如MISRA C2012之類的編碼標(biāo)準(zhǔn)來檢查代碼,這是我們在本文中重點(diǎn)介紹的內(nèi)容。

理想情況下,所有嵌入式項(xiàng)目都應(yīng)使用安全語言(例如Ada)。Ada具有許多特性,可以強(qiáng)制執(zhí)行思考過程,從而自然地減少錯(cuò)誤(例如,嚴(yán)格鍵入)。不幸的是,很難找到具有Ada知識和經(jīng)驗(yàn)的程序員,因此大多數(shù)公司都使用C/C ++。但是,即使是經(jīng)驗(yàn)豐富的開發(fā)人員,這些語言也會帶來陷阱。幸運(yùn)的是,通過執(zhí)行代碼審查,可以避免大多數(shù)這些潛在的陷阱。

避免代碼缺陷的最佳方法是避免將其放置在此處。這聽起來很明顯,但這正是編碼標(biāo)準(zhǔn)所做的。在CC ++世界中,大約80%的軟件缺陷是由錯(cuò)誤使用大約20%的語言引起的。如果限制使用該語言以避免該語言的已知部分出現(xiàn)問題,則可以避免出現(xiàn)缺陷,從而大大提高軟件質(zhì)量。

C / C ++編程語言與語言相關(guān)的故障的根本原因是未定義的行為,實(shí)現(xiàn)定義的行為和未指定的行為。這些行為導(dǎo)致軟件錯(cuò)誤和安全問題。

作為實(shí)現(xiàn)定義的行為的示例,請考慮當(dāng)有符號整數(shù)右移時(shí)的高階位的傳播。結(jié)果是0x40000000還是0xC0000000

 

某些C和C ++構(gòu)造的行為取決于所使用的編譯器

答案取決于您使用的是哪個(gè)編譯器(圖1)。可能是。函數(shù)參數(shù)的求值順序未在C語言中指定。在圖2所示的代碼中其中rollDice()函數(shù)僅從持有值“ 1234”的循環(huán)緩沖區(qū)中讀取下一個(gè)值),期望的返回值為1234。但是,沒有為此,至少一個(gè)編譯器將生成返回值3412的代碼。

 

圖2:某些C和C ++構(gòu)造的行為未由語言指定

C / C ++語言存在許多類似的陷阱,但是通過使用編碼標(biāo)準(zhǔn),可以避免這些未定義,未指定和實(shí)現(xiàn)定義的行為。同樣,使用諸如gotomalloc之類的構(gòu)造會導(dǎo)致缺陷,因此可以使用編碼標(biāo)準(zhǔn)來防止使用這些構(gòu)造。混合有符號和無符號值時(shí)會發(fā)生許多問題,這在大多數(shù)情況下不會產(chǎn)生問題,但是有時(shí)可能會出現(xiàn)極端情況,即有符號的值溢出并變?yōu)樨?fù)數(shù)。

編碼標(biāo)準(zhǔn)還可以檢查代碼是否以特定樣式編寫。例如,驗(yàn)證未使用制表符,縮進(jìn)是特定大小還是括號位于特定位置。這很重要,因?yàn)閷⑿枰M(jìn)行一些手動代碼審查,并且在其他選項(xiàng)卡字符大小不同的編輯器中查看代碼時(shí),奇怪的布局分散了審查者的注意力,使他們無法集中精力審查代碼。

一些開發(fā)人員對編寫聰明的代碼感到內(nèi)gui,這些代碼可能是高效且緊湊的,但也可能是晦澀復(fù)雜的,這使得其他人難以理解。最好保持簡單,讓編譯器負(fù)責(zé)制作高效的二進(jìn)制文件。再次,使用編碼標(biāo)準(zhǔn)可以幫助防止開發(fā)人員創(chuàng)建未記錄且過于復(fù)雜的代碼。

最著名的編程標(biāo)準(zhǔn)可能是MISRA標(biāo)準(zhǔn),該標(biāo)準(zhǔn)于1998年首次發(fā)布給汽車行業(yè)。這些標(biāo)準(zhǔn)的普及反映在提供某種級別的MISRA檢查的嵌入式編譯器中。MISRA的最新版本是MISRA C2012,其頁數(shù)幾乎是其前身的兩倍。這些附加文檔中的大多數(shù)包含有關(guān)每個(gè)規(guī)則為何存在的有用解釋,以及該規(guī)則的各種例外的詳細(xì)信息。MISRA有幾個(gè)準(zhǔn)則,并且在適用時(shí),它們包含對標(biāo)準(zhǔn)或未定義,未指定和實(shí)現(xiàn)定義的行為的引用。這樣的一個(gè)例子可以在圖3中看到。

 

圖3:MISRA C引用了未定義,未指定和實(shí)現(xiàn)定義的行為

MISRA的大多數(shù)指南都是可判定的,這意味著工具應(yīng)該能夠識別是否存在違規(guī)行為。但是,一些準(zhǔn)則是不確定的,這意味著工具并非總是可能推斷出是否存在違規(guī)行為。例如,將未初始化的變量作為輸出參數(shù)傳遞給應(yīng)該對其進(jìn)行初始化的系統(tǒng)函數(shù)時(shí)。但是,除非靜態(tài)分析可以訪問系統(tǒng)功能的源代碼,否則它將無法在該功能初始化之前就知道該功能是否使用了該變量。如果使用簡單的MISRA檢查器,則它可能不會報(bào)告此違規(guī),可能導(dǎo)致假陰性。或者,如果不確定MISRA檢查器,則它可以報(bào)告違規(guī)情況,可能導(dǎo)致假陽性。什么是最好的?不知道可能有問題嗎?還是確切地知道在哪里花費(fèi)時(shí)間來確保絕對沒有問題?當(dāng)然,假陽性比假陰性更可取。

20164月,MISRA委員會發(fā)布了對MISRA C2012的修訂,其中增加了14條準(zhǔn)則,以幫助確保MISRA不僅適用于安全性至關(guān)重要的軟件,還適用于安全性至關(guān)重要的軟件。這些準(zhǔn)則之一就是指令4.14,如圖4所示,該準(zhǔn)則有助于防止由于未定義行為引起的陷阱。


圖4:MISRA和安全注意事項(xiàng)

應(yīng)用程序錯(cuò)誤和需求測試

應(yīng)用程序錯(cuò)誤只能通過測試產(chǎn)品是否達(dá)到了預(yù)期功能才能找到,這意味著有要求。避免應(yīng)用程序錯(cuò)誤既需要設(shè)計(jì)正確的產(chǎn)品,又需要設(shè)計(jì)正確的產(chǎn)品。

設(shè)計(jì)正確的產(chǎn)品意味著預(yù)先建立需求,并確保需求和源代碼之間的雙向可追溯性,以便已實(shí)現(xiàn)每個(gè)需求,并且每個(gè)軟件功能都可以追溯到需求。任何缺少的或不必要的功能(不符合要求)也是應(yīng)用程序錯(cuò)誤。設(shè)計(jì)產(chǎn)品權(quán)利是確認(rèn)開發(fā)的系統(tǒng)代碼滿足項(xiàng)目要求的過程,可以通過執(zhí)行基于需求的測試來實(shí)現(xiàn)。

5顯示了雙向可追溯性的示例。在這個(gè)簡單的示例中,選擇了一個(gè)功能,并突出了從功能到低層需求,然后是高層需求,最后是系統(tǒng)層需求的上游可追溯性。

 

圖5:雙向可追溯性,已選擇功能

在圖6中,選擇了一個(gè)高級需求,并且高亮顯示了對系統(tǒng)級別需求的上游可追溯性和對低級別需求以及源代碼功能的下游可追溯性。

 

圖6:雙向可追溯性,已選擇要求

這種可視化可追溯性的能力可以導(dǎo)致在生命周期的早期發(fā)現(xiàn)可追溯性問題(應(yīng)用程序錯(cuò)誤)。

測試代碼功能需要了解它應(yīng)該做什么,這意味著具有低級要求來陳述每個(gè)功能的作用。圖7顯示了一個(gè)低級別需求的示例,在這種情況下,它完整地描述了一個(gè)功能。


圖7:低級別需求示例

測試用例源自表1中所示的低級需求。


表1:來自低級需求的測試用例

然后使用單元測試工具在主機(jī)或目標(biāo)上執(zhí)行這些測試用例,以確保代碼的行為符合要求。8顯示所有測試用例均已回歸并通過。

 

圖8:執(zhí)行單元測試

測試用例運(yùn)行后,應(yīng)測量結(jié)構(gòu)覆蓋范圍,以確保所有代碼都已執(zhí)行。如果覆蓋率不是100%,則可能需要更多的測試用例,或者有多余的代碼應(yīng)刪除。

請輸入搜索關(guān)鍵字

確定
一区二区三区四区在线观看国产日韩 _在线综合+亚洲+欧美中文字幕_蜜桃久久精品乱码一区二区_欧美黄色片免费观看
色8久久人人97超碰香蕉987| 一本到三区不卡视频| 国产麻豆日韩欧美久久| 色综合网色综合| 精品免费视频一区二区| 亚洲一卡二卡三卡四卡五卡| 国产成a人无v码亚洲福利| 制服丝袜亚洲精品中文字幕| 国产精品久久久一本精品| 麻豆成人av在线| 欧美性高清videossexo| 国产精品少妇自拍| 国内精品免费在线观看| 在线综合亚洲欧美在线视频| 亚洲精品ww久久久久久p站| 成人少妇影院yyyy| 亚洲精品在线三区| 日韩av在线发布| 精品污污网站免费看| 亚洲精品五月天| 成人免费毛片app| 欧美第一区第二区| 亚洲成人先锋电影| 92精品国产成人观看免费| 国产午夜精品福利| 九九九精品视频| 7777精品伊人久久久大香线蕉超级流畅| 国产精品电影一区二区三区| 久久狠狠亚洲综合| 欧美一区二区三区免费| 一区二区三区久久| 91蝌蚪porny九色| 亚洲特黄一级片| 国产ts人妖一区二区| 日韩一区二区电影| 天堂av在线一区| 欧美视频精品在线观看| 亚洲免费观看高清| 大陆成人av片| 中文字幕欧美区| 国产一二精品视频| 久久久久久一二三区| 日日夜夜免费精品视频| 日本精品一级二级| 国产精品理论在线观看| 国产精品一二三四| 久久免费电影网| 麻豆国产欧美日韩综合精品二区 | 91毛片在线观看| 中文字幕一区二区在线观看| 国产一区二区成人久久免费影院| 91精品国产高清一区二区三区 | 亚洲成人免费在线观看| 欧美性三三影院| 亚洲成a人v欧美综合天堂| 欧美日韩久久一区| 午夜久久久影院| 欧美日韩不卡视频| 亚洲成人动漫精品| 欧美日韩你懂得| 青草国产精品久久久久久| 91麻豆精品国产自产在线观看一区 | 久久老女人爱爱| 激情文学综合网| 久久综合中文字幕| 国产传媒欧美日韩成人| 国产欧美日韩在线| 福利一区二区在线| 中文字幕一区二区三区四区| 色综合久久久久综合| 亚洲一区二区在线播放相泽 | 91精品婷婷国产综合久久性色| 午夜激情久久久| 日韩精品中文字幕在线一区| 麻豆一区二区三| 亚洲精品一区二区三区精华液| 国产电影一区在线| 中文字幕一区三区| 欧美性猛交xxxx黑人交| 亚洲成av人**亚洲成av**| 欧美va日韩va| 国产老妇另类xxxxx| 亚洲视频在线一区二区| 91国产成人在线| 日韩精品一二三区| 精品久久久久99| 不卡av电影在线播放| 亚洲与欧洲av电影| 欧美日本乱大交xxxxx| 热久久国产精品| 国产亚洲综合色| 色哟哟日韩精品| 久久精品免费看| 欧美高清在线视频| 91国偷自产一区二区开放时间| 日韩av一区二区三区四区| 久久青草国产手机看片福利盒子| 成人福利视频网站| 亚洲一区国产视频| 26uuu精品一区二区| jiyouzz国产精品久久| 日韩精品国产精品| xnxx国产精品| 色偷偷一区二区三区| 日韩激情一二三区| 欧美极品少妇xxxxⅹ高跟鞋| 在线精品观看国产| 裸体健美xxxx欧美裸体表演| 亚洲国产精品国自产拍av| 欧美午夜宅男影院| 国产成人精品亚洲午夜麻豆| 亚洲大片在线观看| 久久久美女毛片| 欧美日韩一级大片网址| 九九**精品视频免费播放| 一区二区三区在线免费观看| 欧美精品一区二区三区高清aⅴ| 成人18视频日本| 亚洲 欧美综合在线网络| 国产日韩欧美高清| 欧美日产国产精品| aa级大片欧美| 韩国成人福利片在线播放| 亚洲日本在线观看| 久久亚洲综合色一区二区三区| 欧美日韩国产一级二级| 99视频国产精品| 韩国v欧美v日本v亚洲v| 亚洲嫩草精品久久| 精品日韩成人av| 欧美日韩国产另类一区| 99视频在线精品| 国产精品一级二级三级| 日av在线不卡| 亚洲国产精品久久久久婷婷884| 国产精品久久夜| 久久久久高清精品| 欧美一级黄色录像| 欧美午夜不卡视频| 99精品视频在线观看免费| 国产在线精品免费av| 日韩电影在线一区二区| 一区二区三区在线播| 国产精品理论在线观看| 久久人人爽爽爽人久久久| 日韩一卡二卡三卡| 欧美美女一区二区在线观看| 色综合色综合色综合色综合色综合| 国产成人精品三级| 56国语精品自产拍在线观看| 97aⅴ精品视频一二三区| 国产成人免费9x9x人网站视频| 精品亚洲成av人在线观看| 日韩**一区毛片| 婷婷中文字幕综合| 亚洲午夜免费电影| 夜夜夜精品看看| 夜夜嗨av一区二区三区中文字幕| 中文字幕一区二区日韩精品绯色| 久久久国际精品| 26uuu欧美| 2024国产精品| 久久先锋资源网| 久久久久久亚洲综合| 久久尤物电影视频在线观看| 欧美成人艳星乳罩| 精品国产精品一区二区夜夜嗨| 欧美一级理论性理论a| 欧美一区二区视频在线观看| 8v天堂国产在线一区二区| 7777精品伊人久久久大香线蕉| 欧美日韩成人在线一区| 欧美片网站yy| 69堂成人精品免费视频| 欧美一区二区女人| 欧美成人三级在线| 欧美成人video| 久久婷婷色综合| 久久精品日产第一区二区三区高清版 | 欧美亚洲一区二区在线| 欧美在线观看视频在线| 欧美在线免费观看视频| 欧美探花视频资源| 欧美美女一区二区在线观看| 91精品国产aⅴ一区二区| 日韩亚洲欧美综合| 26uuu国产电影一区二区| 国产亚洲精品资源在线26u| 欧美韩日一区二区三区四区| 亚洲欧美在线视频| 一区二区三区日韩欧美精品| 亚洲成人av一区| 毛片av中文字幕一区二区| 激情综合亚洲精品| 国产黄色91视频| 99久久精品免费观看| 日本久久电影网| 91.麻豆视频| xnxx国产精品| 国产精品初高中害羞小美女文|