Cargando…

Current Practice in Software Development for Computational Neuroscience and How to Improve It

Almost all research work in computational neuroscience involves software. As researchers try to understand ever more complex systems, there is a continual need for software with new capabilities. Because of the wide range of questions being investigated, new software is often developed rapidly by in...

Descripción completa

Detalles Bibliográficos
Autores principales: Gewaltig, Marc-Oliver, Cannon, Robert
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Public Library of Science 2014
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3900372/
https://www.ncbi.nlm.nih.gov/pubmed/24465191
http://dx.doi.org/10.1371/journal.pcbi.1003376
_version_ 1782300681030336512
author Gewaltig, Marc-Oliver
Cannon, Robert
author_facet Gewaltig, Marc-Oliver
Cannon, Robert
author_sort Gewaltig, Marc-Oliver
collection PubMed
description Almost all research work in computational neuroscience involves software. As researchers try to understand ever more complex systems, there is a continual need for software with new capabilities. Because of the wide range of questions being investigated, new software is often developed rapidly by individuals or small groups. In these cases, it can be hard to demonstrate that the software gives the right results. Software developers are often open about the code they produce and willing to share it, but there is little appreciation among potential users of the great diversity of software development practices and end results, and how this affects the suitability of software tools for use in research projects. To help clarify these issues, we have reviewed a range of software tools and asked how the culture and practice of software development affects their validity and trustworthiness. We identified four key questions that can be used to categorize software projects and correlate them with the type of product that results. The first question addresses what is being produced. The other three concern why, how, and by whom the work is done. The answers to these questions show strong correlations with the nature of the software being produced, and its suitability for particular purposes. Based on our findings, we suggest ways in which current software development practice in computational neuroscience can be improved and propose checklists to help developers, reviewers, and scientists to assess the quality of software and whether particular pieces of software are ready for use in research.
format Online
Article
Text
id pubmed-3900372
institution National Center for Biotechnology Information
language English
publishDate 2014
publisher Public Library of Science
record_format MEDLINE/PubMed
spelling pubmed-39003722014-01-24 Current Practice in Software Development for Computational Neuroscience and How to Improve It Gewaltig, Marc-Oliver Cannon, Robert PLoS Comput Biol Perspective Almost all research work in computational neuroscience involves software. As researchers try to understand ever more complex systems, there is a continual need for software with new capabilities. Because of the wide range of questions being investigated, new software is often developed rapidly by individuals or small groups. In these cases, it can be hard to demonstrate that the software gives the right results. Software developers are often open about the code they produce and willing to share it, but there is little appreciation among potential users of the great diversity of software development practices and end results, and how this affects the suitability of software tools for use in research projects. To help clarify these issues, we have reviewed a range of software tools and asked how the culture and practice of software development affects their validity and trustworthiness. We identified four key questions that can be used to categorize software projects and correlate them with the type of product that results. The first question addresses what is being produced. The other three concern why, how, and by whom the work is done. The answers to these questions show strong correlations with the nature of the software being produced, and its suitability for particular purposes. Based on our findings, we suggest ways in which current software development practice in computational neuroscience can be improved and propose checklists to help developers, reviewers, and scientists to assess the quality of software and whether particular pieces of software are ready for use in research. Public Library of Science 2014-01-23 /pmc/articles/PMC3900372/ /pubmed/24465191 http://dx.doi.org/10.1371/journal.pcbi.1003376 Text en This is an open-access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
spellingShingle Perspective
Gewaltig, Marc-Oliver
Cannon, Robert
Current Practice in Software Development for Computational Neuroscience and How to Improve It
title Current Practice in Software Development for Computational Neuroscience and How to Improve It
title_full Current Practice in Software Development for Computational Neuroscience and How to Improve It
title_fullStr Current Practice in Software Development for Computational Neuroscience and How to Improve It
title_full_unstemmed Current Practice in Software Development for Computational Neuroscience and How to Improve It
title_short Current Practice in Software Development for Computational Neuroscience and How to Improve It
title_sort current practice in software development for computational neuroscience and how to improve it
topic Perspective
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3900372/
https://www.ncbi.nlm.nih.gov/pubmed/24465191
http://dx.doi.org/10.1371/journal.pcbi.1003376
work_keys_str_mv AT gewaltigmarcoliver currentpracticeinsoftwaredevelopmentforcomputationalneuroscienceandhowtoimproveit
AT cannonrobert currentpracticeinsoftwaredevelopmentforcomputationalneuroscienceandhowtoimproveit