Before revision:  The challenge is linking hardware energy consumption to the high-level application source code, considering the complex run-time context , such as thread scheduling, user inputs and the abstraction of the virtual machine.
After revision:  The challenge is linking hardware energy consumption to high-level application source code, considering the complex run-time context , such as thread scheduling, user inputs and the abstraction of the virtual machine.