ChatPaper.aiChatPaper

BioCoder: Un Benchmark per la Generazione di Codice Bioinformatico con Conoscenza Pragmatica Contestuale

BioCoder: A Benchmark for Bioinformatics Code Generation with Contextual Pragmatic Knowledge

August 31, 2023
Autori: Xiangru Tang, Bill Qian, Rick Gao, Jiakang Chen, Xinyun Chen, Mark Gerstein
cs.AI

Abstract

I modelli linguistici pre-addestrati come ChatGPT hanno migliorato significativamente la generazione di codice. Man mano che questi modelli aumentano di scala, cresce la necessità che l'output sia in grado di gestire compiti più complessi. Inoltre, nel campo della bioinformatica, la generazione di programmi funzionali presenta ulteriori sfide notevoli a causa della quantità di conoscenza di dominio richiesta, della necessità di operazioni sui dati complesse e delle intricate dipendenze funzionali tra le operazioni. Qui presentiamo BioCoder, un benchmark sviluppato per valutare i modelli pre-addestrati esistenti nella generazione di codice bioinformatico. In relazione alla generazione di codice per funzioni, BioCoder copre le potenziali dipendenze da pacchetti, dichiarazioni di classi e variabili globali. Include 1026 funzioni e 1243 metodi in Python e Java provenienti da GitHub e 253 esempi dal Rosalind Project. BioCoder incorpora un framework di fuzz-testing per la valutazione, e lo abbiamo applicato per valutare molti modelli tra cui InCoder, CodeGen, CodeGen2, SantaCoder, StarCoder, StarCoder+, InstructCodeT5+ e ChatGPT. La nostra analisi dettagliata di questi modelli sottolinea l'importanza della conoscenza di dominio, della generazione pragmatica del codice e della comprensione contestuale. Il nostro dataset, benchmark, immagini Docker e script necessari per i test sono tutti disponibili su https://github.com/gersteinlab/biocoder.
English
Pre-trained language models like ChatGPT have significantly improved code generation. As these models scale up, there is an increasing need for the output to handle more intricate tasks. Moreover, in bioinformatics, generating functional programs poses additional notable challenges due to the amount of domain knowledge, the need for complicated data operations, and intricate functional dependencies between the operations. Here, we present BioCoder, a benchmark developed to evaluate existing pre-trained models in generating bioinformatics code. In relation to function-code generation, BioCoder covers potential package dependencies, class declarations, and global variables. It incorporates 1026 functions and 1243 methods in Python and Java from GitHub and 253 examples from the Rosalind Project. BioCoder incorporates a fuzz-testing framework for evaluation, and we have applied it to evaluate many models including InCoder, CodeGen, CodeGen2, SantaCoder, StarCoder, StarCoder+, InstructCodeT5+, and ChatGPT. Our detailed analysis of these models emphasizes the importance of domain knowledge, pragmatic code generation, and contextual understanding. Our dataset, benchmark, Docker images, and scripts required for testing are all available at https://github.com/gersteinlab/biocoder.
PDF130March 10, 2026