Use IA para ayudar a registrar códigos COBOL para evitar la pérdida de conocimiento relevante

Lanzado por primera vez en 1959, COBOL es uno de los lenguajes de programación más antiguos que existen y todavía se usa ampliamente en programas críticos en múltiples industrias. Una encuesta de febrero de 2022 encontró que entre 77 500 millones y 850 000 millones de líneas de código COBOL todavía se usan activamente todos los días.

Sin embargo, aunque muchas organizaciones aún confían en COBOL, la cantidad de desarrolladores de COBOL continúa disminuyendo. Lo que es más preocupante, el conocimiento real sobre cómo construir y crear aplicaciones COBOL también puede perderse gradualmente a medida que los desarrolladores COBOL existentes se jubilan y transfieren. Para abordar este desafío, la startup Phase Change Software  está desarrollando una nueva herramienta impulsada por IA llamada COBOL Colleague.

Steve Brothers, presidente de Phase Change Software, dijo que COBOL no desaparecerá pronto y le dijo a VentureBeat que la falta de desarrolladores de COBOL no es el problema más fundamental. "El verdadero problema subyacente es comprender lo que hace la aplicación, porque para modificar el código de manera efectiva, debe comprender lo que hace el código". La capacidad de modificar código no es suficiente, agrega, pero también se requiere conocimiento sobre código, la falta de conocimiento sobre código es un problema en muchos lenguajes de programación, pero especialmente para COBOL, que tiene más de 60 años.

El software Phase Change COBOL Colleague toma el código fuente de COBOL y utiliza técnicas de análisis estático y aprendizaje automático simbólico para convertir el código en modelos causales. El modelo puede ayudar a las organizaciones a comprender y mantener el código. COBOL Colleague está inicialmente disponible para su implementación en entornos locales que se ejecutan en Linux.

Vale la pena mencionar que hay muchas herramientas de desarrollo en el mercado actual que afirman usar IA para ayudar a los desarrolladores a mejorar la eficiencia, incluido el servicio GitHub Copilot recientemente popular. Al respecto, Brothers dijo que la herramienta que están construyendo es muy diferente a GitHub Copilot. Copilot está diseñado para ayudar a los desarrolladores a escribir código, pero no ayuda a los desarrolladores a mantener el código después de escribirlo. "Estamos en el negocio de cambiar el código, no de crear código, y esa es una de las mayores diferencias".

Phase Change Software no adoptó el enfoque típico de aprendizaje automático para su herramienta de inteligencia artificial, que requiere capacitación en un conjunto de datos. La razón es que cuando se trata de código fuente, no es fácil obtener un repositorio de código fuente lo suficientemente grande como para poder entrenar.

Otro desafío es la explosión de rutas. En el desarrollo de código, una operación puede seguir cualquier cantidad de caminos diferentes usando diferentes funciones "else". Usando la función "else", la acción se puede cambiar en función de diferentes variables o condiciones. En cuanto a la posibilidad de explotar las rutas de datos de entrenamiento, Brothers señaló que la cantidad de permutaciones es astronómica y, por lo tanto, no es factible para los modelos típicos de entrenamiento de aprendizaje automático.

"Resolvimos este problema con técnicas de inteligencia artificial basadas en el aprendizaje automático simbólico, por lo que no hay un conjunto de datos de entrenamiento; la única entrada a nuestra herramienta es el código fuente". La IA simbólica tiene que ver con el aprendizaje de una manera más cercana a cómo los humanos razonan causalmente sobre el mundo. Brothers explicó que el comportamiento en el código es causal, con entradas y salidas.

Si bien COBOL es el primer objetivo de Phase Change, la compañía dice que planea expandirse para admitir otros lenguajes de programación en el futuro. "Los desarrolladores de software pasan el 80 por ciento de su tiempo tratando de averiguar dónde necesitan hacer modificaciones en su código. Los pasos para hacer esto son los mismos independientemente del lenguaje de programación, y esa es la automatización que estamos logrando".

おすすめ

転載: www.oschina.net/news/209014/ai-cobol-code