Energy consumption has become a major concern in com-
puting nowadays. Hardware designs are more and more energy efficient,
especially in the field of battery-based devices, as smartphones, the sub-
ject of study in this work. However, software ultimately drives hardware
behavior, and it needs to be carefully designed to get the best perfor-
mance. This task requires deep knowledge on the hardware architecture,
and performing it by experts is unpractical for all existing hardware in-
frastructures. In this work, we propose an automated methodology to
modify the source code so that the performance of the software is opti-
mized, in terms of both its energy consumption and runtime. For that,
a novel combinatorial multi-objective optimization problem is defined,
and a micro cellular genetic algorithm is designed to address it. Results
show important savings of up to 78% runtime and 64% consumption
performance on a commercial Android device.