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

ThreadSafe
Eclipse上的ThreadSafe
開發者Contemplate
目前版本1.3(2014年3月28日 (2014-03-28)
作業系統跨平台LinuxOS XWindows
類型靜態程式分析
許可協定專有軟件
網站http://www.contemplateltd.com/threadsafe

特點

編輯

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). 

外部連結

編輯

參見

編輯