A framework to support behavioral design pattern detection from software execution data

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

4 Citations (Scopus)

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.

Original languageEnglish
Title of host publicationENASE 2018 - Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering
PublisherSCITEPRESS-Science and Technology Publications, Lda.
Pages65-76
Number of pages12
ISBN (Electronic)978-989-758-300-1
DOIs
Publication statusPublished - 1 Jan 2018
Event13th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2018 - Funchal, Madeira, Portugal
Duration: 23 Mar 201824 Mar 2018

Conference

Conference13th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2018
CountryPortugal
CityFunchal, Madeira
Period23/03/1824/03/18

Fingerprint

Open source software

Keywords

  • Behavioral Design Pattern
  • General Framework
  • Pattern Instance Detection
  • Software Execution Data

Cite this

Liu, C., van Dongen, B., Assy, N., & van der Aalst, W. M. P. (2018). A framework to support behavioral design pattern detection from software execution data. In ENASE 2018 - Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering (pp. 65-76). SCITEPRESS-Science and Technology Publications, Lda.. https://doi.org/10.5220/0006688000650076
Liu, Cong ; van Dongen, Boudewijn ; Assy, Nour ; van der Aalst, Wil M.P. / A framework to support behavioral design pattern detection from software execution data. ENASE 2018 - Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering. SCITEPRESS-Science and Technology Publications, Lda., 2018. pp. 65-76
@inproceedings{094df65efe3c48499ee29d6e602703d6,
title = "A framework to support behavioral design pattern detection from software execution data",
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.",
keywords = "Behavioral Design Pattern, General Framework, Pattern Instance Detection, Software Execution Data",
author = "Cong Liu and {van Dongen}, Boudewijn and Nour Assy and {van der Aalst}, {Wil M.P.}",
year = "2018",
month = "1",
day = "1",
doi = "10.5220/0006688000650076",
language = "English",
pages = "65--76",
booktitle = "ENASE 2018 - Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering",
publisher = "SCITEPRESS-Science and Technology Publications, Lda.",

}

Liu, C, van Dongen, B, Assy, N & van der Aalst, WMP 2018, A framework to support behavioral design pattern detection from software execution data. in ENASE 2018 - Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering. SCITEPRESS-Science and Technology Publications, Lda., pp. 65-76, 13th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2018, Funchal, Madeira, Portugal, 23/03/18. https://doi.org/10.5220/0006688000650076

A framework to support behavioral design pattern detection from software execution data. / Liu, Cong; van Dongen, Boudewijn; Assy, Nour; van der Aalst, Wil M.P.

ENASE 2018 - Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering. SCITEPRESS-Science and Technology Publications, Lda., 2018. p. 65-76.

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

TY - GEN

T1 - A framework to support behavioral design pattern detection from software execution data

AU - Liu, Cong

AU - van Dongen, Boudewijn

AU - Assy, Nour

AU - van der Aalst, Wil M.P.

PY - 2018/1/1

Y1 - 2018/1/1

N2 - 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.

AB - 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.

KW - Behavioral Design Pattern

KW - General Framework

KW - Pattern Instance Detection

KW - Software Execution Data

UR - http://www.scopus.com/inward/record.url?scp=85049681069&partnerID=8YFLogxK

U2 - 10.5220/0006688000650076

DO - 10.5220/0006688000650076

M3 - Conference contribution

AN - SCOPUS:85049681069

SP - 65

EP - 76

BT - ENASE 2018 - Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering

PB - SCITEPRESS-Science and Technology Publications, Lda.

ER -

Liu C, van Dongen B, Assy N, van der Aalst WMP. A framework to support behavioral design pattern detection from software execution data. In ENASE 2018 - Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering. SCITEPRESS-Science and Technology Publications, Lda. 2018. p. 65-76 https://doi.org/10.5220/0006688000650076