A Framework to Support Behavioral Design Pattern Detection from Software Execution Data

Cong Liu, Boudewijn van Dongen, Nour Assy, Wil M. P. van der Aalst

2018

Abstract

The detection of design patterns provides useful insights to help understanding not only the code but also the design and architecture of the underlying software system. Most existing design pattern detection approaches and tools rely on source code as input. However, if the source code is not available (e.g., in case of legacy software systems) these approaches are not applicable anymore. During the execution of software, tremendous amounts of data can be recorded. This provides rich information on the runtime behavior analysis of software. This paper presents a general framework to detect behavioral design patterns by analyzing sequences of the method calls and interactions of the objects that are collected in software execution data. To demonstrate the applicability, the framework is instantiated for three well-known behavioral design patterns, i.e., observer, state and strategy patterns. Using the open-source process mining toolkit ProM, we have developed a tool that supports the whole detection process. We applied and validated the framework using software execution data containing around 1000.000 method calls generated from both synthetic and open-source software systems.

Download


Paper Citation


in Harvard Style

Liu C., van Dongen B., Assy N. and M. P. van der Aalst W. (2018). A Framework to Support Behavioral Design Pattern Detection from Software Execution Data.In Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-300-1, pages 65-76. DOI: 10.5220/0006688000650076


in Bibtex Style

@conference{enase18,
author={Cong Liu and Boudewijn van Dongen and Nour Assy and Wil M. P. van der Aalst},
title={A Framework to Support Behavioral Design Pattern Detection from Software Execution Data},
booktitle={Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2018},
pages={65-76},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006688000650076},
isbn={978-989-758-300-1},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - A Framework to Support Behavioral Design Pattern Detection from Software Execution Data
SN - 978-989-758-300-1
AU - Liu C.
AU - van Dongen B.
AU - Assy N.
AU - M. P. van der Aalst W.
PY - 2018
SP - 65
EP - 76
DO - 10.5220/0006688000650076