← Últimos artigos
💻 ciência da computação

Measuring Code Level Determinants of Software Sustainability: A Systematic Literature Review

Esta revisão sistemática da literatura de 137 estudos sintetiza determinantes e métricas ao nível de código para a sustentabilidade de software, revelando uma lacuna significativa de pesquisa em medição de carbono em comparação com energia, e propõe um framework de decisão fundamentado e diretrizes acionáveis para ajudar desenvolvedores a construir softwares mais verdes.

Autores originais: Zoya Mahboob, Atif Jilani, Qurrat Ul Ain

Publicado 2026-10-22
📖 6 min de leitura🧠 Leitura aprofundada

Autores originais: Zoya Mahboob, Atif Jilani, Qurrat Ul Ain

Artigo original sob licença CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ✨ Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Toda vez que um programa de software é executado, desde o aplicativo em um smartphone até os sistemas massivos que gerenciam serviços globais de nuvem, ele consome energia da rede elétrica. Esse consumo não é apenas uma questão de custo; é um contribuinte direto para as emissões de carbono que aquecem o planeta. Embora os centros de dados que abrigam esses sistemas sejam bem conhecidos por suas demandas energéticas, o próprio software — as linhas de código escritas por desenvolvedores — desempenha um papel oculto, mas decisivo, em quanta eletricidade é utilizada. Assim como o design do motor de um carro dita sua eficiência de combustível, as escolhas específicas feitas ao escrever o código determinam quanta energia um programa precisa para funcionar. Algumas escolhas são eficientes, enquanto outras desperdiçam energia sem que o usuário jamais perceba.

Durante anos, pesquisadores estudaram como tornar o software mais ecológico, mas as evidências estavam espalhadas por milhares de artigos, muitas vezes utilizando métodos diferentes para medir as mesmas coisas. Uma nova revisão sistemática, publicada por pesquisadores da Universidade Nacional de Ciência da Computação e Tecnologias Emergentes do Paquistão, reúne esse conhecimento fragmentado. Ao analisar 137 estudos revisados por pares publicados entre o final de 2015 e o início de 2026, a equipe criou um mapa claro de exatamente quais decisões de codificação mais importam para a sustentabilidade. Eles descobriram que, embora o campo tenha crescido rapidamente, ele se concentrou amplamente na medição do consumo de energia, deixando uma lacuna significativa na medição das emissões de carbono resultantes, mesmo com regulamentações começando a exigir a contabilidade de carbono.

Os pesquisadores começaram organizando toda a literatura existente em um sistema estruturado. Eles identificaram duas categorias principais de informação: as escolhas específicas que os desenvolvedores fazem, conhecidas como determinantes, e as formas como essas escolhas são medidas, conhecidas como métricas de impacto. Os determinantes variam do amplo, como a escolha da linguagem de programação ou o algoritmo usado para resolver um problema, ao granular, como a forma como os dados são armazenados na memória ou como os laços de repetição (loops) são escritos. As métricas são as ferramentas usadas para observar o efeito dessas escolhas, medindo principalmente quanta energia é usada ou quanto tempo uma tarefa leva. A equipe organizou essas descobertas para mostrar quando essas decisões são tomadas no processo de desenvolvimento de software e quando seus efeitos são realmente observados.

Uma das descobertas mais impressionantes diz respeito à escala de impacto que decisões de alto nível podem ter. A revisão confirma que a escolha da linguagem de programação é um fator dominante. Estudos mostram consistentemente que linguagens compiladas, que são traduzidas diretamente para código de máquina, podem ser até vinte vezes mais eficientes energeticamente do que linguagens interpretadas, que são processadas linha por linha durante a execução. Da mesma forma, a escolha do algoritmo — a receita matemática que um programa segue — pode criar diferenças massivas no uso de energia. Um algoritmo mais eficiente pode reduzir o consumo de energia em ordens de magnitude, uma diferença tão grande que nenhuma quantidade de pequenos ajustes no código poderá jamais igualar. Apesar disso, a revisão observa que essas decisões de alto impacto não são os tópicos mais estudados na literatura; os pesquisadores passaram mais tempo examinando detalhes menores e de menor impacto, como estilos de codificação específicos ou otimizações menores.

O estudo também mapeou quando essas decisões ocorrem. A grande maioria da pesquisa foca na fase de implementação, quando o código é escrito pela primeira vez, e na fase de execução (runtime), quando o software está sendo de fato executado. No entanto, uma lacuna crítica foi encontrada na fase de testes. Pouquíssimos estudos examinam como o processo de teste de software, ou o próprio código de teste, contribui para o desperdício de energia. Esta é uma omissão significativa, pois o desenvolvimento de software moderno depende fortemente de sistemas de testes automatizados que rodam milhares de vezes por dia, potencialmente consumindo mais energia do que o produto final em si. Os pesquisadores destacam que esta área permanece amplamente inexplorada, sugerindo uma grande oportunidade para melhorias futuras.

Talvez a descoberta mais urgente refira-se ao que está sendo medido. A revisão descobriu que 131 dos 137 estudos mediram o consumo de energia, muitas vezes usando contadores de hardware especializados para rastrear o uso de eletricidade até o joule. Em contraste, apenas três estudos mediram diretamente as emissões de carbono. Esse desequilíbrio é problemático porque as regulamentações globais estão aumentando cada vez mais o foco do rastreamento de energia para o rastreamento de carbono. Os pesquisadores apontam que essa lacuna é facilmente superável. Uma vez que as emissões de carbono são calculadas multiplicando o uso de energia pela intensidade de carbono da rede elétrica local, os abundantes dados sobre energia poderiam ser convertidos em dados de carbono se os pesquisadores simplesmente registrassem o contexto da fonte de energia. Atualmente, o campo possui os números de energia, mas carece do contexto de carbono necessário para os relatórios ambientais modernos.

Para ajudar os desenvolvedores a aplicar essas descobertas, a equipe criou um framework de decisão prático. Ele atua como um guia para solucionar problemas de sustentabilidade. Se um serviço de software está custando muito caro para rodar, o framework sugere olhar primeiro para a linguagem de programação e o algoritmo antes de se preocupar com pequenos ajustes de código. Se um aplicativo móvel está drenando a bateria, ele aponta para padrões de codificação específicos conhecidos por desperdiçar energia. As diretrizes enfatizam que os desenvolvedores devem medir a energia diretamente, em vez de presumir com base na velocidade de execução de um programa, pois um programa mais rápido nem sempre é um mais eficiente. Eles também recomendam estabelecer orçamentos de energia explícitos para funcionalidades de software, tratando o desperdício de energia com a mesma seriedade que um erro de software (bug).

A revisão conclui que o campo da engenharia de software sustentável está amadurecendo, com uma comunidade internacional crescente e métodos estabelecidos. No entanto, ela pede uma mudança de foco. Os pesquisadores são instados a estudar a fase de testes mais profundamente, a replicar descobertas sobre decisões de alto impacto, como a escolha de linguagem, e a começar a relatar emissões de carbono juntamente com os dados de energia. Para os profissionais da indústria, a mensagem é clara: a maneira mais eficaz de reduzir a pegada ambiental do software não é através de pequenos ajustes, mas através de escolhas fundamentais feitas no início do processo de desenvolvimento. Ao escolher linguagens, algoritmos e estruturas de dados eficientes, e ao medir os resultados com precisão, os desenvolvedores podem reduzir significamente o custo de energia e de carbono do mundo digital.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →