翻譯|行業(yè)資訊|編輯:李顯亮|2021-04-25 13:15:43.577|閱讀 264 次
概述:軟件編碼標(biāo)準(zhǔn)的目標(biāo)是灌輸成熟的編程實(shí)踐,從而產(chǎn)生安全、可靠、可測(cè)試和可維護(hù)的代碼。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷售中 >>
相關(guān)鏈接:
軟件從桌面轉(zhuǎn)移到了我們接觸到的幾乎所有東西。從智能恒溫器到輸液泵再到汽車,軟件無(wú)孔不入,而且在不斷增長(zhǎng)。來(lái)自物聯(lián)網(wǎng)(IoT)的所謂 "東西 "越來(lái)越多地?cái)y帶更多的邏輯。隨之而來(lái)的是更大的故障風(fēng)險(xiǎn)。這些設(shè)備中的許多被用于安全關(guān)鍵領(lǐng)域,如醫(yī)療和汽車,它們有可能造成身體傷害。
事實(shí)證明,這些同樣的標(biāo)準(zhǔn)也在網(wǎng)絡(luò)安全領(lǐng)域提供了好處,起到了雙重作用。這篇文章一起來(lái)討論。
軟件對(duì)現(xiàn)實(shí)世界的影響常常被低估。我作為Parasoft的布道者,不斷討論的一個(gè)主題是,軟件開(kāi)發(fā)真的應(yīng)該是工程。
我們經(jīng)常用軟件工程師這個(gè)頭銜來(lái)稱呼軟件開(kāi)發(fā)人員,但對(duì)于他們今天的工作方式來(lái)說(shuō),這并不一定是一個(gè)合適的術(shù)語(yǔ)。發(fā)展到一個(gè)良好的軟件工程實(shí)踐,會(huì)使成本下降,質(zhì)量提高。這其中的一個(gè)關(guān)鍵部分是采用標(biāo)準(zhǔn),特別是編碼標(biāo)準(zhǔn)。
軟件正在悄悄地進(jìn)入產(chǎn)品、設(shè)備和其他我們從未想過(guò)的地方。我們現(xiàn)在必須認(rèn)真思考這些產(chǎn)品中的軟件和它所帶來(lái)的影響。
事實(shí)證明,在軟件方面,你不需要花更多的錢來(lái)建造高質(zhì)量的軟件。你花更多的錢是為了建造質(zhì)量差的軟件。
在軟件中,大部分的缺陷來(lái)自于程序員,是他們把這些缺陷放在產(chǎn)品中。如果我們能在開(kāi)發(fā)軟件時(shí)停止引入缺陷,我們就能以較低的價(jià)格獲得更好的軟件。
認(rèn)識(shí)到質(zhì)量是如何影響軟件開(kāi)發(fā)成本的,這一點(diǎn)很重要。研究人員卡珀斯-瓊斯(Capers Jones)幾十年來(lái)一直關(guān)注這個(gè)問(wèn)題,每年都對(duì)軟件成本進(jìn)行調(diào)查。這些數(shù)字每年都沒(méi)有什么變化。數(shù)據(jù)顯示,軟件的典型成本從需求到編碼再到維護(hù),每個(gè)階段都會(huì)上升。然而,團(tuán)隊(duì)對(duì)待質(zhì)量的方式?jīng)Q定了他們的過(guò)程是健康還是 "病態(tài)"。
有道理的是,如果我們?cè)诰帉?xiě)代碼時(shí)就發(fā)現(xiàn)了一個(gè)缺陷,其成本相對(duì)較低--比如說(shuō),開(kāi)發(fā)人員的幾分鐘時(shí)間。如果有可能在開(kāi)發(fā)階段就消除85%的缺陷,那么對(duì)成本的影響就會(huì)很大。考慮一下現(xiàn)在著名的來(lái)自Capers Jones的圖表,它顯示了在開(kāi)發(fā)的每個(gè)階段修復(fù)缺陷的平均成本。
一個(gè)過(guò)時(shí)的、可證明是錯(cuò)誤的方法是通過(guò)在生命周期的最后階段,即在發(fā)布之前進(jìn)行測(cè)試來(lái)提高軟件的質(zhì)量。在制造業(yè)中,他們明白這是不可能的,但出于某種原因,我們認(rèn)為我們可以將質(zhì)量(和安全)測(cè)試 "融入 "軟件。
認(rèn)識(shí)到質(zhì)量是如何影響軟件開(kāi)發(fā)成本的,這一點(diǎn)很重要。研究人員卡珀斯-瓊斯(Capers Jones)幾十年來(lái)一直關(guān)注這個(gè)問(wèn)題,每年都對(duì)軟件成本進(jìn)行調(diào)查。這些數(shù)字每年都沒(méi)有什么變化。數(shù)據(jù)顯示,軟件的典型成本從需求到編碼再到維護(hù),每個(gè)階段都會(huì)上升。然而,團(tuán)隊(duì)對(duì)待質(zhì)量的方式?jīng)Q定了他們的過(guò)程是健康還是 "病態(tài)"。
軟件編碼標(biāo)準(zhǔn)的目標(biāo)是灌輸經(jīng)過(guò)驗(yàn)證的編程實(shí)踐,從而使代碼安全、可靠、可測(cè)試和可維護(hù)。通常情況下,這意味著要避免已知的不安全的編碼實(shí)踐或可能導(dǎo)致不可預(yù)測(cè)的行為的代碼。這在像C和C++這樣的編程語(yǔ)言中變得至關(guān)重要,因?yàn)樵谶@些語(yǔ)言中編寫(xiě)不安全或不安全代碼的可能性很高。
然而,我認(rèn)為這個(gè)行業(yè)在這些編程標(biāo)準(zhǔn)方面已經(jīng)迷失了方向。在過(guò)去的十年中,這些工具(如靜態(tài)分析工具)已經(jīng)從檢測(cè)潛在的有問(wèn)題的不安全的代碼或已知的語(yǔ)言弱點(diǎn)轉(zhuǎn)變?yōu)閷W⒂趯ふ胰毕葑鳛樵缙跍y(cè)試的一種形式。
以下是一些已建立的安全和安保編碼標(biāo)準(zhǔn)的例子:
作為能夠檢測(cè)違反編碼標(biāo)準(zhǔn)準(zhǔn)則的技術(shù)(如靜態(tài)分析),MISRA的最新版本考慮到了哪些準(zhǔn)則是可判定的(可由工具高精度檢測(cè)),哪些是不可判定的。這就把我們帶到了采用和執(zhí)行的話題,以及靜態(tài)分析工具在編碼標(biāo)準(zhǔn)中的重要性。
Parasoft是一家專門(mén)提供軟件測(cè)試解決方案的公司,幫助企業(yè)打造無(wú)缺陷的軟件。
從開(kāi)發(fā)到質(zhì)量檢查,Parasoft的技術(shù)通過(guò)集成靜態(tài)和運(yùn)行時(shí)分析,單元、功能和API測(cè)試,以及服務(wù)虛擬化,在不犧牲質(zhì)量和安全性的情況下加快軟件交付,節(jié)約交付成本。
強(qiáng)大的報(bào)告和分析功能可幫助用戶快速查明有風(fēng)險(xiǎn)的代碼區(qū)域,并了解新代碼更改如何影響其軟件質(zhì)量,而突破性的技術(shù)將人工智能和機(jī)器學(xué)習(xí)添加到軟件測(cè)試中,使組織更容易采用和擴(kuò)展跨開(kāi)發(fā)和測(cè)試團(tuán)隊(duì)的有效的軟件測(cè)試實(shí)踐。
Parasoft針對(duì)C/C++、Java、.NET和嵌入式的開(kāi)發(fā)測(cè)試都有著30多年的深入研究,很多全國(guó)500強(qiáng)企業(yè)使用Parasoft的產(chǎn)品實(shí)現(xiàn)了軟件快速、高質(zhì)量的交付。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn