Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Informática# Ingeniería del software# Lenguajes de programación

Conjunto de Datos COBOL: Un Recurso para la Investigación

Un nuevo conjunto de datos de proyectos COBOL apoya la investigación en sistemas cruciales.

― 8 minilectura


Conjunto de datos deConjunto de datos deinvestigación de COBOLliberadoinvestigación de programación en COBOL.Nuevo conjunto de datos ayuda en la
Tabla de contenidos

COBOL, o Lenguaje Común Orientado a Negocios, existe desde 1959. Aunque mucha gente piensa que está desactualizado, todavía se usa un montón en bancos, oficinas gubernamentales y otros sectores importantes. Muchas transacciones financieras diarias y operaciones clave aún dependen de sistemas construidos con COBOL. Por eso es crucial que la gente que trabaja en estas áreas sepa manejar código COBOL.

A medida que muchas empresas buscan modernizar sus sistemas viejos, es importante estudiar y entender los programas COBOL. Sin embargo, encontrar una buena colección de proyectos COBOL para investigar ha sido un desafío. Por eso crear un conjunto de datos con proyectos COBOL es importante. Este conjunto ayudará a investigadores y desarrolladores a aprender más sobre COBOL y su uso en proyectos del mundo real.

El Conjunto de Datos COBOL

Se creó un nuevo conjunto de datos que incluye 84 proyectos COBOL de GitHub. Este conjunto contiene información clave sobre el desarrollo de esos proyectos. Está diseñado para ayudar a cualquiera interesado en COBOL a estudiar cómo han crecido esos proyectos a lo largo del tiempo, las propiedades de su código y las herramientas disponibles para su desarrollo.

En total, el conjunto incluye 1,255 archivos COBOL, que son muy útiles para cualquiera que quiera ver cómo se usa COBOL en diferentes proyectos. El objetivo es proporcionar un recurso para investigadores para que puedan analizar y mejorar el código y los sistemas COBOL.

La Relevancia Continua de COBOL

A pesar de que los lenguajes de programación modernos son más populares, COBOL sigue manteniendo su relevancia. Según encuestas recientes, lenguajes como JavaScript y Python son muy populares entre los desarrolladores, mientras que COBOL a menudo se ve como menos favorable. Sin embargo, COBOL es responsable de una cantidad significativa de servicios financieros: alrededor del 80% de todas las transacciones en finanzas dependen de él.

Hoy en día, hay aproximadamente 220 mil millones de líneas de código COBOL, y se añaden alrededor de 1.5 mil millones de nuevas líneas cada año. Este lenguaje maneja transacciones por un valor de aproximadamente 3 trillones de dólares cada día. Además de en finanzas, COBOL también se usa en sistemas de salud y gubernamentales, lo que hace que sea importante mantener estos sistemas funcionando sin Problemas.

Desafíos con los Sistemas COBOL

Dado que muchos sistemas COBOL viejos son críticos para cómo operan los negocios, hay una necesidad de mantenerlos o actualizarlos a sistemas modernos. Migrar sistemas COBOL a nuevas plataformas puede ser complicado y caro. Por ejemplo, un gran banco en Australia tardó cinco años y gastó casi 750 millones de dólares en migrar sus sistemas COBOL.

Además, no hay muchos programadores capacitados en COBOL, lo que complica el mantenimiento de estos sistemas. A pesar de estos desafíos, la investigación sobre COBOL en ingeniería de software es limitada. La mayoría de los esfuerzos actuales se centran en arreglar el código COBOL y ayudar con la migración a sistemas más nuevos.

La Necesidad de Investigación

En todo el mundo, se han creado Conjuntos de datos de investigación para muchos lenguajes de programación para ayudar a entender varios desafíos en el desarrollo de software. Hay muchos conjuntos de datos disponibles para lenguajes como Python, pero hasta ahora no había un recurso equivalente para COBOL.

Los conjuntos de datos existentes han ayudado a los investigadores a analizar el desarrollo de programas en diferentes lenguajes, pero no existía un conjunto similar para COBOL hasta que se creó este. Este nuevo conjunto de datos abre caminos para la investigación sobre COBOL y su uso en el desarrollo de software.

Proceso de Recolección de Datos

Para crear este conjunto de datos COBOL, se usó un método claro para recolectar datos de GitHub. El equipo comenzó reuniendo enlaces a Repositorios donde COBOL es el lenguaje principal. Recolectaron información sobre 1,020 repositorios. Para garantizar la calidad de su conjunto de datos, se eliminaron los repositorios con menos de una estrella o aquellos que tenían temas como "tutorial" o "curso". Después de filtrar, quedaron 392 repositorios.

Verificaciones adicionales identificaron algunos repositorios que todavía no tenían código COBOL utilizable, lo que llevó a más eliminaciones. En total, se eliminaron 210 repositorios, resultando en una colección final de 84 repositorios que cumplían con sus estándares de calidad.

Extracción de Metadatos

Una vez que se eligieron los repositorios, el equipo utilizó un enfoque de programación con Python y las herramientas de GitHub para extraer datos importantes sobre cada repositorio. Reunieron métricas que incluían cosas como el número de commits, solicitudes de extracción y problemas. El objetivo era tener una vista completa de las actividades de desarrollo de cada proyecto.

Los metadatos de cada repositorio se organizaron en archivos separados para facilitar el análisis. Esto incluía datos sobre cuán activo era el repositorio, la cantidad de código COBOL que contenía y mucho más.

Recolección de Archivos COBOL

El siguiente paso consistió en recolectar todos los archivos COBOL de los repositorios seleccionados. Se diseñó un script para clonar cada repositorio y buscar archivos con código COBOL. Este proceso identificó archivos con varias extensiones comúnmente usadas para la programación COBOL. Junto con el código, se recolectó información sobre cuántas líneas estaban en blanco, cuántas eran comentarios y cuántas eran líneas de código real.

Todos los archivos COBOL extraídos y sus datos relacionados se organizaron de manera ordenada para el análisis.

Resumen del Conjunto de Datos

El conjunto de datos creado consiste en ocho archivos CSV que capturan diferentes aspectos de los proyectos COBOL. Esto incluye:

  1. Datos del Repositorio: Vista general de la actividad, como la frecuencia de commits y problemas.
  2. Datos de Commits: Información detallada sobre todos los commits con fechas y mensajes.
  3. Datos de Lanzamientos: Información sobre los lanzamientos realizados en los repositorios seleccionados.
  4. Datos de Problemas: Datos sobre los problemas creados dentro de los proyectos.
  5. Datos de Solicitudes de Extracción: Información sobre las solicitudes de extracción hechas en los repositorios.

Esta estructura permite a los investigadores acceder fácilmente a información específica y llevar a cabo análisis exhaustivos de los proyectos COBOL.

Hallazgos Interesantes del Conjunto de Datos

Con este conjunto de datos, se pueden extraer varias ideas sobre las prácticas de programación COBOL. La cantidad de otros lenguajes de programación usados junto a COBOL en estos repositorios es bastante alta, siendo shell y C los más comunes. En promedio, cada repositorio contiene alrededor de 21 archivos COBOL, y hay mucha información disponible sobre la calidad del código y los errores presentes en estos archivos.

Usos Posibles para el Conjunto de Datos

El nuevo conjunto de datos COBOL ofrece varias oportunidades para la investigación. Aquí hay algunas áreas donde puede ser beneficioso:

  1. Estudiar Características de COBOL: Los investigadores pueden investigar cómo se están usando diferentes características de COBOL. Esto podría ayudar a mejorar compiladores o herramientas de migración para quienes se trasladan de COBOL a lenguajes modernos.

  2. Analizar Errores en Proyectos COBOL: Al revisar los metadatos como problemas y commits, los investigadores pueden encontrar tipos comunes de errores y entender cómo se manejan en los sistemas COBOL.

  3. Evaluar Software COBOL de Código Abierto: Entender la fiabilidad y evolución del software COBOL de código abierto se puede hacer utilizando este conjunto de datos. Al analizar colaboraciones y contribuciones, los investigadores pueden obtener ideas sobre cómo prosperan estos proyectos.

  4. Hacer Comparaciones con Otros Lenguajes: Hay una oportunidad para comparar los conjuntos de datos de COBOL con lenguajes más populares, aprendiendo tanto de sus fortalezas como de sus debilidades.

Mejoras Futuras para el Conjunto de Datos

Aunque este conjunto de datos es un gran comienzo, hay margen para mejorar. Los métodos actuales de selección y filtrado pueden pasar por alto algunos repositorios de calidad, y se harán esfuerzos continuos para refinar esto. Ampliar el conjunto de datos para incluir proyectos COBOL adicionales y mejorar cómo se almacenan los datos están en la agenda para el desarrollo futuro.

Además, evaluar los archivos COBOL ejecutándolos podría ofrecer más ideas sobre su calidad y funcionalidad.

Conclusión

La creación de este conjunto de datos COBOL marca un paso significativo hacia adelante para la investigación en este área. Al proporcionar metadatos ricos y archivos fuente de varios proyectos, permite a los investigadores estudiar muchos aspectos de la programación COBOL. Hay potencial para análisis que pueden llevar a una mejor comprensión y mejoras en el mantenimiento y desarrollo de sistemas COBOL.

El conjunto de datos representa un recurso valioso para cualquiera interesado en el campo de COBOL y contribuye a la investigación continua que beneficiará a la industria en su conjunto. Con apoyo e investigación continuos, la comprensión de COBOL puede crecer, llevando a mejoras en cómo trabajamos con este lenguaje crítico.

Fuente original

Título: X-COBOL: A Dataset of COBOL Repositories

Resumen: Despite being proposed as early as 1959, COBOL (Common Business-Oriented Language) still predominantly acts as an integral part of the majority of operations of several financial, banking, and governmental organizations. To support the inevitable modernization and maintenance of legacy systems written in COBOL, it is essential for organizations, researchers, and developers to understand the nature and source code of COBOL programs. However, to the best of our knowledge, we are unaware of any dataset that provides data on COBOL software projects, motivating the need for the dataset. Thus, to aid empirical research on comprehending COBOL in open-source repositories, we constructed a dataset of 84 COBOL repositories mined from GitHub, containing rich metadata on the development cycle of the projects. We envision that researchers can utilize our dataset to study COBOL projects' evolution, code properties and develop tools to support their development. Our dataset also provides 1255 COBOL files present inside the mined repositories. The dataset and artifacts are available at https://doi.org/10.5281/zenodo.7968845.

Autores: Mir Sameed Ali, Nikhil Manjunath, Sridhar Chimalakonda

Última actualización: 2023-06-07 00:00:00

Idioma: English

Fuente URL: https://arxiv.org/abs/2306.04892

Fuente PDF: https://arxiv.org/pdf/2306.04892

Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/

Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.

Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.

Más de autores

Artículos similares