自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Meta 開源 Android Java 的靜態(tài)死鎖檢測器

開源
Meta (原 FaceBook)開發(fā)了一種新的靜態(tài)分析器,它可以在 Android 的 Java 代碼中捕獲死鎖,而無需運行代碼。該死鎖檢測器是開源的 Infer 靜態(tài)分析框架的一部分。

Meta (原 FaceBook)開發(fā)了一種新的靜態(tài)分析器,它可以在 Android 的 Java 代碼中捕獲死鎖,而無需運行代碼。該死鎖檢測器是開源的 Infer 靜態(tài)分析框架的一部分。

據(jù)工程師 Nikos Gorogiannis 介紹,新的死鎖檢測器能夠分析具有數(shù)億行代碼的代碼庫的修訂,目前已經(jīng)在 Meta 的持續(xù)集成系統(tǒng)中部署,它會掃描對 Android 應(yīng)用程序系列的每個提交。在過去兩年中,Meta 開發(fā)人員針對它的死鎖報告采取了 200 多項修復(fù)措施,修復(fù)率約為 54%。

該檢測器如何運作?

該分析器使用抽象解釋技術(shù)來設(shè)計。對于每個方法,分析器都會計算方法在獲取和釋放鎖方面的行為摘要,以及該方法是在主線程還是在后臺線程上運行。然后使用一個關(guān)鍵對 (A,B) 記錄了以下事實:該方法試圖獲取鎖 B,而此時,它已經(jīng)精確地持有集合 A 中的鎖。以上數(shù)據(jù)通過所有方法的計算得出,足以讓判斷兩個并發(fā)方法之間是否可能出現(xiàn)死鎖問題。

為了快速高效,該工具還避免分析應(yīng)用程序中的所有源文件。相反,它首先處理已修改文件的所有方法。然后基于該數(shù)據(jù)應(yīng)用啟發(fā)式方法,來定位修改文件之外的方法,這些方法可能與修改版本中的一種方法發(fā)生死鎖。

死鎖通常是不可恢復(fù)的錯誤,也是非常難以診斷的錯誤,因為線程調(diào)度本質(zhì)上是不確定的。因此,死鎖的測試可能需要運行數(shù)千或數(shù)百萬次才能顯示問題,那么無需運行甚至構(gòu)建代碼即可靜態(tài)地檢測死鎖就非常有價值。

Nikos Gorogiannis 稱其團隊的方法已實現(xiàn)了死鎖分析這一目標(biāo),同時也使其具有足夠的可擴展性,可以在大型代碼庫上部署分析器。

本文轉(zhuǎn)自O(shè)SCHINA

本文標(biāo)題:Meta 開源 Android Java 的靜態(tài)死鎖檢測器

本文地址:https://www.oschina.net/news/185948/deadlock-detector-for-android-java

責(zé)任編輯:未麗燕 來源: 開源中國
相關(guān)推薦

2010-12-28 11:17:50

chkrootkitrootkit檢測器

2024-01-15 14:03:00

2023-07-26 09:00:00

人工智能AI檢測

2010-12-24 10:26:19

2023-10-23 12:05:17

2010-12-22 21:52:12

rkhunter

2020-09-22 20:14:51

人工智能

2024-03-19 11:52:28

2009-04-01 22:10:55

2010-07-06 10:08:57

SQL Server

2010-09-14 15:34:29

sql server死

2014-01-09 09:42:56

Python語言檢測器

2009-03-25 15:21:17

2024-08-01 09:00:00

目標(biāo)檢測端到端

2023-06-02 13:19:15

模型AI

2014-04-16 14:00:01

墨跡空氣檢測器曝光

2024-08-26 08:16:13

2024-06-18 10:20:00

YOLO目標(biāo)檢測

2024-07-24 10:12:47

2023-11-10 15:36:10

點贊
收藏

51CTO技術(shù)棧公眾號