If a programmer stores System.currentTimeMillis() in a local variable, then later subtracts that variable from currentTimeMillis(), it is almost certainly incorrect (they should probably be using nanoTime()). This seems like it might match the https://github.com/google/error-prone/wiki/Criteria-for-new-checks .