How are functionally similar code clones syntactically different ? An empirical study and a benchmark