in

Codificación ecológica: los ingenieros de software luchan por soluciones sostenibles y sólidas

Los científicos están salvando el planeta codificando verde

Crédito: Pexels/CC0 Dominio público

El cambio climático ha obligado a la humanidad a pensar diferente para preservar el planeta y todos los seres vivos. Una amplia variedad de tecnologías y servicios que preservan los recursos naturales han surgido en todo el mundo, como resultado de los esfuerzos de investigación e innovación. Ahora tenemos vehículos de cero emisiones, electrodomésticos inteligentes y más eficientes, envases ecológicos hechos de plástico biodegradable e incluso carne cultivada en laboratorio. ¿Qué tal el software? ¿Puede una aplicación ser verde también?

Las aplicaciones, y cualquier otra cosa que esté programada, en realidad pueden ser más o menos eficientes y requieren más o menos energía para realizar sus tareas. Y si una aplicación ineficiente no te sorprende, imagina si todos los servidores de Google estuvieran consumiendo el doble de energía que hoy, debido a una mala optimización. Se trata de escala.

Un grupo de investigadores del Instituto de Ingeniería, Tecnología y Ciencias de Sistemas e Informática (INESC TEC) y la Universidad de Minho se enfoca en ese punto exacto: asegurar que el software de todo lo que nos rodea esté codificado de la manera más eficiente posible. «Queremos crear conciencia y ayudar a los programadores a construir soluciones más sostenibles y robustas», afirmó João Saraiva, investigador del INESC TEC y profesor de la Universidad de Minho.

Escribir de manera más eficiente

El grupo ha lanzado un publicación científica donde compararon la eficiencia de diferentes aplicaciones de teclado Android, como Google Keyboard (GBoard) y Microsoft SwiftKey. Debido a que los teléfonos inteligentes funcionan con baterías, todo el sistema debe ser lo más eficiente posible para extender la vida útil de la batería al máximo. «De hecho, reemplazar el teclado que consume más energía por el más ecológico ha reducido el consumo de energía en un 18 %, y cuando se desactivaron las funciones avanzadas de esos teclados (predicción de palabras o animaciones), el consumo de energía también se redujo, en este caso. , hasta el 9,3%», escribieron los investigadores Rui Rua, Tiago Fraga, Marco Couto y João Saraiva.

¿Qué pasa si consideramos el teléfono inteligente como un todo, en lugar de una aplicación específica? Con eso en mente, el equipo también desarrolló GreenHub, una aplicación de Android que puede medir el consumo de energía de los teléfonos inteligentes. Los datos recopilados de la aplicación permitieron analizar el consumo de batería de 23 millones de muestras, repartidas en más de 1.600 marcas de dispositivos, 11.800 modelos de teléfonos inteligentes y más de 50 versiones de Android, lo que dio como resultado este publicación.

Los autores pudieron encontrar tendencias de carga/descarga en diferentes países, tendencias de batería observables en marcas y modelos, y mejoras en el uso de la batería entre versiones de Android. También han estudiado cómo se comportan algunas de las aplicaciones más populares como Facebook, Facebook Messenger y Facebook Lite (ahora llamado Meta) en términos de tendencias de consumo de batería.

Además de los estudios centrados en el análisis del consumo energético, el grupo también se dedica al desarrollo de herramientas y metodologías para estimar el consumo energético del software. «El desarrollo de tales artefactos está motivado por la necesidad de proporcionar herramientas para que los desarrolladores e investigadores detecten puntos críticos de energía en el código fuente», explicó el investigador Rui Rua. El último artefacto desarrollado en este ámbito es una herramienta denominada E-MANAFA, que permite monitorear y estimar el consumo de energía del software en dispositivos Android.

Programación más eficiente

Los lenguajes de programación son la columna vertebral de las aplicaciones móviles, los sitios web y mucho más. Y actualmente hay cientos de lenguajes de programación disponibles que resuelven diferentes problemas que los programadores deben abordar. Python, por ejemplo, se usa a menudo en el aprendizaje automático y la inteligencia artificial, y JavaScript para el desarrollo web, solo por nombrar algunos. El grupo de investigadores ha puesto los lenguajes de programación bajo el microscopio para encontrar los que requieren más energía para realizar tareas similares. El resultado es un publicación científica presenta el rango de 27 idiomas, desde ahorrador de energía hasta drenador de energía. «Los desarrolladores pueden usar esta información para decidir qué lenguaje de programación es el más apropiado para su escenario de destino, que puede variar según varias restricciones, como límites de batería, tiempo y memoria», dijo João Saraiva.

El consumo de energía de Google ha aumentado en los últimos años, alcanzando los 15,4 teravatios hora en 2020, lo que sería suficiente para abastecer a 9,6 millones de hogares europeos en 2019, y es muy probable que siga aumentando, no solo en el caso de Google, sino en la mayoría industrias Teniendo en cuenta que el mundo está utilizando cada vez más energía, es de suma importancia optimizar la energía. Aunque puede que no sea visible para los usuarios finales, la eficiencia energética en el software debe tenerse en cuenta si el mundo pretende abordar el cambio climático, ya que el 80 % de la energía producida en el mundo todavía se origina a partir de combustibles fósiles.

Depuración automática

La codificación inevitablemente generará errores, y el acto de depuración es, en sí mismo, una forma de mejorar la eficiencia energética del software. El grupo también se enfoca en la localización de fallas de software (SFL), una de las actividades más costosas y que consume más tiempo en la depuración de programas. «Hemos desarrollado una técnica que proporciona información semántica sobre las modificaciones que llevaron a un error de software. La herramienta que implementa esta técnica está disponible públicamente y se llama Morfeo”, dijo Francisco Ribeiro, investigador del INESC TEC. En esta publicación, los autores demostraron que las técnicas de reparación automatizada pueden beneficiarse de esta nueva información y arreglar los programas de manera más efectiva.

¿Pero no hay una manera de depurar automáticamente? De eso se trata la reparación automática de programas (APR): reparar programas defectuosos con la menor intervención humana posible. De hecho, empresas como Meta reconocen claramente tales beneficios y realizan activamente investigaciones en esta área. En cuanto a APR, el grupo de investigadores portugueses obtuvo una tasa de reparación del 27% en sus estudios con más de 6.000 programas defectuosos.

La crisis energética ha comenzado y el cambio climático está a la vuelta de la esquina. En una sociedad digital en constante crecimiento, ser digitalmente eficiente es imprescindible. Cualquiera que sea el método, es bueno saber que los ingenieros de software están haciendo su parte.


La aplicación Carat actualizada da un impulso inteligente a la batería


Más información:
Rui Rua et al, Greenspecting teclados virtuales de Android, Actas de la 7ª Conferencia Internacional IEEE/ACM sobre Ingeniería y Sistemas de Software Móvil (2020). DOI: 10.1145/3387905.3388600

Rui Pereira et al, GreenHub: un conjunto de datos colaborativo a gran escala para el análisis del consumo de batería de dispositivos Android, Ingeniería de software empírica (2021). DOI: 10.1007/s10664-020-09925-5

Francisco Ribeiro et al, Sobre la comprensión de los cambios contextuales de las fallas, 2021 IEEE 21.a Conferencia internacional sobre calidad, confiabilidad y seguridad del software (QRS) (2022). DOI: 10.1109/QRS54544.2021.00112

Proporcionado por INESC Bruselas HUB

Citación: Codificación ecológica: los ingenieros de software luchan por soluciones sostenibles y sólidas (20 de abril de 2022) consultado el 20 de abril de 2022 en https://techxplore.com/news/2022-04-coding-green-software-sustainable-robust.html

Este documento está sujeto a derechos de autor. Aparte de cualquier trato justo con fines de estudio o investigación privados, ninguna parte puede reproducirse sin el permiso por escrito. El contenido se proporciona únicamente con fines informativos.



Fuente

Written by TecTop

Un fan art nos muestra la versión más encantadora de Edelgard de Fire Emblem: Three Houses

Así es el nuevo Redmi 10 Potencia: acabado en cuero, 6.000mAh y «hasta 11GB de RAM»