Programming by Examples