SPELLing out energy leaks: Aiding developers locate energy inefficient code

Detalhes bibliográficos
Autor(a) principal: Pereira, Rui Alexandre Afonso
Data de Publicação: 2020
Outros Autores: Carção, Tiago Alves, Couto, Marco Domingos Mendes, Cunha, Jácome, Fernandes, João Paulo, Saraiva, João
Tipo de documento: Artigo
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/68729
Resumo: Although hardware is generally seen as the main culprit for a computer's energy usage, software too has a tremendous impact on the energy spent. Unfortunately, there is still not enough support for software developers so they can make their code more energy-aware.This paper proposes a technique to detect energy inefficient fragments in the source code of a software system. Test cases are executed to obtain energy consumption measurements, and a statistical method, based on spectrum-based fault localization, is introduced to relate energy consumption to the source code. The result of our technique is an energy ranking of source code fragments pointing developers to possible energy leaks in their code. This technique was implemented in the SPELL toolkit.Finally, in order to evaluate our technique, we conducted an empirical study where we asked participants to optimize the energy efficiency of a software system using our tool, while also having two other groups using no tool assistance and a profiler, respectively. We showed statistical evidence that developers using our technique were able to improve the energy efficiency by 43% on average, and even out performing a profiler for energy optimization. (C) 2019 Elsevier Inc. All rights reserved.
id RCAP_44f197dd035bb61d643ec02d2ed71ff5
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/68729
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling SPELLing out energy leaks: Aiding developers locate energy inefficient codeGreen SoftwareProgram AnalysisProgram OptimizationGreen ComputingFault LocalizationEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaScience & TechnologyAlthough hardware is generally seen as the main culprit for a computer's energy usage, software too has a tremendous impact on the energy spent. Unfortunately, there is still not enough support for software developers so they can make their code more energy-aware.This paper proposes a technique to detect energy inefficient fragments in the source code of a software system. Test cases are executed to obtain energy consumption measurements, and a statistical method, based on spectrum-based fault localization, is introduced to relate energy consumption to the source code. The result of our technique is an energy ranking of source code fragments pointing developers to possible energy leaks in their code. This technique was implemented in the SPELL toolkit.Finally, in order to evaluate our technique, we conducted an empirical study where we asked participants to optimize the energy efficiency of a software system using our tool, while also having two other groups using no tool assistance and a profiler, respectively. We showed statistical evidence that developers using our technique were able to improve the energy efficiency by 43% on average, and even out performing a profiler for energy optimization. (C) 2019 Elsevier Inc. All rights reserved.This work is funded by the ERDF -European Regional Development Fund through the Operational Programme for Competitiveness and Internationalization -COMPETE 2020 Programme within project POCI-01-0145-FEDER-006961, and by National Funds through the Portuguese funding agency, FCT -Fundacao para a Ciencia e a Tecnologia within project POCI010145FEDER016718, UID/EEA/50014/2013, and by FCT grant SFRH/BD/132485/2017. This work is also supported by operation Centro010145FEDER000019 -C4 -Centro de Competencias em Cloud Computing, cofinanced by the European Regional Development Fund (ERDF) through the Programa Operacional Regional do Centro (Centro 2020), in the scope of the Sistema de Apoio a Investigacao Cientifica e Tecnologica -Programas Integrados de IC&DT, and the first author was financed by post-doc grant referencia C4_SMDS_L1-1_D.Elsevier Science IncUniversidade do MinhoPereira, Rui Alexandre AfonsoCarção, Tiago AlvesCouto, Marco Domingos MendesCunha, JácomeFernandes, João PauloSaraiva, João20202020-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articleapplication/pdfhttp://hdl.handle.net/1822/68729eng0164-121210.1016/j.jss.2019.110463https://www.sciencedirect.com/science/article/pii/S0164121219302377info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:40:26Zoai:repositorium.sdum.uminho.pt:1822/68729Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:37:13.787328Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv SPELLing out energy leaks: Aiding developers locate energy inefficient code
title SPELLing out energy leaks: Aiding developers locate energy inefficient code
spellingShingle SPELLing out energy leaks: Aiding developers locate energy inefficient code
Pereira, Rui Alexandre Afonso
Green Software
Program Analysis
Program Optimization
Green Computing
Fault Localization
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
Science & Technology
title_short SPELLing out energy leaks: Aiding developers locate energy inefficient code
title_full SPELLing out energy leaks: Aiding developers locate energy inefficient code
title_fullStr SPELLing out energy leaks: Aiding developers locate energy inefficient code
title_full_unstemmed SPELLing out energy leaks: Aiding developers locate energy inefficient code
title_sort SPELLing out energy leaks: Aiding developers locate energy inefficient code
author Pereira, Rui Alexandre Afonso
author_facet Pereira, Rui Alexandre Afonso
Carção, Tiago Alves
Couto, Marco Domingos Mendes
Cunha, Jácome
Fernandes, João Paulo
Saraiva, João
author_role author
author2 Carção, Tiago Alves
Couto, Marco Domingos Mendes
Cunha, Jácome
Fernandes, João Paulo
Saraiva, João
author2_role author
author
author
author
author
dc.contributor.none.fl_str_mv Universidade do Minho
dc.contributor.author.fl_str_mv Pereira, Rui Alexandre Afonso
Carção, Tiago Alves
Couto, Marco Domingos Mendes
Cunha, Jácome
Fernandes, João Paulo
Saraiva, João
dc.subject.por.fl_str_mv Green Software
Program Analysis
Program Optimization
Green Computing
Fault Localization
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
Science & Technology
topic Green Software
Program Analysis
Program Optimization
Green Computing
Fault Localization
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
Science & Technology
description Although hardware is generally seen as the main culprit for a computer's energy usage, software too has a tremendous impact on the energy spent. Unfortunately, there is still not enough support for software developers so they can make their code more energy-aware.This paper proposes a technique to detect energy inefficient fragments in the source code of a software system. Test cases are executed to obtain energy consumption measurements, and a statistical method, based on spectrum-based fault localization, is introduced to relate energy consumption to the source code. The result of our technique is an energy ranking of source code fragments pointing developers to possible energy leaks in their code. This technique was implemented in the SPELL toolkit.Finally, in order to evaluate our technique, we conducted an empirical study where we asked participants to optimize the energy efficiency of a software system using our tool, while also having two other groups using no tool assistance and a profiler, respectively. We showed statistical evidence that developers using our technique were able to improve the energy efficiency by 43% on average, and even out performing a profiler for energy optimization. (C) 2019 Elsevier Inc. All rights reserved.
publishDate 2020
dc.date.none.fl_str_mv 2020
2020-01-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/article
format article
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/68729
url http://hdl.handle.net/1822/68729
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 0164-1212
10.1016/j.jss.2019.110463
https://www.sciencedirect.com/science/article/pii/S0164121219302377
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.publisher.none.fl_str_mv Elsevier Science Inc
publisher.none.fl_str_mv Elsevier Science Inc
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799132904840757248