ThreadSafe
外观
![本页使用了标题或全文手工转换](http://178.128.105.246/cars-http-upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
![]() Eclipse上的ThreadSafe | |
开发者 | Contemplate |
---|---|
操作系统 | 跨平台: Linux ,OS X ,Windows |
类型 | 静态程序分析 |
许可协议 | 专有软件 |
网站 | 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.0 1.1 Gupta, Vikram. 线程安全并发静态分析工具发布首个公开beta版本. InfoQ.com. 2013-10-08 [2014-07-01]. (原始内容存档于2014-07-14).
- ^ 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.0 3.1 3.2 Atkey, Robert. 使用Contemplate ThreadSafe发现并判断Java并发问题. InfoQ.com. 2014-03-24 [2014-07-01]. (原始内容存档于2014-07-14).
- ^ 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.
- ^ Roy, Ritobaan. Software Errors: New Technology Briefing For CFOs. CFO Insight. 2013-05-01 [2014-07-01]. (原始内容存档于2013-10-14).
- ^ Paul Rubens. Why Software Testing Can't Save You From IT Disasters. CIO.com. 2014-03-12 [2014-07-01]. (原始内容存档于2014-03-14).
- ^ Raible, Matt. Contemplate ThreadSafe Introduces Deadlock Detection. InfoQ.com. 2014-06-26 [2014-07-01]. (原始内容存档于2014-07-09).
- ^ SEI CERT Oracle Coding Standard for Java. Software Engineering Institute, Carnegie Mellon University. [2016-03-18]. (原始内容存档于2016-03-24).
- ^ Conquering Complex Java Concurrency Bugs with CodeSonar. GrammaTech White Paper. 2014年4月 [2014-07-01]. (原始内容存档于2014-07-14).