Supporting software developers in making energy saving decisions
Main Author: | |
---|---|
Publication Date: | 2020 |
Language: | eng |
Source: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
Download full: | http://hdl.handle.net/1822/77070 |
Summary: | Programa de Doutoramento em Informática (MAP-i) das Universidades do Minho, de Aveiro e do Porto |
id |
RCAP_8596cb48c6ce8520c431205f297b6bf1 |
---|---|
oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/77070 |
network_acronym_str |
RCAP |
network_name_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository_id_str |
https://opendoar.ac.uk/repository/7160 |
spelling |
Supporting software developers in making energy saving decisionsApoiar desenvolvedores de software na tomada de decisões para redução de energiaEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaPrograma de Doutoramento em Informática (MAP-i) das Universidades do Minho, de Aveiro e do PortoIn the last decade, energy consumption analysis and improvement in software has been establishing as a new key concern for developers. Nevertheless, as recent studies demonstrate, developers are still struggling to understand how to analyze and improve the energy efficiency of their code. Aware of this, the research community has been continuously working on providing new tools, techniques, and findings that developers can rely on. With this thesis, our main target is to further extend the knowledge and mechanisms available for developers to statically reason about the energy efficiency of their code. Our contributions can be grouped in two topics: energy behavior prediction and energy-aware software evolution. To tackle energy prediction, we developed a new approach which combines static program analysis/verification with energy models, with the goal of providing accurate energy estimations for worst-case execution scenarios, which we called Worst-Case Energy Consumption (WCEC) prediction. We used SPLs as a case study, implementing the technique in a prototype tool and evaluating it’s accuracy by performing an experiment using existing SPLs. The energy-aware evolution topic was addressed in two ways. First, we studied the energy impact of replacing energy-greedy coding patterns with less greedy alternatives. We did so by performing a large-scale study, using hundreds of Android applications and testing them in several different scenarios. This allowed us to find statistical evidence of what patterns provide the most significant savings when replaced, and how replacing multiple patterns can affect such savings. Finally, building on the previous study, we developed a new concept, called Energy Debt, which goal is to help developers assess the impact of addressing (or retaining) energy-greedy patterns in their code, in the short and in the long term, by considering a software’s different releases. This concept is extensible to any target system and language, and we performed an initial experiment using an Android application to properly explain it and motivate it. We strongly believe that this thesis, in addition to addressing the existing lack of energy related knowledge and tools, also provides novel and promising techniques and findings, which we hope can be used by other researchers in the area to continue exploring these subjects.Na última década, a análise e melhoria do consumo energético em software tem-se estabelecido como uma nova preocupação chave para os desenvolvedores. Porém, como estudos recentes demonstram, os desenvolvedores ainda mostram dificuldades em entender como analisar e melhorar a eficiência energética do seu código. Cientes deste desafio, a comunidade académica tem continuamente trabalhado para providenciar novas ferramentas, técnicas, e resultados em que se possa confiar. Com esta tese, o foco principal é estender ainda mais o conhecimento e mecanismos disponíveis para os desenvolvedores poderem raciocinar de forma estática sobre a eficiência energética do seu código. As nossas contribuições podem ser agrupadas em dois tópicos: previsão do comportamento energético e evolução orientada à redução de energia. Para abordar a previsão de energia, desenvolvemos uma nova abordagem que combina análise estática de programas e modelos de consumo energético, com o objetivo de providenciar estimativas precisas de consumos em cenários de pior caso de execução, ao qual chamamos de Previsão de Consumo Energético no Pior Caso. Usamos SPLs como caso de estudo, e implementamos esta técnica num protótipo e avaliamos a sua precisão através de um estudo usando SPLs já existentes. O tópico de evolução orientada à redução energética foi abordado de duas formas. Primeiro, foi estudado o impacto inerente à substituição de padrões de código, conhecidos por serem energeticamente ineficientes, por alternativas mais viáveis. Isso foi feito através de de um estudo em larga escala, usando centenas de aplicações Android e testando-as em diferentes cenários. Isto permitiu encontrar evidência estatística de quais os padrões que, quando substituídos, produzem maiores ganhos, mas também perceber como múltiplas substituições afetam esses ganhos. Por fim, e sustentando-nos no estudo anterior, desenvolvemos um novo conceito, chamado Débito Energético, cujo objetivo é ajudar os desenvolvedores a avaliar o impacto de substituir (ou manter) no seu código padrões reconhecidamente ineficientes do ponto de vista energético, quer a curto quer a médio/longo prazo, através da análise combinada das diferentes versões de um software. Este conceito é genérico e extensível para qualquer sistema ou linguagem, e para o explicar e motivar adequadamente efetuamos um estudo inicial usando uma aplicação Android. É nossa convicção de que esta tese, além de endereçar a questão relativa à falta de conhecimento e de ferramentas relacionados com análise de energia, também fornece novas e promissoras técnicas e descobertas, das quais esperamos que possam ser usados por outros investigadores nesta área.This work was partially funded by FCT - Foundation for Science and Technology, the Portuguese Ministry of Science, Technology and Higher Education, through national funds, and co-financed by the European Social Fund (ESF) through the Operational Programme for Human Capital (POCH), with scholarship reference SFRH/BD/132485/2017. Additionally, funding was also provided by the ERDF – European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme within project «POCI-01-0145-FEDER-006961», by the Portuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia, from projects «UID/EEA/50014/2013» and Green Software Lab (ref. «POCI-01-0145-FEDER-016718»), and by the Luso-American Foundation in collaboration with the National Science Foundation with grant FLAD/NSF ref. 300/2015 and ref. 275/2016.Saraiva, JoãoFernandes, João Paulo Sousa FerreiraUniversidade do MinhoCouto, Marco Rafael Linhares2020-12-022020-12-02T00:00:00Zdoctoral thesisinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/1822/77070eng101550650info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-11T05:19:18Zoai:repositorium.sdum.uminho.pt:1822/77070Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T15:14:37.037578Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
dc.title.none.fl_str_mv |
Supporting software developers in making energy saving decisions Apoiar desenvolvedores de software na tomada de decisões para redução de energia |
title |
Supporting software developers in making energy saving decisions |
spellingShingle |
Supporting software developers in making energy saving decisions Couto, Marco Rafael Linhares Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
title_short |
Supporting software developers in making energy saving decisions |
title_full |
Supporting software developers in making energy saving decisions |
title_fullStr |
Supporting software developers in making energy saving decisions |
title_full_unstemmed |
Supporting software developers in making energy saving decisions |
title_sort |
Supporting software developers in making energy saving decisions |
author |
Couto, Marco Rafael Linhares |
author_facet |
Couto, Marco Rafael Linhares |
author_role |
author |
dc.contributor.none.fl_str_mv |
Saraiva, João Fernandes, João Paulo Sousa Ferreira Universidade do Minho |
dc.contributor.author.fl_str_mv |
Couto, Marco Rafael Linhares |
dc.subject.por.fl_str_mv |
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
topic |
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
description |
Programa de Doutoramento em Informática (MAP-i) das Universidades do Minho, de Aveiro e do Porto |
publishDate |
2020 |
dc.date.none.fl_str_mv |
2020-12-02 2020-12-02T00:00:00Z |
dc.type.driver.fl_str_mv |
doctoral thesis |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/1822/77070 |
url |
http://hdl.handle.net/1822/77070 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
101550650 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
repository.mail.fl_str_mv |
info@rcaap.pt |
_version_ |
1833595191362060288 |