Cargando…
Software engineering principles to improve quality and performance of R software
Today’s computational researchers are expected to be highly proficient in using software to solve a wide range of problems ranging from processing large datasets to developing personalized treatment strategies from a growing range of options. Researchers are well versed in their own field, but may l...
Autores principales: | , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
PeerJ Inc.
2019
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7924430/ https://www.ncbi.nlm.nih.gov/pubmed/33816828 http://dx.doi.org/10.7717/peerj-cs.175 |
_version_ | 1783659087976726528 |
---|---|
author | Russell, Seth Bennett, Tellen D. Ghosh, Debashis |
author_facet | Russell, Seth Bennett, Tellen D. Ghosh, Debashis |
author_sort | Russell, Seth |
collection | PubMed |
description | Today’s computational researchers are expected to be highly proficient in using software to solve a wide range of problems ranging from processing large datasets to developing personalized treatment strategies from a growing range of options. Researchers are well versed in their own field, but may lack formal training and appropriate mentorship in software engineering principles. Two major themes not covered in most university coursework nor current literature are software testing and software optimization. Through a survey of all currently available Comprehensive R Archive Network packages, we show that reproducible and replicable software tests are frequently not available and that many packages do not appear to employ software performance and optimization tools and techniques. Through use of examples from an existing R package, we demonstrate powerful testing and optimization techniques that can improve the quality of any researcher’s software. |
format | Online Article Text |
id | pubmed-7924430 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2019 |
publisher | PeerJ Inc. |
record_format | MEDLINE/PubMed |
spelling | pubmed-79244302021-04-02 Software engineering principles to improve quality and performance of R software Russell, Seth Bennett, Tellen D. Ghosh, Debashis PeerJ Comput Sci Computer Education Today’s computational researchers are expected to be highly proficient in using software to solve a wide range of problems ranging from processing large datasets to developing personalized treatment strategies from a growing range of options. Researchers are well versed in their own field, but may lack formal training and appropriate mentorship in software engineering principles. Two major themes not covered in most university coursework nor current literature are software testing and software optimization. Through a survey of all currently available Comprehensive R Archive Network packages, we show that reproducible and replicable software tests are frequently not available and that many packages do not appear to employ software performance and optimization tools and techniques. Through use of examples from an existing R package, we demonstrate powerful testing and optimization techniques that can improve the quality of any researcher’s software. PeerJ Inc. 2019-02-04 /pmc/articles/PMC7924430/ /pubmed/33816828 http://dx.doi.org/10.7717/peerj-cs.175 Text en © 2019 Russell et al. http://creativecommons.org/licenses/by/4.0/ 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, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited. |
spellingShingle | Computer Education Russell, Seth Bennett, Tellen D. Ghosh, Debashis Software engineering principles to improve quality and performance of R software |
title | Software engineering principles to improve quality and performance of R software |
title_full | Software engineering principles to improve quality and performance of R software |
title_fullStr | Software engineering principles to improve quality and performance of R software |
title_full_unstemmed | Software engineering principles to improve quality and performance of R software |
title_short | Software engineering principles to improve quality and performance of R software |
title_sort | software engineering principles to improve quality and performance of r software |
topic | Computer Education |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7924430/ https://www.ncbi.nlm.nih.gov/pubmed/33816828 http://dx.doi.org/10.7717/peerj-cs.175 |
work_keys_str_mv | AT russellseth softwareengineeringprinciplestoimprovequalityandperformanceofrsoftware AT bennetttellend softwareengineeringprinciplestoimprovequalityandperformanceofrsoftware AT ghoshdebashis softwareengineeringprinciplestoimprovequalityandperformanceofrsoftware |