Dynamic and Static Analysis of Python Software with Kieker Including Reconstructed Architectures

📅 2025-07-31
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work addresses the lack of architecture-centric, systematic observability analysis tools for Python software. We present the first migration and reconstruction of the Java-based Kieker observability framework into a Python-native implementation, establishing a synergistic analysis pipeline that integrates static analysis (Abstract Syntax Tree parsing, module dependency extraction) with dynamic instrumentation (runtime call-chain capture, method-level monitoring). Our approach enables fine-grained cross-module invocation tracing, automated construction of program dependency graphs, and architecture visualization and reconstruction. Experimental evaluation across multiple real-world Python projects demonstrates high-fidelity recovery of both structural organization and dynamic execution behavior, significantly enhancing observability and architectural comprehensibility for complex Python applications. The complete toolchain is open-sourced.

Technology Category

Application Category

📝 Abstract
The Kieker observability framework is a tool that provides users with the means to design a custom observability pipeline for their application. Originally tailored for Java, supporting Python with Kieker is worthwhile. Python's popularity has exploded over the years, thus making structural insights of Python applications highly valuable. Our Python analysis pipeline combines static and dynamic analysis in order to build a complete picture of a given system.
Problem

Research questions and friction points this paper is trying to address.

Extend Kieker framework to support Python applications
Combine static and dynamic analysis for system insights
Provide structural understanding of Python software
Innovation

Methods, ideas, or system contributions that make the work stand out.

Combines static and dynamic analysis
Extends Kieker framework to Python
Reconstructs software architecture insights
🔎 Similar Papers
No similar papers found.
D
Daphné Larrivain
ENSICAEN, Caen, France
S
Shinhyung Yang
Kiel University, Kiel, Germany
Wilhelm Hasselbring
Wilhelm Hasselbring
Professor of Software Engineering, University of Kiel
Software Engineering