# Towards Energy-Efficient Mobile Ad Optimization: An App Developer Perspective
## 2 Related Work  
There are several research contributions to developing a technique that efficiently saves power consumption of smart devices. However, the hidden energy cost of mobile ads over apps is overlooked. Therefore, in this context, [PERSON] et al. [5] use a statistical method to compute the energy utilization related to the ads. This technique operates in two ways: First, they built a statistical model which provides the assessment. This model assumes the static values of ads that are SIZE, TYPE, and RRATE before the implementation of an app, where the SIZE is the size of the ad, TYPE is the behavior of the app either text or video and RRATE is the refresh time of the ad content. Second, for more precise energy measurement, they introduce a run-time energy measurement technique. This technique works after app implementation. This technique captures key run-time metrics such as system energy model, network energy model, and display energy model. This technique provides information related to the power consumption of an app. Therefore, this proposed work predicts 31% energy consumption before the implementation and 14% after the app development. Performance-based energy-efficient guidelines for Android mobiles are proposed in [8]. In this work, the authors provide the best set of practices to develop an energy-efficient app. This practice includes static analysis of the mobile app. The static analysis includes allocating an object upfront, efficient wake call, recycles, reduce over layout, useless parents, using fewer resources, reducing view call and overdrawing. Through this analysis, the developer reduces a considerable amount of mobile app energy consumption. Furthermore, energy modeling provides the source of energy dissipation; therefore, developers correct a particular part of the code to achieve energy savings. However, this static analysis is unable to reduce the hidden energy cost by mobile ads. EcoDroid, an energy-based ranking approach, is proposed in [9]. In this work, [PERSON] et al. efficiently calculate the energy consumption of mobile apps by dynamic and static analysis. In dynamic analysis, a test case is generated by interaction with the application, and converts it to path information. This information is combined with an analyzer for the estimation of consumed power of the dynamic path in the app. However, static analysis extracts the app call graph which contains the different possible invocation sequences of Android application. Through this energy consumption information, EcoDroid ranks the same category applications according to their energy consumption. [PERSON] et al. [10] propose a lightweight fine-grained power estimation \(eLens\) approach, which efficiently calculates the power consumed in smart devices at the software level. In order to estimate energy dissipation, \(eLens\) combines two energy estimation processes, program analysis and per-instruction energy modeling. In this approach, the workload is generated to find the path of the user action, and is incorporated with the energy model to calculate per-instruction energy consumption. Furthermore, \(eLens\) uses energy annotation to display energy consumption per-instruction graphically; through this, the developer efficiently finds energy consumption of the app and reduces it. However, this approach enables the reduction of the hidden cost of an app such as mobile ads. This hidden cost affects the mobile app in terms of energy dissipation and user rating. In [11], [PERSON] et al. propose a programmable user interface \((UI)\) automation (PUMA) for mobile applications. PUMA is a programmable framework which efficiently separates the exploring logic of app pages from analyzing the logic of the app. The authors implemented PUMA to perform dynamic analysis of smartphone apps using event handler Monkey (UI automation)--to monitor security, energy consumption, performance, and the correctness. Through this, the developer modifies apps at the run-time and enables the validation of app activities from the security breach.