當前位置:
首頁 > 科技 > Facebook開源捕捉代碼缺陷的自家工具:OneWorld、Jupiter、AL

Facebook開源捕捉代碼缺陷的自家工具:OneWorld、Jupiter、AL

大規模測試管理和調試工作從此變得容易了一點。

Facebook設備測試

Facebook周三計劃推出一套開源開發工具,以簡化應用程序開發測試和缺陷查找工作。

Facebook在倫敦的Dev Tools @Scale大會上打算大秀一把:

工程主管布萊恩·奧沙利文(Bryan O Sullivan)在接受英國IT網站TheRegister的電話採訪時表示,雖然Facebook可能因Oculus和Aquila之類的知名項目而家喻戶曉,但該公司有大批工程師致力於設法提高軟體開發效率。

OneWorld體現了這個目標。OneWorld旨在補充Facebook的移動設備實驗室,讓開發人員得以在數千個移動設備上同時進行測試,它提供了一套API來管理遠程測試資源,比如手機、瀏覽器和模擬器。

在Facebook,OneWorld每天協調大約20000個終端資源,處理100多萬個作業。

奧沙利文說:「這個系統旨在幫助工程師處理Android設備、iPhone以及模擬這些設備的模擬器,還有瀏覽器。我們的目標是,讓這些資源處理起來盡量簡單明了。」

OneWorld包括運行時worker服務(在連接到遠程資源的計算機上運行的守護程序)、調度程序(這裡是指Jupiter)以及讓工程師可以將本地資源連接到One World雲的衛星服務。

奧沙利文說:「這些不同的環境往往有點怪異。在OneWorld出現之前,工程師常常獲得或收到硬體,但代碼在硬體上運行不了,或者他們無法獲得所需的資源。OneWorld把所有這些細節隱藏了起來。」

Jupiter與OneWorld配合使用,還支持軟體工程師提交的其他作業,比如構建新的軟體包、安裝應用程序依賴項以及運行測試。

該服務試圖將工作請求與可用於處理該工作的計算資源相匹配,並跟蹤作業流程,確保資源高效分配。

Facebook的開發人員編寫了大量測試,確保代碼正常運行。Jupiter幫助那些測試儘快加以提交和處理。Facebook的軟體工程師阿德里安娜·利博里奧(Adriana Liborio)解釋道:「藉助Jupiter,我們將調度作業的時間由數百秒縮短到了幾毫秒。」

Facebook的軟體工程師朱爾斯·維拉德(Jules Villard)說:「Infer可以在不必運行源代碼的情況下,了解源代碼執行什麼樣的功能,試圖發現不一致的地方。」他表示,靜態分析與測試相輔相成,通常會在源代碼進入到在Facebook用戶的手機上運行的應用程序之前,每個月發現源代碼存在的成千上萬個問題。

維拉德表示,Infer試圖證明代碼沒有缺陷,不過並不給出證據。

奧沙利文說:「Infer能夠在代碼片段中找到工程師不一定能想到的缺陷。這非常有價值,因為它能執行透徹的分析。」

AL代表AST(抽象語法樹)語言,它為在不調整或改動Infer源代碼的情況下定義錯誤查找器提供了一種方法。這使得擴展Infer不那麼複雜。

比如說,開發人員使用AL,就可以聲明下列規則,然後檢查代碼是否符合要求:「包含單詞『delegate』但不包含單詞『queue』的屬性不應被聲明為是strong屬性。」

奧沙利文表示,這些工具「節省了大量的時間,它們直接提高了Facebook工程師每月向20億人交付的軟體的質量。」

它們還可能對其他企業組織大有用處。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲頭條 的精彩文章:

谷歌、IBM和Lyft 聯合推出開放源代碼項目 Istio
百度雲 BCC/RDS 正式支持 Windows Server 2016與SQL Server 2016
哎!無奈,遇到DDos到底應該怎麼辦?阿里雲將你扔進黑洞;騰訊雲清退你!
除了4K非編NAS、VPN網關,阿里雲在成都還發布了哪些產品?

TAG:雲頭條 |

您可能感興趣

Microsoft Outlook中的缺陷讓黑客輕鬆盜取您的Windows密碼
Genome Research:明晰癌症DNA修復缺陷的起源
新的Apache Struts RCE缺陷讓黑客接管Web伺服器
iFixit的拆機揭示了Galaxy Fold 最大設計缺陷
Touch Bar款Macbook Pro屏幕「舞台光」是設計缺陷導致
Apache OpenWhisk 缺陷可導致攻擊者在 IBM 雲中覆寫代碼
英特爾叫停Meltdown和Spectre補丁,稱仍有缺陷
AI賦能DevOps:基於TensorFlow的端到端軟體缺陷預測
RED創始人:因設計缺陷導致Hydrogen One原本的相機模塊不會發布,已在研發新模塊和Hydrogen Two
圖美 Noontec Zoro II 耳機:有缺陷的偉大
Binder Driver缺陷導致定屏的實戰分析
初代 iPhone 設計師說出了 iPhone 的最大缺陷
Magic Leap One 或存在嚴重設計缺陷
修復FaceTime缺陷 iOS 即將發布
任天堂的Switch bootROM硬體缺陷解決方案被攻破
Galaxy Fold 詳細拆解出爐(附主要晶元)!IFIXT揭秘其最大設計缺陷
蘋果公開承認iPhone 6/6 Plus設計有缺陷
OPPO「神機」oppo Find X三大缺陷!別等買了才後悔
Adv.Funct.Mater.:MoS2納米帶的大規模製造及其光誘導電子以及熱傳導特性——結構和缺陷中的二分法
Google Pixel 2 XL性能失常:可能是硬體缺陷