自动检测并行 Java 程序中的错误
2008-10-20 16:00
246 查看
并行程序的不确定性造成并行程序的错误很难查找,重现和调试。MTRAT
可以收集程序的运行时信息,在线分析程序中所有可能的并行程序错误。
当 CPU
进入多核时代之后,并行编程将更加流行,但是编写并行程序更容易出错。在开发过程中,工程师能注意到同一个程序在单线程运行时是正确的,但是在多线程时,它会有可能出错。和并行相关的错误的产生原因通常都非常隐晦,而且在一次测试中,它们的出现与否具有很强的随机性。由于程序中多个线程之间可能以任意的方式交错执行,即使一个并行程序正确的运行了成百上千次,下一次运行仍然可能出现新的错误。
Multi-Thread Run-time Analysis Tool 是由 IBM 为多线程 Java 程序开发的运行时分析工具,它可用于分析并查找
Java 代码中的一些不容易发现的潜在并行程序错误,比如数据竞争 (Data Race) 和死锁
(Deadlock),从而提高并行程序的代码质量。本文将介绍检测 Java 程序中随机并行错误的一种新工具
(http://alphaworks.ibm.com/tech/mtrat),检查 Java
代码中的潜在的并行程序错误,从而提高代码的安全性和稳定性,并演示其对于潜在而并未发生的错误的发掘能力。
概述
Java
编程语言为编写多线程应用程序提供强大的语言支持。但是,编写有用的、没有错误的多线程程序仍然比较困难。编程语言中线程面临很多挑战。在这些挑战中,最主要的就是编程复杂度的提高。这些编程复杂度是由同步共享变量的访问,潜在的依赖于时序的错误和调试和优化并行程序的复杂性造成的。
MTRAT 只所以把不同的技术集成到了一个单一的开发工具中,是为了掩盖工具内部的复杂性,并使得 MTRAT 方便使用。 MTRAT
主要由以下部分组成......
本文转自IBM Developerworks中国
请点击此处查看全文
可以收集程序的运行时信息,在线分析程序中所有可能的并行程序错误。
当 CPU
进入多核时代之后,并行编程将更加流行,但是编写并行程序更容易出错。在开发过程中,工程师能注意到同一个程序在单线程运行时是正确的,但是在多线程时,它会有可能出错。和并行相关的错误的产生原因通常都非常隐晦,而且在一次测试中,它们的出现与否具有很强的随机性。由于程序中多个线程之间可能以任意的方式交错执行,即使一个并行程序正确的运行了成百上千次,下一次运行仍然可能出现新的错误。
Multi-Thread Run-time Analysis Tool 是由 IBM 为多线程 Java 程序开发的运行时分析工具,它可用于分析并查找
Java 代码中的一些不容易发现的潜在并行程序错误,比如数据竞争 (Data Race) 和死锁
(Deadlock),从而提高并行程序的代码质量。本文将介绍检测 Java 程序中随机并行错误的一种新工具
(http://alphaworks.ibm.com/tech/mtrat),检查 Java
代码中的潜在的并行程序错误,从而提高代码的安全性和稳定性,并演示其对于潜在而并未发生的错误的发掘能力。
概述
Java
编程语言为编写多线程应用程序提供强大的语言支持。但是,编写有用的、没有错误的多线程程序仍然比较困难。编程语言中线程面临很多挑战。在这些挑战中,最主要的就是编程复杂度的提高。这些编程复杂度是由同步共享变量的访问,潜在的依赖于时序的错误和调试和优化并行程序的复杂性造成的。
MTRAT 只所以把不同的技术集成到了一个单一的开发工具中,是为了掩盖工具内部的复杂性,并使得 MTRAT 方便使用。 MTRAT
主要由以下部分组成......
本文转自IBM Developerworks中国
请点击此处查看全文
相关文章推荐
- 自动检测并行 Java 程序中的错误
- 如何让客户端自动检测安装程序(java)
- Java 自动登录程序片段
- 利用jdk自带工具检测java运行程序死锁现象
- linux下使用jni实现c++调用java程序(4)DestroyJavaVM出现错误
- Java并行程序基础(十二)
- Java使用java命令运行程序出现:找不到主类错误
- 多线程Java程序中常见错误的巧处理
- Java高并发程序设计笔记2之并行程序基础
- failover 故障检测、报警、自动切换 程序 monitor_nginx.sh 用于对web server (Nginx) 监测与故障处理
- Java程序读取excel再分析——纠正前篇错误
- 利用ant执行javac任务编译java程序,报 错误: 编码GBK的不可映射字符
- java项目显示红叉,程序却没有错误
- java项目显示红叉,程序却没有错误
- 您会收到一个安装程序检测到另一个程序需要重新启动计算机"的错误消息时您尝试安装 Visual Studio.net 或 Visual Studio 2005
- Java使用内存的程序检测
- Java中编写交互程序时, 如何处理用户输入错误
- Java 并行程序基础
- 归纳:编写Java程序最容易犯的21种错误
- java程序自动重启