TypeDevil: dynamic type inconsistency analysis for JavaScript | Synapse