對于基于軟件進行運營來說,,軟件風險等同于業(yè)務風險,。如果軟件存在缺陷,,導致無法連續(xù)運作,對企業(yè)的業(yè)務影響甚廣,。因此,,從軟件開發(fā)生命周期 (SDLC) 的早期就解決安全和質(zhì)量缺陷,對構建可信軟件至關重要,。
本文引用地址:http://www.eepw.com.cn/article/202212/441673.htm
Linx Printing Technologies在英國劍橋郡,,歷史可以追溯到1987年,。經(jīng)過30多年的發(fā)展,,該公司的噴碼與標識設備已經(jīng)銷往全球90多個國家及地區(qū)。
挑戰(zhàn):幫助Linx開發(fā)人員構建更高質(zhì)量的代碼
Omara Williams是Linx公司軟件工程經(jīng)理,,領導嵌入式軟件團隊,,負責Linx產(chǎn)品上運行的軟件質(zhì)量和安全。
Omara Williams介紹到:“我們需要這款嵌入式軟件能夠實時運行,,這面臨著許多挑戰(zhàn),。例如,需要全天候與生產(chǎn)線保持通信,,在幾乎所有情況下,,Linx打印機和軟件都需要不間斷地正常運行。停機可能會導致生產(chǎn)線運作中斷,、產(chǎn)品標簽產(chǎn)生錯誤,,最終導致客戶蒙受經(jīng)濟損失,。”
解決方案:借助Coverity靜態(tài)應用安全測試制定“零缺陷”策略
Omara Williams的首要任務是通過制定“零缺陷”策略,,使團隊使用的軟件盡可能穩(wěn)定和安全,。在這之前,他們需要先解決掉一些難題,。
她指出:“我曾經(jīng)使用過新思科技的Coverity靜態(tài)應用安全測試,,可以幫忙解決軟件安全和質(zhì)量缺陷問題。但首先,,我必須說服Linx管理層,,Coverity靜態(tài)應用安全測試是一項高回報的投資。隨即,,我向主管重點概述了軟件運行的現(xiàn)狀以及面臨的挑戰(zhàn),;這些挑戰(zhàn)在未來可能會導致代碼穩(wěn)定性問題;以及如何使用Coverity靜態(tài)應用安全測試來識別這些問題,。最終,,他了解到其中的好處,并決定在公司部署Coverity靜態(tài)應用安全測試,?!?/p>
同時,還有有一些阻力來自Linx軟件開發(fā)人員,。Omara Williams本身是一名軟件開發(fā)人員,,對此不足為奇。與大多數(shù)開發(fā)團隊一樣,,Linx團隊的重點是快速生成代碼,,因此他們通常拒絕引入任何可能減緩開發(fā)過程的應用。但是Omara Williams深知Coverity靜態(tài)應用安全測試可以幫助Linx開發(fā)人員識別關鍵的軟件質(zhì)量缺陷,,以便在開發(fā)周期初期就修復這些缺陷,,并仍能達到業(yè)務發(fā)展所需的速度。
Omara Williams表示:“是的,,采用新的應用會產(chǎn)生 ‘這會讓我們慢下來’,、‘會有太多的誤報’的顧慮。但我們都認同這一點:我們的當務之急是Linx打印機需要滿足客戶生產(chǎn)線的要求,,客戶應該相信Linx打印機上運行的軟件是穩(wěn)定,、安全和準確的。我與開發(fā)團隊每周召開會議,,與他們一起審查Coverity靜態(tài)應用安全測試對代碼的分析,。他們了解到Coverity靜態(tài)應用安全測試是一個有用的工具,可以幫助他們更快地編寫更可信的代碼,。我們的下一步是將代碼缺陷降至零,?!?/p>
效果:編碼缺陷顯著減少
Omara Williams團隊使用Coverity靜態(tài)應用安全測試發(fā)現(xiàn)編碼缺陷,并及時進行修復,。他們對實現(xiàn)“零缺陷”目標的信心增強了,。
Omara Williams 說:“我們將Coverity靜態(tài)應用安全測試整合到Jenkins CI/CD渠道中。我們每天都運行Coverity靜態(tài)應用安全測試,,每晚都查看掃描結果匯總,。Coverity靜態(tài)應用安全測試還與我們的Jira bug追蹤系統(tǒng)集成。當Coverity發(fā)現(xiàn)缺陷時,,會創(chuàng)建一個相關的Jira票證來追蹤其修復進度,。”
Omara Williams接著說:“我們基于Feature Branching工作流開展工作,。開發(fā)人員在開發(fā)新功能時會開啟代碼的一個新分支,。在功能分支通過Coverity靜態(tài)應用安全測試并獲得批準之前,我們不會提交給開發(fā)分支,。只有通過掃描合格后,,我們才能將其合并到開發(fā)分支中,然后最終投入生產(chǎn),?!?/p>
Linx在2019年設定“零缺陷”目標,在2021年將其實現(xiàn),。隨著代碼的更改或新代碼的引入,,Coverity靜態(tài)應用安全測試將繼續(xù)幫助Linx識別和修復代碼缺陷問題。迄今為止,,Coverity靜態(tài)應用安全測試已經(jīng)幫Linx分析了170萬行代碼,。在部署后第一年,Coverity靜態(tài)應用安全測試發(fā)現(xiàn)的問題中,,有97%得到了解決,。在接下來的24個月里,Coverity靜態(tài)應用安全測試幫助Linx將軟件風險控制在極低的水平,。
Omara Williams贊賞到:“效果很喜人,。憑借Coverity靜態(tài)應用安全測試,開發(fā)人員能及時發(fā)現(xiàn)編碼錯誤,,更高效地編寫代碼。一開始,,大家擔心Coverity會降低開發(fā)速度或產(chǎn)生大量誤報,。而現(xiàn)在我們都把Coverity視為軟件團隊中的一員。得益于此,,開發(fā)團隊在將代碼送去進行質(zhì)量評估之前,,就已經(jīng)發(fā)現(xiàn)其中的問題并解決掉,。”
Omara Williams總結道:“采用Coverity靜態(tài)應用安全測試的項目非常成功,,我們與新思科技的合作非常愉快,。在過去36個月里,Linx取得了斐然的成績,,像是開啟了一段令人難忘的軟件安全之旅,。在安裝和維護期間,我們獲得了新思科技技術人員和客戶服務團隊的大力支持,。支持團隊響應迅速,,效率高,在規(guī)定的時間內(nèi)回應了我們所有的請求,?!?/p>
更多信息可以來這里獲取==>>電子技術應用-AET<<