SI2-SSI: A Sustainable Infrastructure for Performance, Security, and Correctness Tools

2018-04-24T04:13:20Z (GMT) by John Mellor-Crummey Barton Miller
Properties of software for computational science, data analysis, and connectivity cannot be understood without accounting for the characteristics and behavior of the actual binary code. A collaboration between Rice University and the University of Wisconsin-Madison is overhauling, integrating, and enhancing static binary analysis and runtime technologies to produce components that provide a foundation for performance, correctness, and security tools that operate on software at the binary level.<div><br></div><div>In 2018, the project team enhanced the Wisconsin’s Dyninst binary analysis tools to better analyze program control flow in the presence of non-returning functions and indirect jumps and accelerated the analysis of large application binaries by adding task-based parallelism to Dyninst. Dyninst was used to add two new capabilities to Rice's HPCToolkit performance tools: a performance tool for measuring and attributing the performance of applications on compute nodes equipped with GPU accelerators and automated analysis of time series data to understand parallel program behavior. In addition, Dyninst was used to instrument memory accesses in ROMP - a new tool for detecting data races developed at Rice. </div>