Dynamically Discovering Likely Program Invariants to Support Program Evolution | AMiner