跳至內容

ThreadSafe

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
ThreadSafe
Eclipse上的ThreadSafe
開發者Contemplate
當前版本1.3(2014年3月28日 (2014-03-28)
操作系統跨平台LinuxOS XWindows
類型靜態程序分析
許可協議專有軟件
網站http://www.contemplateltd.com/threadsafe

ThreadSafe是一個源代碼分析工具,用於識別與Java代碼庫中的並發相關聯的應用風險和安全漏洞。[1][2][3][4] ThreadSafe被各大投資銀行和其他企業所使用,以識別和避免運行在複雜的環境中的並發應用軟件的故障。[1][2][5] 這些是最隱蔽的軟件缺陷,因為他們不能可靠地通過試驗進行檢測。[6]

特點

[編輯]

ThreadSafe檢測嚴重的Java並發缺陷,有助於提高代碼並消除風險:[2][3][4]

  • 競態條件 - 從而導致不正確或不可預知的行為,很難在調試器中重現。
  • 死鎖[7] - 由等待共享資源的線程之間的循環等待引起。
  • 不可預知的結果 - 由於不正確處理並發集合,不當的錯誤處理,或混合對象同步。
  • 性能瓶頸 - 由於不正確的API使用,多餘的同步,以及使用不必要的共享可變狀態引起。

ThreadSafe緊密集成Eclipse軟件開發環境,和SonarQube軟件質量管理平台。在開發環境中提供上下文信息,以幫助開發人員直接在代碼中調查和解決並發問題。[2][3][4] 有一個命令行版本提供給非Eclipse的集成開發環境用戶和構建過程集成。

檢查標準的遵守情況

[編輯]

ThreadSafe檢測到違反甲骨文CERT安全編碼標準的Java頁面存檔備份,存於網際網路檔案館)。[8] 中許多並發相關規則的情況。

共同銷售的產品

[編輯]

ThreadSafe作為一個完全集成的插件包含於GrammaTech的CodeSonar程序分析工具套件。[9]

參考文獻

[編輯]
  1. ^ 1.0 1.1 Gupta, Vikram. 线程安全并发静态分析工具发布首个公开beta版本. InfoQ.com. 2013-10-08 [2014-07-01]. (原始內容存檔於2014-07-14). 
  2. ^ 2.0 2.1 2.2 2.3 Taft, Darryl. Contemplate Delivers ThreadSafe Java Concurrency Static Analysis Tool. DevX.com. 2013-09-04 [2014-07-01]. (原始內容存檔於2014-07-05). 
  3. ^ 3.0 3.1 3.2 Atkey, Robert. 使用Contemplate ThreadSafe发现并判断Java并发问题. InfoQ.com. 2014-03-24 [2014-07-01]. (原始內容存檔於2014-07-14). 
  4. ^ 4.0 4.1 4.2 Atkey, Robert; Sannella, Donald. ThreadSafe: Static Analysis for Java Concurrency. Electronic Communications of the EASST (European Association of Software Science and Technology). 2015, 72 [2016-03-18]. doi:10.14279/tuj.eceasst.72.1025.995. 
  5. ^ Roy, Ritobaan. Software Errors: New Technology Briefing For CFOs. CFO Insight. 2013-05-01 [2014-07-01]. (原始內容存檔於2013-10-14). 
  6. ^ Paul Rubens. Why Software Testing Can't Save You From IT Disasters. CIO.com. 2014-03-12 [2014-07-01]. (原始內容存檔於2014-03-14). 
  7. ^ Raible, Matt. Contemplate ThreadSafe Introduces Deadlock Detection. InfoQ.com. 2014-06-26 [2014-07-01]. (原始內容存檔於2014-07-09). 
  8. ^ SEI CERT Oracle Coding Standard for Java. Software Engineering Institute, Carnegie Mellon University. [2016-03-18]. (原始內容存檔於2016-03-24). 
  9. ^ Conquering Complex Java Concurrency Bugs with CodeSonar. GrammaTech White Paper. 2014年4月 [2014-07-01]. (原始內容存檔於2014-07-14). 

外部連結

[編輯]

參見

[編輯]