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