Facebook 開源工具 助開發者防止 Race Condition

近日 Facebook 開源了開發工具 RacerD,來幫助開發者檢查並預防 Race Condition bug。

Race Condition 是程式在多線程多任務處理時,對有些共享資源進行操作(例如兩個進程同時修改同一個數據時),導致整個處理過程變得混亂甚至鎖死,引發 Bug。

Race Condition 查找起來非常困難,開發者很難徹查一個 app 中所有的潛在問題,因為 Race Condition 引發的 bug 並不持續,因此難以診斷。

Facebook 科學家 Peter O’Hearn 指出,RacerD 雖然不能保證找出全部 race condition ,但能查出大多數 race condition 導致的 bug。

Facebook 的 Android 應用開發團隊曾在迭代新聞源並發功能(可將 app 性能提升 5%)時使用 RacerD 找到來超過 1000 個 race condition bug。

目前 RacerD 兼容 Java,下一步 Facebook 將進一步開發使 RacerD 能夠兼容 C++。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *