Heap corruptions within PL/I are for variables with a data type of BASED or CONTROLLED. Analysis of the source code is required for BASED items because they can be assigned an address based in STATIC or AUTOMATIC storage by a programmer, unintentionally causing a corruption of the stack or static storage.
Heap corruptions are difficult to run down because the point at which they are detected can be significantly past the point at which they occurred. Micro Focus has provided tooling for its COBOL and PL/I support which can be useful to identify where the corruption occurred; however, knowledge of memory models and application code are required for successful resolution.