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...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
PeerJ Inc.
2019-02-01
|
Series: | PeerJ Computer Science |
Subjects: | |
Online Access: | https://peerj.com/articles/cs-175.pdf |
_version_ | 1818017138353373184 |
---|---|
author | Seth Russell Tellen D. Bennett Debashis Ghosh |
author_facet | Seth Russell Tellen D. Bennett Debashis Ghosh |
author_sort | Seth Russell |
collection | DOAJ |
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. |
first_indexed | 2024-04-14T07:23:13Z |
format | Article |
id | doaj.art-068eabbe91d84beda69340791b178e9c |
institution | Directory Open Access Journal |
issn | 2376-5992 |
language | English |
last_indexed | 2024-04-14T07:23:13Z |
publishDate | 2019-02-01 |
publisher | PeerJ Inc. |
record_format | Article |
series | PeerJ Computer Science |
spelling | doaj.art-068eabbe91d84beda69340791b178e9c2022-12-22T02:06:06ZengPeerJ Inc.PeerJ Computer Science2376-59922019-02-015e17510.7717/peerj-cs.175Software engineering principles to improve quality and performance of R softwareSeth Russell0Tellen D. Bennett1Debashis Ghosh2University of Colorado Data Science to Patient Value, University of Colorado Anschutz Medical Campus, Aurora, CO, USAUniversity of Colorado Data Science to Patient Value, University of Colorado Anschutz Medical Campus, Aurora, CO, USAUniversity of Colorado Data Science to Patient Value, University of Colorado Anschutz Medical Campus, Aurora, CO, USAToday’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.https://peerj.com/articles/cs-175.pdfUnit testingProfilingOptimizationSoftware engineeringR languageStatistical computing |
spellingShingle | Seth Russell Tellen D. Bennett Debashis Ghosh Software engineering principles to improve quality and performance of R software PeerJ Computer Science Unit testing Profiling Optimization Software engineering R language Statistical computing |
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 | Unit testing Profiling Optimization Software engineering R language Statistical computing |
url | https://peerj.com/articles/cs-175.pdf |
work_keys_str_mv | AT sethrussell softwareengineeringprinciplestoimprovequalityandperformanceofrsoftware AT tellendbennett softwareengineeringprinciplestoimprovequalityandperformanceofrsoftware AT debashisghosh softwareengineeringprinciplestoimprovequalityandperformanceofrsoftware |