Detecting Buggy Contracts via Smart Testing