Static code analysis tools are designed to aid software developers to build better quality software in less time, by detecting defects early in the software development life cycle. Even the most experienced developer regularly introduces coding defects. Identifying, mitigating and resolving defects is an essential part of the software development process, but frequently defects can go undetected. One defect can lead to a minor malfunction or cause serious security and safety issues. This is magnified in the development of the complex parallel software required to exploit modern heterogeneous multicore hardware. Thus, there is an urgent need for new static code analysis tools to help in building better concurrent and parallel software. The paper reports preliminary results about the use of Appentra's Parallelware technology to address this problem from the following three perspectives: finding concurrency issues in the code, discovering new opportunities for parallelization in the code, and generating parallel-equivalent codes that enable tasks to run faster. The paper also presents experimental results using well-known scientific codes and POWER systems.
翻译:静态代码分析工具旨在帮助软件开发者通过在软件开发生命周期的早期发现缺陷,在较少的时间里建立质量更好的软件。即使是最有经验的开发者也经常引入编码缺陷。识别、减轻和解决缺陷是软件开发过程的一个基本部分,但经常发现缺陷。一个缺陷可能导致轻微故障或造成严重的安保和安全问题。这在开发利用现代多元多功能硬件所需的复杂平行软件中得到了放大。因此,迫切需要新的静态代码分析工具,以帮助建设更好的同时和平行软件。文件报告使用Appentra的平行软件技术解决这一问题的初步结果,有三个方面:在代码中找到同值问题,发现代码中平行化的新机会,产生平行代码,使任务能够更快地运行。文件还介绍了使用众所周知的科学代码和POWER系统的实验结果。