Static and Dynamic Analysis of Python-based Research Software

The Python programming language has become popular among researchers and an increasing number of research software is written in Python. However, there is a lack of reusability for those that has not been maintained with RSE principles. Moreover, many of them are left unmaintained when developers find no further academic interests in them. Once developers with expertise in the software leave the software project, it is very unlikely to understand and maintain it from the scratch for developers who are new to the software. This raises an even bigger challenge if the software code base is large, or documented insufficiently. In this talk, we introduce dynamic and static analysis of Python software, a technique that enables reverse engineering of programs written in Python. Our analysis approach visualizes the target application, producing call graphs, sequence diagrams, and component dependency graphs. This way, our visualization provides an overview of the internal behavior of the target program. With this work, we present a new Python support that utilizes the monitoring and analysis parts of the Kieker Observability Framework. This work is also a step of our continued RSE research efforts to support Python software observability with Kieker, as part of our DFG-funded SustainKieker project, and the UKRI Metascience Research Grants programme. As for the next step, we will investigate into extending our monitoring and analysis to Python application's external libraries, that are system native and built for performance. SustainKieker is funded by the Deutsche Forschungsgemeinschaft (DFG – German Research Foundation) (grant no. 528713834) and UK Research and Innovation (UKRI) through the UKRI Metascience Research Grants programme (Reference S26368).

Authors

Institutions

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2026-02-23
DOI
https://doi.org/10.5281/zenodo.18742735
Primary Topic
Computational Physics and Python Applications
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Static and Dynamic Analysis of Python-based Research Software

Shinhyung Yang, Wilhelm Hasselbring, Daphné Larrivain
Zenodo (CERN European Organization for Nuclear Research)
Computational Physics and Python Applications
article

Static and Dynamic Analysis of Python-based Research Software

Shinhyung Yang, Wilhelm Hasselbring, Daphné Larrivain
article en

Abstract

The Python programming language has become popular among researchers and an increasing number of research software is written in Python. However, there is a lack of reusability for those that has not been maintained with RSE principles. Moreover, many of them are left unmaintained when developers find no further academic interests in them. Once developers with expertise in the software leave the software project, it is very unlikely to understand and maintain it from the scratch for developers who are new to the software. This raises an even bigger challenge if the software code base is large, or documented insufficiently. In this talk, we introduce dynamic and static analysis of Python software, a technique that enables reverse engineering of programs written in Python. Our analysis approach visualizes the target application, producing call graphs, sequence diagrams, and component dependency graphs. This way, our visualization provides an overview of the internal behavior of the target program. With this work, we present a new Python support that utilizes the monitoring and analysis parts of the Kieker Observability Framework. This work is also a step of our continued RSE research efforts to support Python software observability with Kieker, as part of our DFG-funded SustainKieker project, and the UKRI Metascience Research Grants programme. As for the next step, we will investigate into extending our monitoring and analysis to Python application's external libraries, that are system native and built for performance. SustainKieker is funded by the Deutsche Forschungsgemeinschaft (DFG – German Research Foundation) (grant no. 528713834) and UK Research and Innovation (UKRI) through the UKRI Metascience Research Grants programme (Reference S26368).

Zenodo (CERN European Organization for Nuclear Research)
École Nationale Supérieure d'Ingénieurs de Caen (FR), Christian-Albrechts-Universität zu Kiel (DE)
Industry, innovation and infrastructure
Openalex Percentile: Top 49%
Computational Physics and Python Applications
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.