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