Debugging high‐performance component‐based applications

Component frameworks for high‐performance computing (HPC) have special requirements that distinguish them from general component frameworks and other traditional/monolithic codes. HPC component‐based applications have a crucial need for correct, high‐performance execution across a variety of open‐source and proprietary component compositions, potentially incorporating several different programming languages. This paper targets the unique challenges associated with debugging HPC component‐based applications in the Common Component Architecture (CCA). We propose to take advantage of the well‐defined code separation created by component interfaces or ‘ports’ by logging port method invocations and capturing the corresponding data arguments. This approach makes it possible to find and isolate faulty components, simulate their invocation for specific debugging analyses, check data argument validity and boundaries, and create inputs for black‐box testing. Published in 2006 by John Wiley & Sons, Ltd.