Mostrar el registro sencillo del ítem
Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua
dc.contributor.author | Vellone, Fabricio | |
dc.date.accessioned | 2023-03-29T13:42:51Z | |
dc.date.available | 2023-03-29T13:42:51Z | |
dc.date.issued | 2023-03-22 | |
dc.identifier.citation | VELLONE, Fabricio. Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua. 2023. Trabalho de Conclusão de Curso (Graduação em Engenharia Elétrica) – Universidade Federal de São Carlos, São Carlos, 2023. Disponível em: https://repositorio.ufscar.br/handle/ufscar/17558. | * |
dc.identifier.uri | https://repositorio.ufscar.br/handle/ufscar/17558 | |
dc.description.abstract | Given the climate context that the world finds itself in, controlling the energy consumption that humans perform on a daily basis is indispensable for the well-being of the planet and sustainability. For software this is no different. This work aimed to analyze the energy consumption in the Continuous Integration process of JavaScript applications. In particular, each step of the process was studied, identifying how energy consumption is distributed, tracing a relationship between the execution time of the steps and energy consumption, in addition to making parallels between these consumptions in the software world and the energy consumption of everyday life. First the energy consumption capture tool perf was selected. Next, JavaScript projects were selected for analysis following some specific criteria, such as the existence of different tests and CI, as well as standardizing all existing nomenclatures in these projects. Finally, the chosen tool was combined with scripts to obtain the raw data and the analysis was performed using spreadsheets. It was possible to verify that the testing stages were the most costly among the stages evaluated. For the relationship between time and energy consumption, it was observed that the energy consumption tends to be linear with time for direct processing, and the non-direct processing tends to present a logarithmic pattern of behavior. Furthermore, it was seen that a project can have, on average, the same energy consumption as a hair dryer and can consume more than a router or an Internet modem. Finally, it was identified that at large scales, these energy consumptions can be significant and attention should be paid to the number of times IC pipelines are run throughout a project development. It can also be observed that the higher the complexity of a test type, the higher its cost in terms of energy, going according to the testing pyramid. | eng |
dc.description.sponsorship | Não recebi financiamento | por |
dc.language.iso | por | por |
dc.publisher | Universidade Federal de São Carlos | por |
dc.rights | Attribution 3.0 Brazil | * |
dc.rights.uri | http://creativecommons.org/licenses/by/3.0/br/ | * |
dc.subject | Green Computing | eng |
dc.subject | Consumo de energia em software | por |
dc.subject | Testes automatizados | por |
dc.subject | Integração Contínua | por |
dc.subject | Pipelines | eng |
dc.subject | JavaScript | eng |
dc.subject | Nodejs | eng |
dc.subject | Power consumption in software | eng |
dc.subject | Automated testing | eng |
dc.subject | Continuous integration | eng |
dc.title | Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua | por |
dc.title.alternative | A study on energy consumption in JavaScript applications: Identifying energy costs for the continuous integration stage | eng |
dc.type | TCC | por |
dc.contributor.advisor1 | Endo, Andre Takeshi | |
dc.contributor.advisor1Lattes | http://lattes.cnpq.br/4221336619791961 | por |
dc.description.resumo | Dado o contexto climático que o mundo se encontra, controlar o consumo de energia que os seres humanos realizam diariamente é indispensável para o bem-estar do planeta e da sustentabilidade. Para o software isso não é diferente. Este trabalho teve como objetivo analisar o consumo de energia no processo de Integração Contínua de aplicações JavaScript. Particularmente, estudou-se cada etapa do processo, identificando como se distribui o consumo de energia, traçando uma relação entre o tempo de execução das etapas e o consumo energético, em adição a realizar paralelos entre estes consumos no mundo do software e os consumos de energia do dia-a-dia das pessoas. Primeiro selecionou-se a ferramenta de captura de consumo energético perf. Em seguida, foram selecionadas de projetos JavaScript para análise seguindo alguns critérios específicos, como a existência de diferentes testes e CI, além de padronizar todas as nomenclaturas existentes nesses projetos. Por fim, combinou-se a ferramenta escolhida, scripts para obter os dados brutos e realizou-se as análises por meio de planilhas. Foi possível constatar que as etapas de testes foram as mais custosas dentre as etapas avaliadas. Para a relação entre o tempo e o consumo de energia, observou-se que os consumos energéticos tendem a serem lineares com o tempo para processamentos diretos e os não diretos tendem a apresentar um padrão logarítmico de comportamento. Ademais, viu-se que um projeto pode ter, em média, o mesmo consumo de energia que um secador de cabelo e pode consumir mais que um roteador ou um modem de Internet. Por fim, foi identificado que em grandes escalas, estes consumos de energia podem ser significantes e se deve ter atenção com a quantidade de vezes que as pipelines de CI são executadas ao longo de um desenvolvimento de projeto. Também pode-se observar que quanto maior a complexidade de um tipo de testes, maior seu custo em termos de energia, indo de acordo com a pirâmide de testes. | por |
dc.publisher.initials | UFSCar | por |
dc.subject.cnpq | ENGENHARIAS::ENGENHARIA ELETRICA::MEDIDAS ELETRICAS, MAGNETICAS E ELETRONICAS; INSTRUMENTACAO | por |
dc.publisher.address | Câmpus São Carlos | por |
dc.contributor.authorlattes | http://lattes.cnpq.br/3743215808709027 | por |
dc.publisher.course | Engenharia Elétrica - EE | por |