Security Analysis Methods for Detection and Repair of DoS Vulnerabilities in Smart Contracts