arrow
Return

Introducing a novel technique for call graph visualization and design pattern detection through runtime data profiling and dynamic warping

delete2026-01-01
delete0
PRE
AI
T
Tarik Houichime *
Y
Younes Amrani
DOI:10.1016/j.scico.2026.103445delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Automated design patterns recovery (ADPR) is a significant academic endeavor focused on identifying and methodically recording design patterns found within software codebases. This process typically involves a thorough examination of source code to find characteristics indicative of specific patterns. Despite sophisticated techniques, persistent challenges remain. These challenges include the complexity of static analysis and variations in pattern appearance across languages. Critically, static methods are fundamentally ill-suited for capturing the temporal, interactive nature of behavioral design patterns. This has led to a field where dynamic methods, while promising, have seen limited exploration regarding their integration with modern, state-of-the-art classifiers, complicating the achievement of comprehensive results. This gap highlights a clear need for novel approaches that can effectively model and analyze runtime behavior directly. In response, this study introduces a dynamic, language-portable two-stage framework. First, we present a novel method for visualizing runtime data as a perceptually-tuned sinusoidal signal. This signal acts as a discovery tool for human analysts, encoding the local context of a call (e.g., method's type) as amplitude and its global context (e.g., object interactions) as frequency. Second, we demonstrate how this visualization provides the foundational basis for the symbolic sequencing used in pattern detection. The signal acts as a procedural bridge, it allows an analyst to identify a 'Region of Interest' from the signal, which then guides the extraction of the corresponding event snippet from the raw log. This snippet is then translated into a compact, symbolic behavio-stuctural signature, providing a robust and analyzable representation. Importantly, this work also studies the nature of these sequences, such as their optimal length, and how these properties impact the classification process, thereby validating the foundational basis of the sequential representation.
Keywords:
Software architecture
Dynamic time warping
Design pattern detection
Object-oriented programming
Call graph visualization
Reverse engineering

Journal

S
Science of Computer Programming
IF:
1.4
Papers:
50
Citations:
1.6K

Organization

M
mohammed v university in rabat
Scholars:
1.7K
Papers: 622
Citations: 0