12-13 May 2022
Max Planck Institute for Evolutionary Biology
Europe/Berlin timezone

Writing Extensible Software for Researchers - Principles and an Example in Julia

12 May 2022, 18:30
Lecture Hall (Max Planck Institute for Evolutionary Biology)

Lecture Hall

Max Planck Institute for Evolutionary Biology

August Thienemann Strasse 2 24306 Plön Germany
onsite Session 3


Maximilian Ernst (MPIB-Berlin) Aaron Peikert (MPIB Berlin) Andreas Brandmaier (MPIB Berlin)


Software for research has to keep up with the methodological developments in its
field. All too often, only a handful of maintainers bear the load of maintaining and
extending software. In consequence, they are swamped with demands for adding addi-
tional features, resulting in long delays until new innovations become available.
However, in many disciplines, methodological researchers are somewhat proficient
in writing code and would in theory be able to contribute to existing software solutions.
But often the existing code base is not easily extensible, and researchers instead write
idiosyncratic ad-hoc software solutions for their specific tasks. In consequence, they
reimplement large parts of existing software and add their required features, resulting
in many similar software packages co-existing but not being compatible to each other.
To solve this problem, it is necessary to design open software that is easily exten-
sible by other researchers. I will show that this is not only about making source code
publicly available, but about design patterns and software development methodologies.
Many features of the Julia programming language make it ideal to meet these demands,
while achieving high performance for compute-intensive tasks. In addition, I will show
everything in action in the experimental Julia package StructuralEquationModels.jl.

Presentation Materials