  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.
