in

Investigadores del MIT presentan un innovador modelo de software modular y fácil de entender

Descubre el innovador enfoque del MIT que tiene como objetivo hacer que el software sea más accesible y comprensible para todos.

investigadores del mit presentan un innovador modelo de software modular y facil de entender 1762449950

La programación con modelos de lenguaje grande (LLMs) presenta un gran potencial, pero también pone de manifiesto problemas persistentes en la construcción de software. Estos inconvenientes incluyen un código desordenado, difícil de modificar de manera segura y, a menudo, poco claro en cuanto a su funcionamiento interno. En respuesta a estos desafíos, investigadores del Laboratorio de Ciencias de la Computación e Inteligencia Artificial (CSAIL) del MIT han desarrollado un enfoque más modular que promete revolucionar la forma en que se construye software.

Este nuevo modelo divide los sistemas en conceptos, que son componentes independientes diseñados para realizar tareas específicas, y sincronizaciones, que son reglas explícitas que describen cómo estos componentes se interrelacionan. La innovación resulta en un software más transparente y comprensible.

Desglose de los conceptos y sincronizaciones

El uso de un lenguaje específico de dominio (DSL) permite expresar las sincronizaciones de manera sencilla, facilitando que los LLMs generen código de forma confiable. En un estudio de caso práctico, el equipo demostró cómo esta metodología puede integrar características que, de otro modo, estarían dispersas en diferentes servicios.

El problema de la fragmentación de características

El desafío principal radica en que, en la mayoría de los sistemas modernos, una única función no está completamente contenida en un solo lugar. Por ejemplo, al incorporar un botón de compartir en plataformas sociales como Instagram, su funcionalidad se distribuye en varios fragmentos de código que gestionan la publicación, las notificaciones y la autenticación de usuarios, entre otros. Este fenómeno, que el profesor Daniel Jackson del MIT denomina fragmentación de características, representa un obstáculo significativo para la fiabilidad del software.

Jackson explica que, con el enfoque tradicional, entender cómo funciona la función de compartir puede requerir buscar en diferentes lugares dentro del código, donde las conexiones están enredadas en instrucciones de bajo nivel.

Una nueva forma de entender el software

Los conceptos y las sincronizaciones están diseñados para abordar esta fragmentación. Un concepto agrupa una funcionalidad coherente, como el me gusta, comentar o seguir, junto con su estado y las acciones que puede realizar. Las sincronizaciones, por su parte, describen cómo interactúan estos conceptos a un nivel superior.

Un lenguaje para la interacción clara

En lugar de escribir código de integración desordenado, los desarrolladores pueden utilizar el DSL para definir estas conexiones de manera directa. En este lenguaje, las reglas son simples y claras: la acción de un concepto puede activar otro, permitiendo que un cambio en una parte del sistema se refleje en otra. Jackson ilustra esto diciendo que los conceptos actúan como módulos completamente limpios e independientes, mientras que las sincronizaciones funcionan como contratos que definen cómo deben interactuar esos módulos.

“¿Por qué no podemos leer el código como un libro?”, pregunta Jackson, enfatizando la idea de que el software debería ser legible y estar en términos comprensibles para los humanos. El objetivo es que los conceptos se asemejen a fenómenos familiares, y las sincronizaciones representen nuestra intuición sobre cómo se combinan.

Ventajas adicionales y futuro del software

Las ventajas de este nuevo enfoque no se limitan a la claridad. Dado que las sincronizaciones son explícitas y declarativas, pueden ser analizadas y verificadas, lo que abre la puerta a un desarrollo de software más seguro y automatizado. Esto permite que los asistentes de IA sugieran nuevas características sin introducir efectos secundarios ocultos.

En el estudio, los investigadores asignaron características como gustar, comentar y compartir a un solo concepto, logrando un enfoque más modular similar a la arquitectura de microservicios. Esta organización permite que los desarrolladores localicen y prueben características con facilidad, preservando la legibilidad y la consistencia del sistema.

Este nuevo modelo divide los sistemas en conceptos, que son componentes independientes diseñados para realizar tareas específicas, y sincronizaciones, que son reglas explícitas que describen cómo estos componentes se interrelacionan. La innovación resulta en un software más transparente y comprensible.0

¿Qué piensas?

Escrito por Staff

como las plataformas digitales enfrentan el desafio de los anuncios enganosos 1762446376

Cómo las plataformas digitales enfrentan el desafío de los anuncios engañosos

meta lanza su innovador feed de videos cortos con ia en europa 1762453590

Meta lanza su innovador feed de videos cortos con IA en Europa