Monitoring energy consumption in android applications
Contribuinte(s) |
Saraiva, João Alexandre Fernandes, João Paulo |
---|---|
Data(s) |
29/09/2014
|
Resumo |
Dissertação de Mestrado em Engenharia Informática The use of powerful mobile devices, like smartphones, tablets and laptops, are changing the way programmers develop software. While in the past the primary goal to optimize software was reducing the run time, nowadays there is a growing awareness of the need to reduce energy consumption. In this thesis we present a combination of techniques to detect anomalous energy consumption in Android applications, and to relate it to their source code. The idea is to provide applications developers with techniques and tools to locate in the source code of the application the code fragments that are responsible for high energy consumption. Thus, we present a model for energy consumption for the Android ecosystem. The model is then used as an API to monitor the application execution. To relate program execution and energy consumption to the application source code, the code is first instrumented with calls to the API of the model. To execute that (instrumented) application, we use a testing framework for Android. Finally, we use a statistically approach, based on fault-localization techniques, to localize abnormal energy consumption in the source code. O uso de dispositivos móveis, como smartphones, tablets ou portáteis, está a mudar a forma como os programadores desenvolvem software. Enquanto que no passado o principal objetivo para otimizar software era o de diminuir o tempo de execução, nos dias de hoje existe uma sensibilização crescente para com a necessidade de reduzir o consumo de energia. Esta dissertação visa apresentar uma combinação de técnicas para detetar consumos de energia anormais no código de aplicações Android. A ideia é fornecer aos desenvolvedores de aplicações Android técnicas e ferramentas que consigam localizar no código fonte de uma aplicação fragmentos de código que sejam responsáveis por níveis de consumo de energia mais elevados. Assim, apresentamos um modelo de consumo de energia para o sistema Android. Esse modelo é depois usado na forma de API para monitorizar a execução da aplicação. Assim sendo, o código fonte de uma aplicação é inicialmente instrumentado para podermos relacionar com ele consumos de energia. Para executar a aplicação (instrumentada), usamos uma framework de teste para Android. Finalmente, usamos uma abordagem estatística, baseada em técnicas de localização de falhas, para localizar consumos de energia anormais no código fonte. This thesis is integrated in the project GreenSSCM - Green Software for Space Missions Control, a project financed by the Innovation Agency, SA, Northern Regional Operational Programme, Financial Incentive Grant Agreement under the Incentive Research and Development System, Project No. 38973. |
Identificador | |
Idioma(s) |
por |
Direitos |
info:eu-repo/semantics/openAccess |
Palavras-Chave | #Android #Consumo de energia #Energy consumption #Smartphones #Java #Green computing |
Tipo |
info:eu-repo/semantics/masterThesis |