2020
DOI: 10.1371/journal.pone.0230557
|View full text |Cite
|
Sign up to set email alerts
|

bertha: Project skeleton for scientific software

Abstract: Science depends heavily on reliable and easy-to-use software packages such as mathematical libraries or data analysis tools. Developing such packages requires a lot of effort which is too often avoided due to the lack of funding or recognition. In order to reduce the efforts required to create sustainable software packages, we present a project skeleton that ensures best software engineering practices from the start of a project or serves as reference for existing projects.

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
5
1
1

Relationship

3
4

Authors

Journals

citations
Cited by 11 publications
(5 citation statements)
references
References 14 publications
(42 reference statements)
0
5
0
Order By: Relevance
“…The Monaco framework is a tool for the simulation of quantum cascade devices, here used for the optimization of QCDs employing Bayesian optimization based on Gaussian process regression. For the implementation of this software project, we follow the guidelines of the bertha project skeleton (Riesch et al 2020). The project is based on Matlab objectoriented programming, the version control system git together with the appropriate project management tool GitLab are used for the development of new tool features.…”
Section: Implementation: Monaco Frameworkmentioning
confidence: 99%
“…The Monaco framework is a tool for the simulation of quantum cascade devices, here used for the optimization of QCDs employing Bayesian optimization based on Gaussian process regression. For the implementation of this software project, we follow the guidelines of the bertha project skeleton (Riesch et al 2020). The project is based on Matlab objectoriented programming, the version control system git together with the appropriate project management tool GitLab are used for the development of new tool features.…”
Section: Implementation: Monaco Frameworkmentioning
confidence: 99%
“…For Python, the approach in Ioannides ( 2018) is very helpful. Apart from that, we have recently demonstrated the most comprehensive project skeleton for C++ with Python bindings (Riesch and Jirauschek 2019), which implements all best practices mentioned in Sect. 2, while it is also capable of building and installing an associated Python interface module using SWIG.…”
Section: Project Skeletons For Scientific Softwarementioning
confidence: 99%
“…We decided to use the C++ programming language for performance reasons, and offer bindings for Python in order to provide an easy-to-use interface for the researchers. Both programming languages are established in the scientific community and should constitute a reasonable choice [52].…”
Section: Implementation Of Mbsolvementioning
confidence: 99%
“…During the development of the software presented in this paper, we identified best practices in (scientific) software development and implemented them. In order to provide guidance for other software projects, we compiled our findings into a project skeleton [52]. This skeleton can be used to create new software project with a few button clicks.…”
Section: Project Management and Software Quality Assurancementioning
confidence: 99%