Definition, implementation and validation of energy code smells: an exploratory study on an embedded system