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

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式分享
[導(dǎo)讀]當(dāng)嵌入式開(kāi)發(fā)人員測(cè)試他們的軟件時(shí),多種力量正在發(fā)揮作用。系統(tǒng)的復(fù)雜性越來(lái)越大--這是由于對(duì)計(jì)算工作量的要求越來(lái)越大、連通性越來(lái)越廣泛以及安全性和可靠性的提高--這使得開(kāi)發(fā)人員更難根據(jù)需求驗(yàn)證代碼。隨著發(fā)布時(shí)間的縮減,測(cè)試團(tuán)隊(duì)很難適應(yīng)傳統(tǒng)測(cè)試方法更大的復(fù)雜性和規(guī)模。

當(dāng)嵌入式開(kāi)發(fā)人員測(cè)試他們的軟件時(shí),多種力量正在發(fā)揮作用。系統(tǒng)的復(fù)雜性越來(lái)越大--這是由于對(duì)計(jì)算工作量的要求越來(lái)越大、連通性越來(lái)越廣泛以及安全性和可靠性的提高--這使得開(kāi)發(fā)人員更難根據(jù)需求驗(yàn)證代碼。隨著發(fā)布時(shí)間的縮減,測(cè)試團(tuán)隊(duì)很難適應(yīng)傳統(tǒng)測(cè)試方法更大的復(fù)雜性和規(guī)模。

需要一種新的測(cè)試方法,團(tuán)隊(duì)正在尋找數(shù)學(xué)上證明代碼正確性的方法,以顯著提高他們對(duì)應(yīng)用程序的信心。為了理解今天的產(chǎn)品目標(biāo)和傳統(tǒng)測(cè)試方法之間的差距,它有助于考慮復(fù)雜性如何影響測(cè)試:

· 覆蓋面。 隨著軟件復(fù)雜性的增加,創(chuàng)建涵蓋足夠的代碼基礎(chǔ)(包括函數(shù)、語(yǔ)句、路徑、決策和條件)的測(cè)試變得越來(lái)越難。

· 比例尺。 無(wú)論測(cè)試范圍--特性、組件、庫(kù)或函數(shù)--單位越多,測(cè)試它們所需的時(shí)間和資源就越多。

· 快一點(diǎn)。 傳統(tǒng)的測(cè)試開(kāi)發(fā)和執(zhí)行實(shí)踐無(wú)法跟上發(fā)布時(shí)間表,不可避免地迫使測(cè)試覆蓋率和時(shí)間之間的權(quán)衡。

這是一個(gè)長(zhǎng)期的信念,即接近100%的代碼覆蓋是不可能的,因?yàn)檫@樣的目標(biāo)非常難以實(shí)現(xiàn),運(yùn)行起來(lái)也非常昂貴。單元測(cè)試、滲透測(cè)試、動(dòng)態(tài)分析--所有傳統(tǒng)技術(shù)都需要大量的時(shí)間和資源來(lái)執(zhí)行,并導(dǎo)致系統(tǒng)中錯(cuò)誤和漏洞的視圖不完整。

隨著最近軟件技術(shù)和計(jì)算能力的進(jìn)步,這種信念現(xiàn)在已成為一個(gè)被證實(shí)的神話。學(xué)術(shù)界和工業(yè)界的研究人員已經(jīng)開(kāi)發(fā)出了數(shù)學(xué)上嚴(yán)格的技術(shù),即所謂的正式方法,這些技術(shù)可以達(dá)到100%的代碼覆蓋率,并保證系統(tǒng)的正確性--現(xiàn)在可供企業(yè)準(zhǔn)備平臺(tái)中的安全和安全方面關(guān)鍵的開(kāi)發(fā)團(tuán)隊(duì)使用。

了解基于正式方法的測(cè)試工具

在紙上,正式的方法明確地證明了代碼沒(méi)有錯(cuò)誤和安全漏洞等問(wèn)題。這些方法使用嚴(yán)格指定的數(shù)學(xué)模型,根據(jù)精確定義的規(guī)格驗(yàn)證軟件的特性和行為。換句話說(shuō),形式方法可以在代碼中找到所有問(wèn)題的發(fā)生。

實(shí)際上,基于企業(yè)級(jí)正式方法的測(cè)試工具對(duì)任何開(kāi)發(fā)人員來(lái)說(shuō)都是容易獲得和負(fù)擔(dān)得起的。被稱為詳盡無(wú)遺的靜態(tài)分析工具,它們的設(shè)計(jì)和證明是為了將正式方法的力量整合到安全和安全關(guān)鍵開(kāi)發(fā)團(tuán)隊(duì)的現(xiàn)有驗(yàn)證和驗(yàn)證過(guò)程中。

這些工具與傳統(tǒng)的測(cè)試和靜態(tài)分析方法相比有幾個(gè)優(yōu)點(diǎn):

· 高達(dá)100%的應(yīng)用程序覆蓋率,包括所有可能的函數(shù)、語(yǔ)句、路徑、決策和條件。

· 高達(dá)100%的輸入覆蓋率,涵蓋測(cè)試單元范圍內(nèi)的所有可能值.

· 對(duì)代碼中沒(méi)有未定義行為(錯(cuò)誤和漏洞)的數(shù)學(xué)保證,導(dǎo)致部署中的零問(wèn)題。

· 零假底片,所以開(kāi)發(fā)人員增加了對(duì)所有問(wèn)題都被發(fā)現(xiàn)的信心。

· 低到零的錯(cuò)誤肯定,意味著開(kāi)發(fā)人員花在沒(méi)有真正問(wèn)題的問(wèn)題上的時(shí)間較少。

· 大大縮短試驗(yàn)時(shí)間,提高資源消耗效率。

圖1說(shuō)明了這一差異。傳統(tǒng)的測(cè)試方法通常是測(cè)試用例開(kāi)發(fā)和算法設(shè)計(jì)的"最大努力"嘗試,受到人力和項(xiàng)目進(jìn)度的限制。這將導(dǎo)致每次運(yùn)行執(zhí)行一個(gè)代碼分支的測(cè)試,并限制團(tuán)隊(duì)在給定的測(cè)試階段中可以覆蓋多少。在一次測(cè)試運(yùn)行中,在形式方法的支持下,對(duì)所有分支進(jìn)行了詳盡的靜態(tài)分析,將覆蓋率提高到100%,并大大縮短了測(cè)試時(shí)間。

圖1:傳統(tǒng)測(cè)試方法(左)和聲音靜態(tài)分析(右)的代碼路徑比較。被訪問(wèn)的部分是橙色的;未訪問(wèn)的部分是黑色的。

充分的靜態(tài)分析可以給開(kāi)發(fā)人員提供一種強(qiáng)大的管理軟件復(fù)雜性的方法,從而極大地改變他們對(duì)軟件復(fù)雜性的思考方式。

詳盡的靜態(tài)分析

傳統(tǒng)測(cè)試方法的一個(gè)局限是它們的狀態(tài)空間覆蓋,即對(duì)數(shù)據(jù)值和輸入、控制和數(shù)據(jù)流以及它們可以覆蓋的輸出路徑的不同組合數(shù)量的固有限制。例如,傳統(tǒng)的測(cè)試方法通常測(cè)試預(yù)期投入的預(yù)期產(chǎn)出的函數(shù)。一些靜態(tài)分析工具擴(kuò)大了這一范圍,以涵蓋更廣泛的投入和產(chǎn)出。但是由于測(cè)試設(shè)計(jì)、實(shí)現(xiàn)和進(jìn)度限制,工具無(wú)法測(cè)試所有可能的行為。

下面的代碼示例說(shuō)明了在數(shù)組中增加單元格值的C函數(shù)。

典型的單元測(cè)試將根據(jù)函數(shù)的需求進(jìn)行驗(yàn)證,檢查函數(shù)是否增加了輸出數(shù)組中的單元格值,并根據(jù)結(jié)果報(bào)告通過(guò)或失敗。這個(gè)測(cè)試不一定會(huì)檢查數(shù)組索引(*p)是否由于系統(tǒng)中意外或不希望看到的副作用而導(dǎo)致了對(duì)內(nèi)存的越界訪問(wèn)--就像在這個(gè)代碼示例中發(fā)生的那樣,因?yàn)楫?dāng)循環(huán)中指定了一個(gè)不適當(dāng)?shù)臈l件。

盡管緩沖區(qū)溢出,傳統(tǒng)的針對(duì)需求的測(cè)試將在調(diào)用函數(shù)后驗(yàn)證數(shù)組是{2、4、6、8},并將始終通過(guò),如下控制臺(tái)輸出所示:

除非測(cè)試設(shè)計(jì)者考慮到了一個(gè)出界數(shù)組訪問(wèn)的可能性,否則這種緩沖區(qū)溢出將永遠(yuǎn)不會(huì)被識(shí)別。

這些類型的細(xì)微缺陷可能會(huì)導(dǎo)致內(nèi)存損壞,導(dǎo)致潛在的故障、崩潰或應(yīng)用程序漏洞--傳統(tǒng)測(cè)試方法看不到這種缺陷,但可通過(guò)詳盡的靜態(tài)分析工具發(fā)現(xiàn),如圖2所示。該工具檢測(cè)到在數(shù)組開(kāi)始后有一個(gè)16字節(jié)的寫入:緩沖區(qū)溢出。

圖2:發(fā)現(xiàn)的屏幕截圖在特魯斯坦軟件詳盡的靜態(tài)分析工具。

這種內(nèi)存損壞可以通過(guò)一個(gè)更詳細(xì)的測(cè)試案例來(lái)揭示,在這個(gè)案例中,出界寫入條件影響變量名稱的值,盡管它不涉及測(cè)試的函數(shù),如下表所示:

但是,開(kāi)發(fā)團(tuán)隊(duì)很少實(shí)現(xiàn)這個(gè)級(jí)別的測(cè)試深度,特別是當(dāng)代碼比這個(gè)示例復(fù)雜的時(shí)候。

硬件意識(shí)在靜態(tài)分析中的重要性

更先進(jìn)的詳盡的靜態(tài)分析工具為驗(yàn)證和驗(yàn)證活動(dòng)帶來(lái)硬件意識(shí),從而使測(cè)試覆蓋更加準(zhǔn)確和高效。硬件意識(shí)的重要性怎么強(qiáng)調(diào)都不為過(guò),因?yàn)榫幾g器實(shí)現(xiàn)、硬件架構(gòu)和內(nèi)存校準(zhǔn)的差異會(huì)導(dǎo)致測(cè)試條件和代碼行為的巨大差異。例如:

· 在64位目標(biāo)上,長(zhǎng)通常是64位,INT通常是32位。

· 在32位目標(biāo)上,長(zhǎng)和INT通常都是32位。

這些硬件差異影響測(cè)試條件、輸入和路徑,如本代碼示例所示:

沒(méi)有硬件意識(shí),測(cè)試或分析方法將無(wú)法確定最后一個(gè)語(yǔ)句是否導(dǎo)致整數(shù)溢出(32位目標(biāo))或非整數(shù)溢出(64位目標(biāo))。在某些情況下,測(cè)試將執(zhí)行超出硬件支持的條件所必需的運(yùn)行。在其他情況下,測(cè)試可能會(huì)忽略潛在溢出。基于硬件意識(shí)的靜態(tài)分析在100%覆蓋率和實(shí)現(xiàn)這一目標(biāo)所需的最小測(cè)試用例數(shù)量之間提供了完美的平衡。

另一個(gè)關(guān)鍵的硬件差異是整體性,如本代碼示例所示:

根據(jù)底層硬件的整體性,變量C將被設(shè)置為0xbe(大Endian)或0xff(小Endy)--這是測(cè)試執(zhí)行的一個(gè)關(guān)鍵區(qū)別。

這種微妙的差異可能導(dǎo)致災(zāi)難性的結(jié)果。請(qǐng)考慮在上述代碼示例中添加以下語(yǔ)句的情況:

在一個(gè)大的源代碼系統(tǒng)中,這個(gè)語(yǔ)句將導(dǎo)致零條件的劃分,并可能導(dǎo)致應(yīng)用程序崩潰或其他不良行為。在一個(gè)小系統(tǒng)上,這個(gè)語(yǔ)句是有效的。一個(gè)知道這些差異的測(cè)試方法會(huì)使結(jié)果更精確.

充分的靜態(tài)分析工具,包括硬件意識(shí),也有這些好處:

· 開(kāi)發(fā)人員可以運(yùn)行硬件意識(shí)分析,而不需要連接到主機(jī)的物理目標(biāo)。

· 目標(biāo)測(cè)試可以在開(kāi)發(fā)生命周期的早期運(yùn)行,甚至在物理硬件可用之前。

· 開(kāi)發(fā)團(tuán)隊(duì)可以通過(guò)不需要每個(gè)主機(jī)和開(kāi)發(fā)人員的硬件來(lái)提高測(cè)試能力和降低成本。

詳盡的靜態(tài)分析的未來(lái)

嵌入式開(kāi)發(fā)團(tuán)隊(duì)優(yōu)先進(jìn)行詳盡無(wú)遺的靜態(tài)分析--最高可達(dá)100%的代碼覆蓋率和遠(yuǎn)遠(yuǎn)高于傳統(tǒng)測(cè)試的準(zhǔn)確性--將從他們的測(cè)試投資中獲得最高價(jià)值?,F(xiàn)在能夠進(jìn)入的開(kāi)發(fā)人員將更有能力提供更高質(zhì)量的代碼,并隨著時(shí)間的推移提高測(cè)試效率。

從長(zhǎng)期來(lái)看,從這種嚴(yán)格的測(cè)試中獲得的結(jié)果和知識(shí)將導(dǎo)致"零問(wèn)題"的保證。這些原則將在開(kāi)發(fā)過(guò)程的早期帶來(lái)更強(qiáng)的可測(cè)試性,以支持對(duì)安全和安保至關(guān)重要的產(chǎn)品要求和設(shè)計(jì),并大大降低軟件故障和外地漏洞的可能性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(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)勢(shì)抑制與過(guò)流保護(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)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wè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ǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(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)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

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

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

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(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)閉