Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

Publicações por HASLab

2020

Causality is Graphically Simple

Autores
Baquero, C;

Publicação
CoRR

Abstract

2020

State-Machine Replication for Planet-Scale Systems (Extended Version)

Autores
Enes, V; Baquero, C; Rezende, TF; Gotsman, A; Perrin, M; Sutra, P;

Publicação
CoRR

Abstract

2020

CoronaSurveys: Using Surveys with Indirect Reporting to Estimate the Incidence and Evolution of Epidemics

Autores
Ojo, O; Agundez, AG; Girault, B; Hernández, H; Cabana, E; García, AG; Arabshahi, P; Baquero, C; Casari, P; Ferreira, EJ; Frey, D; Georgiou, C; Goessens, M; Ishchenko, A; Jiménez, E; Kebkal, O; Lillo, R; Menezes, R; Nicolaou, N; Ortega, A; Patras, P; Roberts, JC; Stavrakis, E; Tanaka, Y; Anta, AF;

Publicação
CoRR

Abstract

2020

Age-Partitioned Bloom Filters

Autores
Shtul, A; Baquero, C; Almeida, PS;

Publicação
CoRR

Abstract

2020

SPELLing out energy leaks: Aiding developers locate energy inefficient code

Autores
Pereira, R; Carcao, T; Couto, M; Cunha, J; Fernandes, JP; Saraiva, J;

Publicação
JOURNAL OF SYSTEMS AND SOFTWARE

Abstract
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.

2020

Energy Refactorings for Android in the Large and in the Wild

Autores
Couto, M; Saraiva, J; Fernandes, JP;

Publicação
PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20)

Abstract
Improving the energy efficiency of mobile applications is a timely goal, as it can contribute to increase a device's usage time, which most often is powered by batteries. Recent studies have provided empirical evidence that refactoring energy-greedy code patterns can in fact reduce the energy consumed by an application. These studies, however, tested the impact of refactoring patterns individually, often locally (e.g., by measuring method-level gains) and using a small set of applications. We studied the application-level impact of refactorings, comparing individual refactorings, among themselves and against the combinations on which they appear. We use scenarios that simulate realistic application usage on a large-scale repository of Android applications. To fully automate the detection and refactoring procedure, as well as the execution of test cases, we developed a publicly available tool called Chimera. Our findings include statistical evidence that i) individual refactorings produce consistent gains, but with different impacts, ii) combining as much refactorings as possible most often, but not always, increases energy savings when compared to individual refactorings, and iii) a few combinations are harmful to energy savings, as they can actually produce more losses than gains. We prepared a set of guidelines for developers to follow, aiding them on deciding how to refactor and consistently reduce energy.

  • 50
  • 247