SmartScript: A Learning-based Approach to Static Type and Semantic Inconsistency Analysis of Dynamic Scripts (and Other Semi-Structured Code) Grant uri icon