Invariant-based automatic testing of AJAX user interfaces | Synapse