看看男人日女人,亚洲欧美日韩日本国产三,国产精品欧美日韩区二区,妓女影库妓女网在线视频

提升軟件質量?為什么不試試華為云CodeArts Check

本文分享自華為云社區(qū)《提升軟件質量?為什么不試試華為云CodeArts Check-云社區(qū)-華為云》,作者: 華為云頭條。

1996年,歐洲最新的無人衛(wèi)星發(fā)射火箭阿麗亞娜5號在首次發(fā)射后僅僅36秒,工程師就不得不按下了自毀按鈕。

事后經(jīng)分析查明,由于它重用了其前身阿麗亞娜4號的系統(tǒng)軟件,發(fā)動機遭遇了之前沒有被發(fā)現(xiàn)的漏洞,系統(tǒng)軟件試圖將一個64位的數(shù)字塞入16位的空間,由此產(chǎn)生的整形溢出問題導致了主計算機和備份計算機的崩潰。

一個小小的軟件缺陷,讓研發(fā)成本近80億美元,并攜帶著造價5億美元衛(wèi)星的阿麗亞娜5號瞬間灰飛煙滅。

遺憾的是,這并不是個例。縱觀歷史,由于軟件質量問題導致的“黑天鵝事件”不勝枚舉,云服務宕機、金融交易失敗、數(shù)據(jù)泄露等,給社會和用戶造成了無法挽回的損失。事實上,軟件存在的質量缺陷無法100%避免。因此,只有通過更加全面、嚴格、高效、安全的代碼檢查服務,才能最大程度地降低風險,使得軟件開發(fā)過程在成本、進度和質量上得到充分保障。

國外先進的代碼檢查軟件和服務雖多,但因種種原因不能在中國全面落地,或在某些方面存在局限性,并不能完全滿足中國客戶的實際需求。另外,在Gartner應用安全測試魔力象限中,至今尚無中國企業(yè)能夠躋身領導者象限。那么,誰能打破行業(yè)堅冰,誰能更好地在軟件開發(fā)階段就將質量與安全隱患消滅于無形?

華為云CodeArts Check代碼檢查服務挺身而出,為用戶提供包括代碼風格、通用質量與代碼安全風險等在內(nèi)的檢查能力,同時提供問題閉環(huán)處理、檢查報告等功能,從而一站式完成代碼檢查作業(yè),將代碼質量保證活動從原始的人工檢視中解脫出,確保代碼的高質量并助力客戶的商業(yè)成功。

提升軟件質量?為什么不試試華為云CodeArts Check

“質量 安全”左移

著名軟件工程專家和軟件經(jīng)濟數(shù)據(jù)與度量專家卡珀斯·瓊斯在其著作《Applied Software Measurement》中指出,80%的軟件缺陷發(fā)生在編碼階段,而在后端測試修復缺陷的成本是開發(fā)階段的40倍。

廣泛的工業(yè)界實踐也表明,在整個軟件生命周期中,缺陷發(fā)現(xiàn)得越早、修復得越早,影響越小,付出的代價也越小。因此,“質量 安全”左移、DevSecOps等新理念不斷涌現(xiàn)。華為非常贊同并在軟件開發(fā)實踐中積極落地和執(zhí)行這些理念。

華為很早就開始關注軟件質量的改進,并且持續(xù)吸收業(yè)界的優(yōu)秀經(jīng)驗?!霸谖疫€是華為新員工的時候,就曾學習過半年的質量大事?!睋?jù)一位華為云PaaS產(chǎn)品專家回憶,“1979年出版的《質量免費》中提到把事情做對的理念,與今天‘質量 安全’左移的概念不謀而合。最新推出的華為云CodeArts Check正是為了更好地在軟件開發(fā)的前端彌補軟件質量缺陷,同時還在代碼檢查上更進一步,加入了運營等新內(nèi)容,讓開發(fā)者受益匪淺?!?/p>

第三方市場研究報告顯示,在中國,超過七成的軟件廠商在使用DevSecOps的同時,也采用了代碼自動檢查工具。以華為為例,在其銷售覆蓋的全球100多個國家中,尤其是歐洲、中東地區(qū)的很多國家對于質量與安全問題高度敏感。

為此,華為內(nèi)部很早就引入了相關工具,獨立執(zhí)行軟件掃描,從技術、業(yè)務規(guī)范乃至公司文化等不同層面,確保自動化代碼檢查的有效落地,以保證華為所有產(chǎn)品的成功上線。

在軟件質量與安全領域,技術相對比較成熟,早在上個世紀70年代左右就已經(jīng)有了第一款商業(yè)化的代碼檢查軟件。但是因為軟件編碼本身就是一件非常困難的事,而且開發(fā)人員的技能、知識儲備參差不齊,再加上軟件語言本身的特點也會天然造成缺陷,所以在開發(fā)階段成功攔截所有代碼質量問題始終是一個難點。

從瀑布式開發(fā)到今天流行的敏捷開發(fā)、云開發(fā),開發(fā)模式的改變對于軟件質量和安全的影響也是比較大的。假如軟件掃描或分析的時間過長,則很難滿足快速發(fā)布、快速迭代的要求。軟件質量與開發(fā)效率之間似乎是魚與熊掌難以兼得。再者,相對動態(tài)分析技術,靜態(tài)分析技術本身存在一些局限,比如每一行代碼在執(zhí)行的過程中,每一次調用都會逐層逐路地進行分析,這對算力來說也是巨大的挑戰(zhàn),同樣會影響開發(fā)效率。

保證軟件質量與安全,挑戰(zhàn)不言而喻,而且不僅僅體現(xiàn)在技術層面。在應用安全測試領域,標準是國外的,領導廠商是國外的,國內(nèi)無論是從技術還是產(chǎn)品化、商業(yè)化程度來看,都相對較薄弱。華為云CodeArts Check的目標是和國內(nèi)眾多廠商一起,共建檢查標準和生態(tài),為中國軟件行業(yè)的發(fā)展貢獻更多技術與經(jīng)驗,進一步幫助廣大中國軟件企業(yè)提升產(chǎn)品質量。

華為云CodeArts Check的前世今生

從1998年到2007年,在華為內(nèi)部,開發(fā)語言以C/C 為主,各業(yè)務團隊按需引入Pclint等第三方工具開展代碼質量檢查。2007年至2012年期間,華為還發(fā)布了《華為通用編程規(guī)范》,規(guī)范以人工檢視為主。

“從我們對源代碼的質量有要求開始,就將當時業(yè)界頂尖的代碼檢查工具用了個遍。但在保證軟件質量與安全方面,我們確實面臨相當大的挑戰(zhàn)?!比A為云PaaS產(chǎn)品經(jīng)理概括說,“首先,作為全球化的公司,我們的產(chǎn)品必須滿足全球不同客戶市場差異化且極其嚴格的要求;其次,在代碼檢查方面,我們不僅要實現(xiàn)對編碼風格、簡單質量問題等的檢查,還希望通過檢查發(fā)現(xiàn)更多潛在的質量問題,甚至是影響到網(wǎng)絡安全的軟件質量問題;最后,代碼檢查工具必須滿足華為大體量的研發(fā)需求,具備卓越的工程化能力,包括高吞吐量、穩(wěn)定和易用?!?/p>

并非原生商用的代碼檢查工具不夠優(yōu)秀,而是這些工具確實不能覆蓋華為所有的應用場景。所以,華為走上了自研代碼檢查工具之路。在這里可以講一個小插曲。

某次,華為的一個客戶提出,要快速確認產(chǎn)品代碼中是否使用了不安全的內(nèi)存操作函數(shù)。華為最初采用商用工具進行了常規(guī)排查,但在排查之后發(fā)現(xiàn),仍有遺漏的場景。同時客戶又提出,除了要排查出是否使用了不安全的函數(shù),還要確認使用了不安全函數(shù)的安全版本是否使用正確。

這一要求已經(jīng)超出了當時商用工具的能力范圍。華為積極投資快速響應客戶的個性化要求,在極短的時間內(nèi)通過自研彌補代碼檢查工具能力的不足。

  • 2007年,結合ISO 9126系統(tǒng)/產(chǎn)品質量模型,華為發(fā)布了《軟件代碼質量要求及樣例》,明確了代碼質量必須達到的6項要求——簡潔、可靠、可維、可測、高效、可移植,并在此基礎上打造出Program SMaRT1.0模型。
  • 2012年,華為對Program SMaRT模型進行了完善,著重擴展了安全性。
  • 2018年,華為基于對好代碼的解讀和追求,結合業(yè)界先進實踐、專家學術研究和ISO標準,提出了華為的CleanCode主張,旨在滿足功能正確的前提下,打造具有“可讀、可維護、安全、可靠、可測試、高效、可移植”七大特征的高質量代碼,建立人人編寫CleanCode代碼的軟件文化。同時華為開始自研與各主流編程規(guī)范對應的自動化代碼檢查能力,相對應的編程規(guī)范檢查工具CodeCheck也開始面向全公司開發(fā)人員進行推廣普及。

此外,華為內(nèi)部多種多樣的應用場景,讓開發(fā)團隊能夠不斷補強、夯實代碼檢查的基本技術與能力,而不僅限于簡單的詞法、語法分析這樣的檢查。如今,自研工具已經(jīng)成了華為代碼檢查的核心力量。

提升軟件質量?為什么不試試華為云CodeArts Check

歷史上,華為的各個業(yè)務部門,比如終端、ICT、運營商等,都會遵循公司對軟件質量的統(tǒng)一要求,同時結合自身的業(yè)務特點,選擇開源的或商用的自動化工具進行代碼檢查。隨著業(yè)界對網(wǎng)絡安全的關注,運營商對通信設備商的軟件代碼安全性提出了極高要求,并提出了內(nèi)部規(guī)范是否統(tǒng)一落地的疑問:“我們用了華為那么多產(chǎn)品,華為如何保證每個產(chǎn)品線產(chǎn)品都能達到同等的質量要求與標準?華為內(nèi)部是否有統(tǒng)一的質量保障規(guī)范?每個開發(fā)人員是否切實執(zhí)行了相關的標準和規(guī)范?”

當時華為的狀況是,雖然每一個產(chǎn)品都有針對性的檢查規(guī)范,也配備了相應的檢查工具,完全能夠確保產(chǎn)品本身的質量與安全。于是,華為從公司規(guī)范入手,對照業(yè)界標準,重新梳理、刷新所有相關的安全規(guī)范、編程規(guī)范。

在此基礎之上,每條產(chǎn)品線基于自身的業(yè)務特點,以及對安全性的細致要求,制定更加具體的要求和規(guī)則。這樣一來,華為從整個公司層面,就能通過一個統(tǒng)一的平臺,要求各產(chǎn)品線使用統(tǒng)一的必選規(guī)則集去執(zhí)行軟件掃描;而這個統(tǒng)一的平臺還能有效匯聚、處理各業(yè)務線的數(shù)據(jù),并將相關數(shù)據(jù)提供給外部客戶,以滿足第三方檢查、認證等方面的需要。經(jīng)此改變,華為的整體產(chǎn)品質量又躍上了一個新臺階。

■ 2018年,隨著整個軟件工具鏈的逐步完善,華為開始將用于內(nèi)部的代碼檢查工具“外溢”,向外以服務的模式進行輸出。
■ 2020年4月,CodeCheck2.0正式發(fā)布,多款代碼檢查工具(ReviewBot、SecBrella、CodeCheck等)歸一至新版的代碼檢查服務CodeCheck,并構建起“IDE-代碼倉門禁-版本發(fā)布”三級檢查體系。
■ 2021年,CodeCheck經(jīng)歷多次技術攻關,實現(xiàn)了代碼檢查引擎對國外工具的核心安全及質量檢測能力進行替換,不僅有效支撐了華為研發(fā)業(yè)務的連續(xù),而且為深度安全及代碼質量檢查能力的商用交付夯實了基礎。
■ 2022年4月,CodeCheck HCS版本交付,這也是CodeCheck首個正式對外商用的版本。經(jīng)過近半年的精心準備,CodeCheck于2022年8月23日通過了業(yè)界標準CWE認證,具備了國際認可的專業(yè)資質;同年9月,CodeCheck完成了在墨西哥、巴西、新加坡等多個海外局點的開局,邁出全球化部署的關鍵一步。

經(jīng)過持續(xù)的演進、完善,CodeCheck成了今天廣大開發(fā)者在華為云上可以信手拈來的CodeArts Check服務,它既是華為多年來軟件開發(fā)的成功實踐、工程方法、管理要求以及優(yōu)秀企業(yè)文化的結晶,同時又將經(jīng)實踐驗證的好用的通用能力與功能,與廣大客戶和合作伙伴進行分享,進一步提升軟件的質量。

華為云CodeArts Check服務能夠在開發(fā)階段全面深挖代碼的安全問題,并從“可讀性、可維護性、安全性、可靠性、可測試性、高效性、可移植性”這七個緯度全面評估安全代碼的質量,為開發(fā)者提供大規(guī)模、高可用,且易用、便捷的云服務,從而更好地守護企業(yè)軟件的質量與安全,助力企業(yè)商業(yè)成功。

“六大利器”助力企業(yè)商業(yè)成功

你是不是好奇,華為云CodeArts Check到底有哪些過人之處?歸納來說,華為云CodeArts Check鍛造出“六大利器”。

利器一:自研代碼檢查引擎,代碼質量評估無死角。

華為云CodeArts Check采用的自研引擎融合了華為30多年對代碼質量及可信度提升方面的持續(xù)思考與探索實踐,能夠幫助用戶在一次掃描中針對代碼的”可讀性、可維護性、安全性、可靠性、可測試性、高效性、可移植性”七大質量特征進行全面分析。

利器二:五大業(yè)界主流標準、華為編程規(guī)范,一個也不能少。

華為云CodeArts Check不僅支持ISO 5055、CERT、CWE、OWASP TOP10、SANS TOP 25五大業(yè)界主流編程標準,而且內(nèi)置了華為終端、網(wǎng)絡、云計算、芯片等產(chǎn)品多年研發(fā)經(jīng)驗總結的編程規(guī)范,提升了產(chǎn)品代碼規(guī)范度。

利器三:開發(fā)語言、檢查規(guī)則一應俱全,用戶開箱即用。

華為云CodeArts Check不僅支持C、C 、Java、Python、GO等十余種常見開發(fā)語言,而且提供了超過7000條檢查規(guī)則,能夠滿足各類檢查場景需求,開箱即用。

利器四:日均百億級掃描能力,超大規(guī)模代碼檢查易如反掌。

華為云CodeArts Check具備強大的高并發(fā)處理能力,還可通過AZ容災、跨Region級容災多活,支持過載保護、服務依賴和隔離等一系列高可用技術,實現(xiàn)服務故障自探測、自隔離、自恢復。

利器五:一站式問題閉環(huán)修復。

由于內(nèi)置了編程規(guī)范說明、正確示例、錯誤示例和修復建議,華為云CodeArts Check能夠讓問題精準定位到行并提供修復指導。得益于修復指導、自動修復、結果自動繼承這三大能力,華為云CodeArts Check能夠將檢查問題處理和修復的效率提升100%。

利器六:三層缺陷防護,效率與質量兼得。

華為云CodeArts Check提供了豐富的API接口以及IDE代碼檢查插件,并與代碼倉協(xié)同支持代碼提交時自動檢查,與流水線協(xié)同支持軟件全量代碼檢查,三層防范代碼缺陷引入。

提升軟件質量?為什么不試試華為云CodeArts Check

“對于代碼檢查工具來講,我們最關注的一是效率,二是誤報和漏報問題。”華為云PaaS產(chǎn)品經(jīng)理介紹說,“我們憑借在云化方面的積累和能力,實現(xiàn)了大規(guī)模分布式處理能力和效率的提升。針對漏報,在大量借鑒商業(yè)化工具和開源工具,以及自研工具的成功經(jīng)驗的基礎上,我們不斷開拓創(chuàng)新,有效提升檢查能力;對于誤報問題,結合華為技術專家、高校的科研成果,利用精準的智能分析,提升分析引擎的精準率。舉例來說,華為內(nèi)部每天掃描500億-1000億行代碼,沉淀為一個龐大的歷史信息數(shù)據(jù)庫,結合AI技術,能夠大幅提了自研引擎的準確度。上述這些都是華為云CodeArts Check差異化能力的具體體現(xiàn)?!?/p>

華為業(yè)務線眾多,具有海量的代碼檢查需求,并且對產(chǎn)品質量始終保持著極高的敏感度和重視程度。從這個角度說,華為本身就是催熟代碼檢查工具的一個寶庫。

例如,華為云CodeArts Check中采用的核心自研引擎,就是華為在吃自己的“狗糧”。這種“狗糧”吃得越多,CodeArts Check自身的能力和水平就越高。

另外,工程化能力也是華為云CodeArts Check的核心屬性之一,融合了華為30積累的產(chǎn)品開發(fā)經(jīng)驗、產(chǎn)品開發(fā)過程、質量保證過程,能夠更好地幫助客戶在全工具鏈上復用華為的開發(fā)經(jīng)驗,事半功倍。

相比市場上現(xiàn)有的其他代碼檢查工具,華為云CodeArts Check除了在技術和功能上有自己獨特的創(chuàng)新之外,在企業(yè)文化、規(guī)范、流程等方面同樣底蘊深厚,并且獨具匠心。

在業(yè)界中,CleanCode是一個成熟的概念,本質是追求代碼的簡潔化?;趯浖|量的嚴苛要求,同時參考業(yè)界的相關標準和大量成功實踐,華為對CleanCode做出了進一步解讀和擴展,即“可讀性、可維護性、安全性、可靠性、可測試性、高效性、可移植性”七大質量特征。

據(jù)介紹,華為公司自上而下,從多個維度對七大質量特征進行解讀和剖析,通過對應的代碼案例和用例實現(xiàn)落地,并且提供自動度量的方法和工具,確保每條產(chǎn)品線都有對應的組織依此對各個層級進行賦能。每條產(chǎn)品線還會結合自身的實際需求,制定具體的計劃,保證CleanCode切實有效地落地。

特別值得一提的是,除了不斷增強代碼檢查工具本身的能力以外,華為云CodeArts Check還形成了獨有的3級檢查體系和3層運營體系。3 3的運營可以立體化、最大限度地保證檢查工具應用到位。三層運營意味著不僅要把工具做到好用,還要讓用戶將工具用好。

因此,從公司層到各個產(chǎn)品線,再到具體的產(chǎn)品版本層面,華為都提供了分層的工具能力。掌握不同能力模型的專家通過分工合作,在各個層面制定出匹配不同產(chǎn)品形態(tài)的工具應用策略,做到人盡其才,物盡其用,最終目的還是服務好開發(fā)人員。

“內(nèi)外”兼?zhèn)?質量與效率兼得

華為云CodeArts Check服務已于2023年1月12日正式上線。據(jù)了解,華為云CodeArts Check目前不僅支撐著華為15萬研發(fā)人員、日均掃描逾500億行的代碼檢查工作,而且也廣泛應用于能源、物流等企業(yè),服務新聞媒體及廣大開發(fā)者,為企業(yè)生產(chǎn)高質量且安全的軟件保駕護航。

已經(jīng)在華為應用并得到成功驗證的CodeArts Check不僅適用于大型企業(yè)的超大規(guī)模開發(fā)環(huán)境,而且由于其具有分層的能力和易用性,能夠很好地適配不同開發(fā)環(huán)境,即使是普通開發(fā)者也能一鍵式開箱即用。憑借卓越的工程化能力,CodeArts Check既可以無縫連接華為自研的工具,還能靈活地與業(yè)界通用的工具無縫集成,每天執(zhí)行幾百億行代碼檢查輕而易舉。

“自己做的降落傘自己先跳”,這是華為一慣的作風和傳統(tǒng),在代碼檢查方面當然也不例外。舉例來說,華為參考業(yè)界實踐、ISO標準制定了華為各類開發(fā)語言的編程規(guī)范,明確開發(fā)階段落地遵從編程規(guī)范的活動要求,以CodeArts Check服務華為的開發(fā)人員,支持30 語言,覆蓋各類規(guī)范40 ;并且通過“3 3”運營,讓產(chǎn)品在保障遵從編程規(guī)范的同時選取最適合自己的檢查規(guī)則進行掃描,并通過數(shù)據(jù)驅動運營,幫助公司、產(chǎn)品線、產(chǎn)品分層運營,使得代碼檢查活動落地可視、可管理。

今天,高質量的產(chǎn)品已成為客戶愿買、敢買和政府接受、信任華為的基本條件。華為的產(chǎn)品和解決方案已在全球170多個國家安全穩(wěn)定運行,積累和贏得了全球數(shù)萬客戶的信任。2019年3月,華為歐洲安全透明中心在比利時成立,其自研安全檢查引擎與業(yè)界優(yōu)秀工具一起,支撐了三家歐美獨立評估機構對華為產(chǎn)品代碼的安全評估,效果非常好。編寫好代碼能有效減少漏洞,降低系統(tǒng)脆弱性,是達成高質量產(chǎn)品的核心環(huán)節(jié),也是華為始終堅守的信念。

華為云CodeArts Check服務商業(yè)用戶的一個典型案例就是中國經(jīng)濟信息社(以下簡稱“中經(jīng)社”)。

中經(jīng)社是新華社旗下專業(yè)承擔經(jīng)濟信息服務業(yè)務的直屬機構,其綜合信息服務體系遍布全國,并覆蓋全球180個國家和地區(qū)。中經(jīng)社與許多不同的軟件開發(fā)商合作,由于研發(fā)標準不統(tǒng)一,軟件開發(fā)商獨立研發(fā),使得各開發(fā)商的研發(fā)質量很難統(tǒng)一保障,協(xié)同效率低下。

中經(jīng)社依托華為云CodeArts Check,通過研發(fā)運維一體化,規(guī)范研發(fā)過程,提升研發(fā)效率,實現(xiàn)質量活動從部署測試延伸到代碼規(guī)范、安全檢查。其中,代碼檢查自動觸發(fā),實現(xiàn)了代碼問題解決前移,研發(fā)交付質量提升50%

另外,華為云CodeArts Check還支撐許多大型開源社區(qū)開展代碼檢查工作,包括鴻蒙社區(qū)、碼云等。以鴻蒙社區(qū)為例,每周支撐運行近2萬個任務檢查,代碼掃描量超過300億行。

平臺 生態(tài),更好地服務廣大開發(fā)者,這是華為云CodeArts Check的初衷。華為云希望借助CodeArts Check平臺,提供開放、集成的能力,與生態(tài)伙伴合作協(xié)同,為企業(yè)和開發(fā)者提供組合的優(yōu)質服務。華為云CodeArts Check還推出了免費套餐,五人以下的團隊可以免費使用。另外,華為云還將陸續(xù)推出豐富的訓練課程,對開發(fā)者進行賦能,并在各技術社區(qū)中加強CodeArts Check的推廣,共建代碼檢查的良好生態(tài)。

未來,華為云CodeArts Check將持續(xù)增強自動修復和代碼深度安全檢查能力,并進一步提升平臺和引擎的開放性和擴展性,讓開發(fā)者能夠更加聚焦軟件功能的開發(fā),真正做到兼顧質量和效率,更好地助力企業(yè)商業(yè)成功。

點擊下方,第一時間了解華為云新鮮技術~

華為云博客_大數(shù)據(jù)博客_AI博客_云計算博客_開發(fā)者中心-華為云

#華為云開發(fā)者聯(lián)盟#

相關新聞

聯(lián)系我們
聯(lián)系我們
在線咨詢
分享本頁
返回頂部
布尔津县| 新野县| 嘉义县| 阿勒泰市| 尼木县| 海盐县| 武乡县| 日土县| 明光市| 邛崃市| 濉溪县| 朝阳区| 万州区| 滦南县| 玉山县| 大新县| 三原县| 云阳县| 革吉县| 内江市| 洛南县| 九寨沟县| 阳山县| 榆树市| 柳林县| 栾川县| 济宁市| 梁山县| 宁晋县| 宁远县| 明星| 北流市| 育儿| 洪洞县| 邳州市| 保靖县| 荥经县| 大新县| 治县。| 泉州市| 阿城市|