C-Reduce has a fun concept of "interestingness", the predicate that you are trying to preserve whilst shrinking your program: https://embed.cs.utah.edu/creduce/using/ It's a great term: previously I've used the boring "property under test".