www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 廠商動(dòng)態(tài) > IAR
[導(dǎo)讀]在汽車、航空電子、醫(yī)療和工業(yè)控制等眾多行業(yè)中,新開發(fā)的應(yīng)用在大多數(shù)情況下必須取得相應(yīng)的功能安全認(rèn)證。通過所有必要的流程和測試來完成功能安全認(rèn)證歷來是一個(gè)非常困難的過程,但有一些方法有助于加快完成認(rèn)證的速度。當(dāng)然,選擇諸如IAR Embedded Workbench這樣本身就獲得了認(rèn)證,并在多樣化的實(shí)際應(yīng)用中經(jīng)過驗(yàn)證的開發(fā)工具,也是加快從設(shè)計(jì)到完成認(rèn)證過程的方法。

序言

汽車、航空電子、醫(yī)療和工業(yè)控制等眾多行業(yè)中,新開發(fā)的應(yīng)用在大多數(shù)情況下必須取得相應(yīng)的功能安全認(rèn)證。通過所有必要的流程和測試來完成功能安全認(rèn)證歷來是一個(gè)非常困難的過程,但有一些方法有助于加快完成認(rèn)證的速度。當(dāng)然,選擇諸如IAR Embedded Workbench這樣本身就獲得了認(rèn)證,并在多樣化的實(shí)際應(yīng)用中經(jīng)過驗(yàn)證的開發(fā)工具,也是加快從設(shè)計(jì)到完成認(rèn)證過程的方法。

在開發(fā)功能安全型關(guān)鍵應(yīng)用中,開發(fā)人員可以采取多項(xiàng)調(diào)整措施來加快認(rèn)證,然而這一切都依賴于應(yīng)用的代碼質(zhì)量。要怎么做代碼質(zhì)量才能得到保障呢?幸運(yùn)的是,我們擁有一些簡單的方法來立竿見影地提升代碼質(zhì)量,并盡可能地減少工作量。

善用標(biāo)準(zhǔn)

您知道嗎,在C99代碼規(guī)范中有大約190個(gè)歧義?確切地說,在C99中,有190種語法上合法的C結(jié)構(gòu),但在C語言規(guī)范中卻沒有得到明確說明。實(shí)際上,如果使用最新的C18代碼規(guī)范,情況會(huì)變得更糟一些,如果在C++中引入多重繼承和虛擬繼承,將會(huì)陷入更為糟糕的局面。編譯器會(huì)把源代碼轉(zhuǎn)變成可執(zhí)行代碼,因此必須對代碼的含義進(jìn)行解析后才能正確運(yùn)行。

在實(shí)際情況中,開發(fā)人員可能會(huì)用到不同的編譯器,它們可能會(huì)對源代碼進(jìn)行不同的解釋。然而,在一個(gè)高可靠性的系統(tǒng)中,這將是一個(gè)噩夢般的場景,尤其是許多追求功能安全認(rèn)證的公司一般都會(huì)在多個(gè)平臺(tái)上交叉編譯他們的代碼以方便測試??梢韵胂?,這將嚴(yán)重拖慢認(rèn)證速度,因?yàn)槟仨氠槍λ写祟惽闆r進(jìn)行測試,以證明代碼的可重復(fù)性和可靠性。

怎樣才能度過這個(gè)難關(guān)呢?簡單來說,避免代碼歧義即可。但要如何做到這一點(diǎn)呢?開發(fā)人員可以選擇MISRA這樣的編碼標(biāo)準(zhǔn),該標(biāo)準(zhǔn)經(jīng)設(shè)計(jì),可避免常見的代碼歧義。此外,該標(biāo)準(zhǔn)還提倡運(yùn)用安全可靠的編碼實(shí)踐,以減少代碼中的缺陷數(shù)量。有了功能安全標(biāo)準(zhǔn),問題就能迎刃而解。

功能安全標(biāo)準(zhǔn)涵蓋了代碼分析

幾乎每一個(gè)功能安全標(biāo)準(zhǔn)都要求開發(fā)人員對代碼進(jìn)行靜態(tài)分析,而且還會(huì)強(qiáng)烈建議項(xiàng)目團(tuán)隊(duì)對代碼進(jìn)行運(yùn)行時(shí)(或稱之為動(dòng)態(tài))分析。其中影響最廣的標(biāo)準(zhǔn)是IEC 61508,在通常意義上它適用于所有安全相關(guān)系統(tǒng)。根據(jù)該標(biāo)準(zhǔn)第C.4.2節(jié)的內(nèi)容,不建議在安全完整性等級(SIL)在1級以上的情況下使用沒有消除歧義和危險(xiǎn)行為的編碼標(biāo)準(zhǔn)的C語言。換句話說,如果開發(fā)的產(chǎn)品要獲得SIL 2-4認(rèn)證,就必須使用靜態(tài)分析來提升代碼的健壯性。

而靜態(tài)分析工具可以強(qiáng)制開發(fā)者實(shí)施編碼標(biāo)準(zhǔn),如MISRA。此外,靜態(tài)和運(yùn)行時(shí)分析可以快速指出有風(fēng)險(xiǎn)的編碼行為,特別是之前提到的編碼標(biāo)準(zhǔn)歧義,因此有助于提高代碼質(zhì)量?;谶@樣的考慮,開發(fā)人員應(yīng)當(dāng)更多地選擇諸如IAR Embedded Workbench這類在多樣化應(yīng)用中得到驗(yàn)證的工具,它們可以提供更全面的標(biāo)準(zhǔn)化功能。

然而,何時(shí)使用這些類型的自動(dòng)化工具也會(huì)對項(xiàng)目的認(rèn)證時(shí)間表產(chǎn)生巨大影響。許多公司組織會(huì)使用難以配置、難以使用的代碼分析工具,使其每晚運(yùn)行在構(gòu)建服務(wù)器上。然而這種工具實(shí)際作用有限,因?yàn)槊總€(gè)程序開發(fā)者無法得到即時(shí)反饋,弄清他們剛寫的代碼究竟有什么問題。

此外,有時(shí)這些工具發(fā)出的警告信息本身就晦澀難懂,浪費(fèi)了開發(fā)者的時(shí)間去弄清楚它們的真正含義,以及如何糾正代碼來消除警告。如果能在開發(fā)過程中先運(yùn)行代碼分析,然后才進(jìn)入正式構(gòu)建,那么就可以完美避免代碼缺陷。如此一來,項(xiàng)目代碼缺陷注入率將大幅降低,這正是認(rèn)證機(jī)構(gòu)非常看重的指標(biāo),因?yàn)檫@意味著項(xiàng)目有一個(gè)非常成熟的開發(fā)組織。

將代碼分析融入日常工作流程

根據(jù)針對多個(gè)行業(yè)里多家公司開展的調(diào)研的結(jié)果,IAR Systems團(tuán)隊(duì)發(fā)現(xiàn),代碼分析工具的配置和使用越容易,開發(fā)者選用它的幾率就越高,也能更快受益。如果能將這些自動(dòng)化工具納入到開發(fā)者的工具箱中,那么開發(fā)者就可以在編寫應(yīng)用時(shí)隨時(shí)檢查和改進(jìn)代碼質(zhì)量,同時(shí)在“實(shí)地”考察這部分代碼要做什么以及它如何與系統(tǒng)中的其他模塊互動(dòng)。為了有效地做到這一點(diǎn),必須將代碼分析工具整合到日常工作流程中。

為了解其他人對集成代碼分析的看法,IAR團(tuán)隊(duì)在查閱資料時(shí)發(fā)現(xiàn)谷歌在ACM期刊上發(fā)表了一篇文章,探討了代碼分析的優(yōu)點(diǎn)。雖然文章對他們的整個(gè)代碼庫(包括C、C++和Java)進(jìn)行了全面的考察,但他們的結(jié)論非常明確:

“在開發(fā)過程的早期就能發(fā)現(xiàn)編譯器錯(cuò)誤,并且能夠整合到開發(fā)者的工作流程中。我們發(fā)現(xiàn)擴(kuò)大編譯器的檢查集合對提高谷歌的代碼質(zhì)量是有效的。”

作者表示,把靜態(tài)分析檢查整合到編譯器工作流程并輸出為Error信息,將極大地提高開發(fā)者對工具輸出信息的關(guān)注,最終大幅提升代碼質(zhì)量。再往下看,他們談到了向最近遇到某個(gè)編譯器錯(cuò)誤的開發(fā)者和已經(jīng)收到該錯(cuò)誤問題的修復(fù)補(bǔ)丁的開發(fā)者發(fā)出相同的調(diào)研。

“谷歌的開發(fā)者認(rèn)為,在編譯時(shí)標(biāo)記出錯(cuò)誤信息(相比于植入代碼檢測功能的補(bǔ)?。┠懿蹲降礁卮蟮腻e(cuò)誤;例如,調(diào)研參與者認(rèn)為在編譯時(shí)標(biāo)記的問題中的74%屬于真正的問題,而在檢測代碼中發(fā)現(xiàn)的真正問題只有21%?!?

此外,該文章還談到了將代碼分析整合到工作流程的重要性,指出當(dāng)他們通過靜態(tài)分析工具自動(dòng)運(yùn)行提交的代碼并邀請工程師查看分析儀表板時(shí),很少有工程師跟進(jìn)。但是,如果在編譯過程中就能得到即時(shí)反饋,則靜態(tài)分析工具的使用更便捷且分析結(jié)果也更難被忽視。因此,他們選擇在每個(gè)人的工作流程中默認(rèn)集成靜態(tài)代碼分析。他們認(rèn)為要推廣代碼分析工具,開發(fā)者必須感到能從中受益,并且喜歡使用這些工具。

在工作流程中加入代碼分析會(huì)得到什么樣的結(jié)果?結(jié)果之一是提高了應(yīng)用的整體安全性,因?yàn)閮?yōu)質(zhì)代碼可以消除緩沖區(qū)溢出、非法指針等漏洞。雖然這個(gè)理由足夠充分,但有時(shí)很難讓人們做到“防范于未然”,您需要更顯著的結(jié)果來說服開發(fā)者和管理層相信代碼分析的優(yōu)點(diǎn)。

Stefan Wagner等人的一篇論文使用經(jīng)驗(yàn)數(shù)據(jù)來計(jì)算代碼分析工具與傳統(tǒng)測試在不同代碼庫中的優(yōu)劣。他們的結(jié)果很有說服力,在769個(gè)被識(shí)別的缺陷中,76%是被代碼分析工具發(fā)現(xiàn)的,而只有4%被傳統(tǒng)測試發(fā)現(xiàn)(其余20%則在代碼審查時(shí)發(fā)現(xiàn))。

如果能在開始測試前就消除75%的缺陷,實(shí)現(xiàn)軟件平均故障間隔時(shí)間(MTTF)目標(biāo)能有多快?答案是“非常快”。僅僅是在測試上節(jié)省的時(shí)間和金錢就值得在代碼分析工具上進(jìn)行投資,更不用說它還能加快上市時(shí)間。這些都是功能安全認(rèn)證機(jī)構(gòu)喜歡看到的流程類型,因?yàn)樗鼧O大地降低了缺陷進(jìn)入最終產(chǎn)品的風(fēng)險(xiǎn)。

優(yōu)質(zhì)代碼加速功能安全認(rèn)證

加快功能安全認(rèn)證的關(guān)鍵是提高代碼質(zhì)量。只有提高代碼質(zhì)量,項(xiàng)目團(tuán)隊(duì)才可以降低缺陷注入率,從而更快地達(dá)到軟件發(fā)布標(biāo)準(zhǔn),這樣在提交給功能安全認(rèn)證機(jī)構(gòu)認(rèn)證時(shí),它們才會(huì)認(rèn)為您的組織擁有非常成熟的流程。雖然開發(fā)者永遠(yuǎn)無法確切知道一個(gè)應(yīng)用中還有多少缺陷,但通過早期和經(jīng)常使用代碼分析工具將有助于減少其數(shù)量。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉