1. A computer program product comprising one or more computer storage media having thereon computer executable instructions, that when executed by one or more processors of a computing system, causes the computing system to perform the following: an act of interfacing with a data parallel environment that is running one or more kernels through a first interface; and for each of at least one of the one or more programs, an act of formulating a program object that abstractly represents a kernel that includes data parallel functionality, wherein the program object has a second interface that allows information regarding the kernel to be discovered by the debugger user interface module.