Silvia Crafa, Luca Padovani: The chemical approach to typestate-oriented programming. OOPSLA 2015: 917-934