← Últimos artículos
💻 ciencias de la computación

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

Esta revisión sistemática de la literatura de 137 estudios sintetiza los determinantes y métricas a nivel de código para la sostenibilidad del software, revelando una brecha de investigación significativa en la medición de carbono en comparación con la energía, y propone un marco de decisión fundamentado y directrices accionables para ayudar a los desarrolladores a construir software más ecológico.

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

Publicado 2026-10-22
📖 6 min de lectura🧠 Análisis profundo

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

Artículo original bajo licencia CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ✨ Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Cada vez que un programa de software se ejecuta, desde la aplicación en un teléfono inteligente hasta los sistemas masivos que gestionan servicios globales en la nube, extrae energía de la red eléctrica. Este consumo no es solo una cuestión de costo; es un contribente directo a las emisiones de carbono que calientan el planeta. Si bien los centros de datos que albergan estos sistemas son bien conocidos por sus demandas energéticas, el software en sí mismo —las líneas de código escritas por los desarrolladores— desempeña un papel oculto pero decisivo en cuánta electricidad se utiliza. Así como el diseño del motor de un coche dicta su eficiencia de combustible, las decisiones específicas tomadas al escribir código determinan cuánta energía requiere un programa para funcionar. Algunas elecciones son eficientes, mientras que otras desperdician energía sin que el usuario lo note jamás.

Durante años, los investigadores han estudiado cómo hacer que el software sea más ecológico, pero la evidencia ha estado dispersa en miles de artículos, a menudo utilizando diferentes métodos para medir las mismas cosas. Una nueva revisión sistemática, publicada por investigadores de la Universidad Nacional de Ciencias de la Computación y Tecnologías Emergentes de Pakistán, une este conocimiento fragmentado. Al analizar 137 estudios revisados por pares publicados entre finales de 2015 y principios de 2026, el equipo creó un mapa claro de exactamente qué decisiones de codificación importan más para la sostenibilidad. Encontraron que, si bien el campo ha crecido rápidamente, se ha centrado principalmente en medir el consumo de energía, dejando una brecha significativa en la medición de las emisiones de carbono resultantes, incluso cuando las regulaciones comienzan a exigir la contabilidad de carbono.

Los investigadores comenzaron clasificando la vasta literatura existente en un sistema estructurado. Identificaron dos categorías principales de información: las elecciones específicas que toman los desarrolladores, conocidas como determinantes, y las formas en que se miden esas elecciones, conocidas como métricas de impacto. Los determinantes van desde lo general, como la elección del lenguaje de programación o el algoritmo utilizado para resolver un problema, hasta lo granular, como cómo se almacenan los datos en la memoria o cómo se escriben los bucles. Las métricas son las herramientas utilizadas para ver el efecto de estas elecciones, midiendo principalmente cuánta energía se usa o cuánto tiempo toma una tarea. El equipo organizó estos hallazgos para mostrar cuándo se toman estas decisiones en el proceso de desarrollo de software y cuándo se observan realmente sus efectos.

Uno de los hallazgos más sorprendentes se refiere a la escala de impacto que pueden tener las decisiones de alto nivel. La revisión confirma que la elección del lenguaje de programación es un factor dominante. Los estudios muestran consistentemente que los lenguajes compilados, que se traducen directamente a código máquina, pueden ser hasta veinte veces más eficientes energéticamente que los lenguajes interpretados, que se procesan línea por línea mientras se ejecutan. Del mismo modo, la elección del algoritmo —la receta matemática que sigue un programa— puede crear diferencias masivas en el uso de energía. Un algoritmo más eficiente puede reducir el consumo de energía en órdenes de magnitud, una diferencia tan grande que ninguna cantidad de ajustes menores en el código podrá jamás igualarla. A pesar de esto, la revisión señala que estos temas de alto impacto no son los más estudiados frecuentemente en la literatura; los investigadores han dedicado más tiempo a examinar detalles menores y de menor impacto, como estilos de codificación específicos u optimizaciones menores.

El estudio también mapeó cuándo ocurren estas decisiones. La gran mayoría de la investigación se centra en la fase de implementación, cuando se escribe el código por primera vez, y en la fase de ejecución (runtime), cuando el software se está ejecutando realmente. Sin embargo, se encontró una brecha crítica en la fase de pruebas. Muy pocos estudios examinan cómo el proceso de probar el software, o el propio código de prueba, contribuye al desperdicio de energía. Esta es una omisión significativa, ya que el desarrollo de software moderno depende fuertemente de sistemas de pruebas automatizadas que se ejecutan miles de veces al día, consumiendo potencialmente más energía que el producto final mismo. Los investigadores destacan que esta área permanece en gran medida inexplorada, lo que sugiere una oportunidad importante para mejoras futuras.

Quizás el hallazgo más urgente se relaciona con lo que se está midiendo. La revisión encontró que 131 de los 137 estudios medían el consumo de energía, utilizando a menudo contadores de hardware especializados para rastrear el uso de electricidad hasta el julio. En contraste, solo tres estudios midieron directamente las emisiones de carbono. Este desequilibrio es problemático porque las regulaciones globales se están desplazando cada vez más del seguimiento de la energía al seguimiento del carbono. Los investigadores señalan que esta brecha es fácilmente superable. Dado que las emisiones de carbono se calculan multiplicando el uso de energía por la intensidad de carbono de la red eléctrica local, los abundantes datos sobre energía podrían convertirse en datos de carbono si los investigadores simplemente registraran el contexto de la fuente de energía. Actualmente, el campo tiene los números de energía, pero carece del contexto de carbono necesario para la contabilidad ambiental moderna.

Para ayudar a los desarrolladores a aplicar estos hallazgos, el equipo creó un marco de decisión práctico. Actúa como una guía para solucionar problemas de sostenibilidad. Si un servicio de software cuesta demasiado ejecutarlo, el marco sugiere mirar primero el lenguaje de programación y el algoritmo antes de preocuparse por ajustes menores de código. Si una aplicación móvil está agotando la batería, apunta hacia patrones de codificación específicos que se sabe que desperdician energía. Las directrices enfatizan que los desarrolladores deben medir la energía directamente en lugar de adivinar basándose en qué tan rápido funciona un programa, ya que un programa más rápido no siempre es uno más eficiente. También recomiendan establecer presupuestos de energía explícitos para las funciones del software, tratando el desperdicio de energía con la misma seriedad que un error de software (bug).

La revisión concluye que el campo de la ingeniería de software sostenible está madurando, con una comunidad internacional creciente y métodos establecidos. Sin embargo, hace un llamado a un cambio de enfoque. Se insta a los investigadores a estudiar la fase de pruebas más profundamente, a replicar los hallazgos sobre decisiones de alto impacto como la elección del lenguaje, y a comenzar a reportar las emisiones de carbono junto con los datos de energía. Para los profesionales de la industria, el mensaje es claro: la forma más efectiva de reducir la huella ambiental del software no es mediante ajustes menores, sino a través de elecciones fundamentales realizadas al principio mismo del proceso de desarrollo. Al elegir lenguajes, algoritmos y estructuras de datos eficientes, y al medir los resultados con precisión, los desarrolladores pueden reducir significativamente el costo energético y de carbono del mundo digital.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →