Improving software performance through configuration parameter tuning is a common activity during software maintenance. Beyond traditional performance metrics like latency, mobile app developers are interested in reducing app energy usage. Some mobile apps have centralized locations for parameter tuning, similar to databases and operating systems, but it is common for mobile apps to have hundreds of parameters scattered around the source code. The correlation between these "deep" parameters and app energy usage is unclear. Researchers have studied the energy effects of deep parameters in specific modules, but we lack a systematic understanding of the energy impact of mobile deep parameters. In this paper we empirically investigate this topic, combining a developer survey with systematic energy measurements. Our motivational survey of 25 Android developers suggests that developers do not understand, and largely ignore, the energy impact of deep parameters. To assess the potential implications of this practice, we propose a deep parameter energy profiling framework that can analyze the energy impact of deep parameters in an app. Our framework identifies deep parameters, mutates them based on our parameter value selection scheme, and performs reliable energy impact analysis. Applying the framework to 16 popular Android apps, we discovered that deep parameter-induced energy inefficiency is rare. We found only 2 out of 1644 deep parameters for which a different value would significantly improve its app's energy efficiency. A detailed analysis found that most deep parameters have either no energy impact, limited energy impact, or an energy impact only under extreme values. Our study suggests that it is generally safe for developers to ignore the energy impact when choosing deep parameter values in mobile apps.
翻译:通过配置参数调制改进软件性能是软件维护过程中常见的活动。除了延时等传统性业绩衡量标准外,移动应用程序开发者还有兴趣减少应用能源的使用。一些移动应用程序有集中的参数调控地点,类似于数据库和操作系统,但移动应用程序通常有数百个参数分散在源代码周围。这些“深”参数与应用能源使用之间的关联并不明确。研究人员研究了特定模块中深层参数的能源影响,但我们对移动性深度参数的能源影响缺乏系统的理解。在本文中,我们实验性地调查了这一问题,将开发者调查与系统能源测量相结合。我们对25个和机器人开发者的激励性调查表明,开发者并不理解,而且基本上忽视了深度参数的能源影响。为了评估这种做法的潜在影响,我们提出了一个深度参数能源分析框架,我们的框架确定了深层参数,仅根据参数选择了这些参数,并进行了可靠的能源影响分析。我们发现,将框架应用到16个通用和机器人应用程序,我们发现,在深度参数评估中,一个深度的能源效率分析是稀少见的。在深度参数分析中,我们发现,一个深度的能量效率的深度参数影响是稀少的。