Inferring contracts by abstract interpretation with application to pointer nullness analysis | Synapse