Dataset COBOL: Una Risorsa per la Ricerca
Un nuovo set di dati di progetti COBOL supporta la ricerca in sistemi cruciali.
― 7 leggere min
Indice
- Il Dataset COBOL
- La Continuità della Rilevanza di COBOL
- Sfide con i Sistemi COBOL
- La Necessità di Ricerca
- Processo di Raccolta Dati
- Estrazione dei Metadati
- Raccolta di File COBOL
- Panoramica del Dataset
- Risultati Interessanti dal Dataset
- Possibili Utilizzi del Dataset
- Futuri Miglioramenti al Dataset
- Conclusione
- Fonte originale
- Link di riferimento
COBOL, o Common Business-Oriented Language, esiste dal 1959. Anche se molti pensano sia superato, viene ancora usato in banche, uffici governativi e altri settori importanti. Molte transazioni finanziarie quotidiane e operazioni cruciali si basano ancora su sistemi costruiti con COBOL. Questo rende fondamentale per chi lavora in questi ambiti conoscere e utilizzare il codice COBOL.
Con molte aziende che cercano di modernizzare i loro vecchi sistemi, è importante studiare e capire i programmi COBOL. Tuttavia, trovare una buona raccolta di progetti COBOL per la ricerca è stata una sfida. Ecco perché creare un dataset di progetti COBOL è importante. Questo dataset aiuterà ricercatori e sviluppatori a conoscere meglio COBOL e il suo utilizzo in progetti reali.
Il Dataset COBOL
È stato creato un nuovo dataset che include 84 progetti COBOL da GitHub. Questo dataset contiene informazioni importanti sullo sviluppo di questi progetti. È progettato per aiutare chiunque sia interessato a COBOL a studiare come questi progetti siano cresciuti nel tempo, le proprietà del loro codice e gli strumenti disponibili per il loro sviluppo.
In totale, il dataset include 1.255 file COBOL, che possono essere molto utili per chiunque voglia capire come COBOL viene usato in diversi progetti. L'obiettivo è fornire una risorsa per i ricercatori affinché possano analizzare e migliorare il codice e i sistemi COBOL.
La Continuità della Rilevanza di COBOL
Anche se i linguaggi di programmazione moderni sono più popolari, COBOL continua a mantenere la sua importanza. Secondo sondaggi recenti, linguaggi come JavaScript e Python sono molto apprezzati tra gli sviluppatori, mentre COBOL è spesso visto come meno favorabile. Tuttavia, COBOL è responsabile di una parte significativa dei servizi finanziari: circa l'80% di tutte le transazioni finanziarie si basa su di esso.
Oggi ci sono circa 220 miliardi di righe di codice COBOL, e ogni anno si aggiungono circa 1,5 miliardi di nuove righe. Questo linguaggio gestisce transazioni per un valore di circa 3 trilioni di dollari ogni giorno. Oltre alla finanza, COBOL è utilizzato anche nella sanità e nei sistemi governativi, il che rende importante mantenere questi sistemi in funzione senza intoppi.
Sfide con i Sistemi COBOL
Poiché molti vecchi sistemi COBOL sono fondamentali per il funzionamento delle aziende, c'è bisogno di mantenerli o aggiornarli a sistemi moderni. Trasferire i sistemi COBOL su nuove piattaforme può essere difficile e costoso. Ad esempio, una grande banca in Australia ha impiegato cinque anni e speso quasi 750 milioni di dollari per migrare i propri sistemi COBOL.
Inoltre, non ci sono molti programmatori esperti in COBOL, il che rende più difficile mantenere questi sistemi. Nonostante queste sfide, la ricerca su COBOL nell'ingegneria del software è limitata. La maggior parte degli sforzi attuali si concentra sulla correzione del codice COBOL e sull'assistenza nella migrazione verso sistemi più recenti.
La Necessità di Ricerca
In tutto il mondo, sono stati creati dataset di ricerca per molti linguaggi di programmazione per aiutare a comprendere le varie sfide nello sviluppo software. Ci sono numerosi dataset disponibili per linguaggi come Python, ma finora non esisteva una risorsa equivalente per COBOL.
I dataset esistenti hanno aiutato i ricercatori ad analizzare lo sviluppo di programmi in vari linguaggi, ma non esisteva un dataset simile per COBOL fino a quando non è stato creato questo. Questo nuovo dataset apre la strada alla ricerca su COBOL e sul suo utilizzo nello sviluppo software.
Processo di Raccolta Dati
Per creare questo dataset COBOL, è stato utilizzato un metodo chiaro per raccogliere dati da GitHub. Il team ha iniziato raccogliendo link a Repository in cui COBOL è il linguaggio principale. Hanno raccolto informazioni su 1.020 repository. Per garantire la qualità del loro dataset, sono stati rimossi tutti i repository con meno di una stella o quelli che avevano argomenti come "tutorial" o "corso". Dopo aver filtrato questi, sono rimasti 392 repository.
Ulteriori controlli hanno identificato alcuni repository che non contenevano codice COBOL utilizzabile, portando a ulteriori rimozioni. In totale, 210 repository sono stati eliminati, portando a una raccolta finale di 84 repository che soddisfacevano i loro standard di qualità.
Estrazione dei Metadati
Una volta scelti i repository, il team ha utilizzato un approccio di programmazione con Python e gli strumenti di GitHub per estrarre dati importanti su ciascun repository. Hanno raccolto metriche che includevano cose come il numero di commit, pull request e Problemi. L'obiettivo era avere una visione complessiva delle attività di sviluppo di ogni progetto.
I metadati di ciascun repository sono stati organizzati in file separati per facilitare l'analisi. Questo includeva dati su quanto fosse attivo il repository, la quantità di codice COBOL che conteneva e molto altro.
Raccolta di File COBOL
Il passo successivo ha coinvolto la raccolta di tutti i file COBOL dai repository selezionati. È stato progettato uno script per clonare ogni repository e cercare file con codice COBOL. Questo processo ha identificato file con varie estensioni comunemente usate per la programmazione COBOL. Insieme al codice, sono state raccolte informazioni su quante righe erano vuote, quante erano commenti e quante erano righe di codice effettive.
Tutti i file COBOL estratti e i loro dati correlati sono stati organizzati ordinatamente per l'analisi.
Panoramica del Dataset
Il dataset creato consiste in otto file CSV che catturano diversi aspetti dei progetti COBOL. Questo include:
- Dati del Repository: Panoramica dell'attività, come la frequenza di commit e problemi.
- Dati dei Commit: Informazioni dettagliate su tutti i commit con date e messaggi.
- Dati di Rilascio: Informazioni sui rilasci effettuati nei repository selezionati.
- Dati dei Problemi: Dati sui problemi creati all'interno dei progetti.
- Dati delle Pull Request: Informazioni sulle pull request effettuate nei repository.
Questa struttura consente ai ricercatori di accedere facilmente a informazioni specifiche e condurre analisi approfondite sui progetti COBOL.
Risultati Interessanti dal Dataset
Con questo dataset, si possono trarre diverse intuizioni sulle pratiche di programmazione COBOL. Il numero di altri linguaggi di programmazione usati insieme a COBOL in questi repository è piuttosto alto, con shell e C come i più comuni. In media, ogni repository contiene circa 21 file COBOL, e c'è molta informazione disponibile sulla qualità del codice e sui bug presenti in questi file.
Possibili Utilizzi del Dataset
Il nuovo dataset COBOL offre varie opportunità di ricerca. Ecco alcune aree in cui può essere utile:
Studiare le Caratteristiche di COBOL: I ricercatori possono esaminare come vengono utilizzate le diverse caratteristiche di COBOL. Questo potrebbe aiutare a migliorare i compilatori o gli strumenti di migrazione per chi passa da COBOL a linguaggi moderni.
Analizzare i Bug nei Progetti COBOL: Esaminando i metadati come problemi e commit, i ricercatori possono trovare i tipi di bug più comuni e capire come vengono gestiti nei sistemi COBOL.
Valutare il Software COBOL Open Source: Comprendere l'affidabilità e l'evoluzione del software COBOL open-source può essere fatto utilizzando questo dataset. Analizzando collaborazioni e contributi, i ricercatori possono ottenere intuizioni su come prosperano questi progetti.
Fare Confronti con Altri Linguaggi: C'è l'opportunità di confrontare i dataset di COBOL con linguaggi più popolari, traendo insegnamenti dai loro punti di forza e debolezza.
Futuri Miglioramenti al Dataset
Anche se questo dataset è un ottimo inizio, c'è spazio per miglioramenti. I metodi attuali di selezione e filtraggio potrebbero trascurare alcuni repository di qualità, e si continueranno gli sforzi per affinarlo. Espandere il dataset per includere progetti COBOL aggiuntivi e migliorare come vengono memorizzati i dati sono sulla lista per lo sviluppo futuro.
Inoltre, valutare i file COBOL eseguendoli potrebbe offrire ulteriori intuizioni sulla loro qualità e funzionalità.
Conclusione
La creazione di questo dataset COBOL segna un passo significativo avanti per la ricerca in questo campo. Fornendo metadati ricchi e file sorgente provenienti da vari progetti, consente ai ricercatori di studiare molti aspetti della programmazione COBOL. C'è potenziale per analisi che possano portare a una migliore comprensione e migliorie nella manutenzione e nello sviluppo dei sistemi COBOL.
Il dataset rappresenta una risorsa preziosa per chiunque sia interessato al campo del COBOL e contribuisce alla ricerca in corso che beneficerà l'intero settore. Con un supporto e una ricerca continuativa, la comprensione di COBOL può crescere, portando a miglioramenti in come lavoriamo con questo linguaggio critico.
Titolo: X-COBOL: A Dataset of COBOL Repositories
Estratto: 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.
Autori: Mir Sameed Ali, Nikhil Manjunath, Sridhar Chimalakonda
Ultimo aggiornamento: 2023-06-07 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2306.04892
Fonte PDF: https://arxiv.org/pdf/2306.04892
Licenza: https://creativecommons.org/licenses/by-nc-sa/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.