受訪者 | 梁宇寧
記者 | 伍杏玲
出品 | CSDN(ID:CSDNnews)
平常程式設計師喜歡說「Talk is cheap, show me the code」這句話,可是你知道你敲下的一行代碼背後,有多少漏洞?據《代碼大全(第二版)》顯示,平均而言,軟體交付中每 1000 行代碼大約有 1-25 個錯誤。
如何高效化、自動化、準確定位代碼漏洞成為不少開發者和管理者頭疼的問題。關注軟體質量的鑑釋於 2018 年成立,推出的愛科識靜態代碼分析工具得到較好的反響,目前剛完成 A+ 輪融資的鑑釋發展勢頭強勁,他們對於靜態代碼分析有怎樣獨到的理解與經驗?未來還會放哪些「大招」,給我們帶來哪些驚喜?
對此,CSDN(ID:CSDNnews)專訪鑑釋聯合創始人兼 CEO 梁宇寧,聊聊軟體質量的那些事兒。
梁宇寧
20 年 IT 老兵,孜孜不倦只為軟體質量
在創立鑑釋前,梁宇寧作為一名 20 多年的 IT 老兵,基於多年軟體開發和管理經驗,幾年前梁宇寧洞悉到中國靜態代碼分析市場上的空白,「因為就軟體開發生命周期(SDLC)來說,國外已有一些成熟的工具,但中國市場尚未成熟,大家不重視檢查原始碼的質量」。因此在 2018 年初,梁宇寧創辦專注軟體質量的鑑釋。
據統計,相比在應用程式啟動後識別錯誤和修復,在編碼早期階段識別代碼錯誤並修復可節省15倍的成本。在開發生命周期早期做軟體測試可獲得更高效率的「左移」思想下,鑑釋研發的漏洞掃描工具愛科識,它可集成到開發過程中,完成代碼漏洞掃描,通過分析識別可能導致缺陷的原始碼,避免內存汙染、核心轉儲、緩衝區溢出、非法操作、以及空指針等問題的出現,自動化保障代碼質量和提高研發人員效率。
踩過技術人踩的創業「坑」:唯技術,不注重產品
儘管梁宇寧在 IT 界「摸爬滾打」 20 載,談到創業踩過的坑,梁宇寧坦言道:「由於我創業經驗不夠,創業難以達到『天時地利人和』六字,踩過的坑不少。」
剛開始創業時,梁宇寧犯了技術人普通會犯的錯:太注重核心技術的驗證,忽略產品功能。他建議技術創業者可學習賈伯斯的思想:先要把產品做好,再討論用使用哪些技術來解決客戶問題,不是先從技術考慮產品方向。
所幸的是,團隊迅速發現並糾正此問題,保證團隊的順利運行。功夫不負有心人,團隊的收穫接連而至:先是核心技術算法在美國NIST軟體質量基準獲得較好的結果,緊接著鑑釋順利完成 A+輪融資。
梁宇寧表示,本次融資後,今年主打將技術產品化,完成下一輪的產品線規劃,對DAST、IAST 技術做原型驗證,爭取在下一輪融資前,可在原型技術基礎上推出更多新品,幫助開發者提高軟體開發的質量與提高效率。在團隊把技術產品打磨得更完美之時,同時擴大團隊規模,為更多客戶提供更好的服務,他十分歡迎對鑑釋感興趣的小夥伴前來加入團隊。
工具解析代碼,如何確認安全?
有開發者在使用代碼分析工具時,往往存在疑問是否會存在安全問題。對此,梁宇寧表示,從自己的第一份工作開始,國外已有代碼分析工具和產品。因為海外工程師的薪資較高,管理者非常注重效率和產品質量。
梁宇寧在華為工作時,他深刻認識到華為對於質量的要求非常高,那時候的梁宇寧和同事用國外的代碼分析產品較多。而當時國內產品使用的人較少,畢竟做這類產品的門檻很高。
由於鑑釋創始團隊(如鑑釋首席架構師劉新銘、首席技術官陳新中等)均是資深編譯器專家出身,而編譯器是對於理解代碼的程度要求最深的技術,於是在打造愛科識時就應用相關技術來分析哪些代碼好,哪些代碼不好,哪些可能存在漏洞。相比競品而言,技術上是革命性的改變,即愛科識應用編譯器技術來解決代碼分析的核心問題。
代碼分析工具的難點
在不同行業不同系統運行一款代碼分析工具時,將會遇到一些難題。梁宇寧介紹道:
一、在 AIoT 上,由於其本身碎片化的特性,每家AIoT企業的系統構建方式不盡相同,對代碼安全和質量的認識還有改進空間。
對此,鑑釋和 AIoT 廠商進行深入的合作,增加培訓交流,引導其對於物聯網軟體跟質量的認知與了解。
二、如今構建軟體應用的複雜度很高,例如一個安卓應用不僅使用Java、C語言,還有系統調用代碼。如果沒有一個實現跨語言或者跨模塊的技術的全程分析工具,很難提供高準確率、漏報率的。
對此,愛科識提供跨語言、跨模塊,跨平臺服務,涵蓋從用戶態到內核態技術。愛科識通過解析企業系統的構建環境,給「配置」一個特別的編譯器用於構建工程,如此一來,可分析不同企業系統的代碼問題並上報給企業。
梁宇寧關注中國開源技術的發展,曾在 CSDN 撰寫一些開源文章。目前愛科識面向 ToB 和本地部署,未來梁宇寧將計劃和 GitHub、GitLab、Jenkins 等開源夥伴合作,愛科識助力開原始碼提高質量。
談及愛科識未來是否會開源?梁宇寧表示,將在未來時機成熟時考慮。發展生態,在代碼合規和規則制定上,為更多行業做更多貢獻更多的規則和更多語言支持。
無需擔心無代碼浪潮
談及無代碼/低代碼浪潮下,不少開發者會有一些擔憂,TA 是否對應用程式開發、代碼分析工具有所影響?
梁宇寧說:「不用太擔心。無代碼/低代碼已流行了幾十年,TA 像是樂高玩具,但很多產品不是用『樂高』就做出來。因為一些軟體業務不可能太模塊化,或者太自動化地生產,最終需要開發者自己來完成業務邏輯代碼。」
早在梁宇寧在諾基亞工作期間,已有自動化工具做業務代碼,對於邏輯簡單、標準的業務,可以拿著 Plato 畫的流程圖通過工具便可完成簡單功能機的應用。但是對於邏輯非常複雜的業務,開發者不可能不寫代碼,不可能沒有寫代碼的人,不可能沒有代碼錯誤。所以它對於這種代碼自動化趨勢,梁宇寧是「不樂觀,不悲觀」。
梁宇寧進一步說道,低代碼可能會減少一些寫業務代碼的職位,但是對於核心科技,特別是當前局面下,開發者有較大的發展空間的,畢竟像作業系統等技術很複雜,依賴的核心技術庫就超過1000個,所以在基礎軟體上,中國開發者還是大有可為的。
對 CSDN 寄語:自由、開放、追求
談及和 CSDN 的緣分,時間還得回到 20 年前,還在讀大學的梁宇寧通過同學閱讀到 CSDN 主辦的《程式設計師》雜誌。不知不覺,今年已是《程式設計師》雜誌的20 周年了,他希望 CSDN 和打造軟體、程序藝術一樣,需要一定自由的環境和非公益性的環境發展。正如「在軟體核心技術上要坐冷板凳至少十年,才會到有大回報的機會。」最後梁宇寧給 CSDN 送上「自由、開放、追求」的寄語來結束本次訪談。
嘉賓簡介:梁宇寧,鑑釋執行長。在創立鑑釋前,梁宇寧先生在世界 500 強企業(包括三星、諾基亞、華為)和初創科技公司領導軟體開發工作,他擁有超過二十年的軟體開發和管理經驗。在他的職業生涯中,他曾在中國、韓國和歐洲多個國家的國際性企業就職,對全球的科技和軟體安全行業有深刻的行業洞見。梁宇寧先生畢業於南洋理工大學,並獲得工程碩士學位。