Static and Dynamic Analysis of Python-based Research Software

Fuente: Zenodo
Saved in:
Bibliographic Details
Main Authors: Larrivain, Daphné, Yang, Shinhyung, Hasselbring, Wilhelm
Format: Recurso digital
Language:English
Published: Zenodo 2026
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866902196950401024
author Larrivain, Daphné
Yang, Shinhyung
Hasselbring, Wilhelm
author_facet Larrivain, Daphné
Yang, Shinhyung
Hasselbring, Wilhelm
contents <div> <p>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.</p> <p>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.</p> <p>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.</p> <p>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).</p> </div>
format Recurso digital
id zenodo_https___doi_org_10_5281_zenodo_18742736
institution Zenodo
language eng
publishDate 2026
publisher Zenodo
record_format zenodo
spellingShingle Static and Dynamic Analysis of Python-based Research Software
Larrivain, Daphné
Yang, Shinhyung
Hasselbring, Wilhelm
RSE Research
Program Analysis
Software Engineering
<div> <p>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.</p> <p>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.</p> <p>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.</p> <p>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).</p> </div>
title Static and Dynamic Analysis of Python-based Research Software
topic RSE Research
Program Analysis
Software Engineering
url https://doi.org/10.5281/zenodo.18742736