Logo of the Joint Lab HiRSE: Helmholtz Information - Research Software Engineering

42nd HiRSE Seminar

On Thursday 15th May at 11am CEST, we will celebrate the ‘Young RSE Award’ winners from 2023, 2024 and 2025 with a presentation from each of them on the research topic that won them the award. If your RSE career has just started you can get involved in the Young RSE competition which occurs annually organised by the deRSE Association and takes place at the deRSE Conference. We welcome the 2023 Award Winner - Yudong Sun, the 2024 Award Winner - Florian Sihler, the 2025 Award Winner - Anna Lena Schaible.

Yudong Sun

Title: Modularity in Software-Hardware Interaction for Experimental Physics, an Example

Abstract:Software-hardware interfacing is vital to experimental physics, and is often used to automate data collection and analysis. However, while technologies like Virtual Instrument Software Architecture (VISA) exist, modularity is still not common in homemade software for research. Code written by researchers, despite using the same equipment, often does not get preserved, and generally does not align with the Object-Oriented Programming (OOP) paradigm. Here, we look back at project “nanosquared”, a Python interfacing package that is highly modular and extensively tested for laser M-squared measurements. Such modularity aims to increase code re-usability/longevity and lower barriers-of-entry for software development.


Florian Sihler

Title: flowR: A Program Slicer for the R Programming Language

Abstract: Program slicing is an important technique to assist program comprehension. A program slicer identifies the parts of a program that are relevant to a given variable, e.g. a visualization or statistical test. The resulting slice can then help R programmers and researchers to understand the program by reducing the amount of code to be considered. We present flowR, a novel program slicer and dataflow analyzer for the R programming language. Given an R program and a variable of interest, flowR can return the resulting slice as a subset of the program or highlight the relevant parts directly in the input. Currently, flowR provides a read-eval-print loop, a server connection, an extension for Visual Studio Code, RStudio, and Positron. flowR is available as a docker image. flowR uses a five-step pipeline architecture, starting with a parser to convert the program into an abstract syntax tree (AST). After normalizing the AST, the dataflow extraction works as a stateful fold over the AST, incrementally constructing the graph of each subtree. The calculation of the program slice reduces to a reachability traversal of the dataflow graph which contains the uses and definitions of all variables. Finally, the slice is either reconstructed as R code or highlighted in the input.


Anna Lena Schaible

Title: Fast GPU-powered and auto-differentiable forward modeling for cosmological hydrodynamical simulations

Abstract: In the field of extragalactic astronomy we have typical two groups: The observers and the theorists. The nature of the data these two groups work with is very different: Observers count photons with the instrument detectors and theorists work with particles that have specific physical properties. This results in a rather small scientific exchange between both groups. Generally, there are two ways to bring observational data and simulation data closer together to allow a direct comparison between them: Forward modeling and inverse modeling. Forward modeling calculates what should be observed for a particular model. The forward model takes certain parameters and produces data that are comparable to actual observations. Here, we present RUBIX, a novel python framework that aims at bridging the gap between observation and modeling. Inverse modeling is the process of starting with the result - the observational data - and calculating the causal factors that produce these data, which means constructing a model that accounts for the given set of observations. In the future, RUBIX will also allow for inverse modeling of observational data of galaxies. To this end, it leverages the sophisticated features of the JAX ecosystem and implements a pipeline structure that naturally supports differentiability of the computations. Besides the pure software side, I will spent part time of the talk on how to start writing a research software from scratch. I will discuss the experiences and lessons learned in the journey from being a PhD student with no prior experience in research software engineering to developing an innovative open-source scientific software that uses cutting edge technologies.


The talk will be held online. The connection details will be posted here:

If you would like to attend, but think you may not get the connection details through these channels, please write to hirse@fz-juelich.de. Slides will be published at the HiRSE Zenodo Community.

Location: virtual