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

外部链接

编辑

参见

编辑