[ASE 2018] S-gram: towards semantic-aware security auditing for Ethereum smart contracts