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