In reply to jeremy.ralph:
There are the following two papers that treat the subject: Random Stability in SystemVerilog and UVM Random Stability
Maybe some of the things presented in the papers could be linted using a tool, but a lot are patters that you have to follow.
As a side note, it’s not just changes to the code that can cause random stability issues. Different command line arguments to the tool could affect this as well (e.g. GUI vs. command line or with vs. without coverage).
As another side note, it’s not just random stability that can be affected. There’s also the possibility that iteration order gets affected. One example I’ve seen was iterating in a foreach loop over an associative array with class handles as keys.