If you have some tools like HAWKEYE and the source, that would do it for you.
If you have source, you can do a FNDSTRPDM
If you have no source. it gets more difficult.
You can do DSPPGMREF *ALL to an output file and scan for the program names.
Another option is to rename the program object. Some job will crash and that will tell you where it is used. Then you can rename the program object back to what it was and give the failing program an ‘R’. Not the best method, but I guarentee results 😉