Detecting behavioral design patterns from software execution data

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

1 Downloads (Pure)

Abstract

Design pattern detection techniques provide useful insights to help understand the design and architecture of software systems. Existing design pattern detection techniques require as input the source code of software systems. Hence, these techniques may become not applicable in case the source code is not available anymore. Large volumes of data are recorded and stored during software execution, which is very useful for design pattern detection of software systems. This chapter introduces a general framework to support the detection of behavioral design patterns by taking as input the software execution data. To show the effectiveness, the proposed framework is instantiated for the observer, state and strategy patterns. The developed pattern detection techniques are implemented in the open-source process mining toolkit ProM. The applicability of the proposed framework is evaluated using software execution data containing around 1.000.000 method calls that are generated by running both synthetic and real-life software systems.

Original languageEnglish
Title of host publicationEvaluation of Novel Approaches to Software Engineering - 13th International Conference, ENASE 2018, Revised Selected Papers
EditorsErnesto Damiani, George Spanoudakis, Leszek A. Maciaszek
Place of PublicationCham
PublisherSpringer
Pages137-164
Number of pages28
ISBN (Electronic) 978-3-030-22559-9
ISBN (Print)978-3-030-22558-2
DOIs
Publication statusPublished - 29 Jun 2019
Event13th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2018 - Funchal, Madeira, Portugal
Duration: 23 Mar 201824 Mar 2018

Publication series

NameCommunications in Computer and Information Science
Volume1023
ISSN (Print)1865-0929
ISSN (Electronic)1865-0937

Conference

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

Fingerprint

Design Patterns
Software System
Software
Process Mining
State Observer
Open Source
Framework

Keywords

  • Behavioral design pattern
  • General framework
  • Observer pattern
  • Pattern instance detection
  • Software execution data
  • State and strategy patterns

Cite this

Liu, C., van Dongen, B. F., Assy, N., & van der Aalst, W. M. P. (2019). Detecting behavioral design patterns from software execution data. In E. Damiani, G. Spanoudakis, & L. A. Maciaszek (Eds.), Evaluation of Novel Approaches to Software Engineering - 13th International Conference, ENASE 2018, Revised Selected Papers (pp. 137-164). (Communications in Computer and Information Science; Vol. 1023). Cham: Springer. https://doi.org/10.1007/978-3-030-22559-9_7
Liu, Cong ; van Dongen, Boudewijn F. ; Assy, Nour ; van der Aalst, Wil M.P. / Detecting behavioral design patterns from software execution data. Evaluation of Novel Approaches to Software Engineering - 13th International Conference, ENASE 2018, Revised Selected Papers. editor / Ernesto Damiani ; George Spanoudakis ; Leszek A. Maciaszek. Cham : Springer, 2019. pp. 137-164 (Communications in Computer and Information Science).
@inproceedings{a409b3b892c14a6fbe24e205e3f227f0,
title = "Detecting behavioral design patterns from software execution data",
abstract = "Design pattern detection techniques provide useful insights to help understand the design and architecture of software systems. Existing design pattern detection techniques require as input the source code of software systems. Hence, these techniques may become not applicable in case the source code is not available anymore. Large volumes of data are recorded and stored during software execution, which is very useful for design pattern detection of software systems. This chapter introduces a general framework to support the detection of behavioral design patterns by taking as input the software execution data. To show the effectiveness, the proposed framework is instantiated for the observer, state and strategy patterns. The developed pattern detection techniques are implemented in the open-source process mining toolkit ProM. The applicability of the proposed framework is evaluated using software execution data containing around 1.000.000 method calls that are generated by running both synthetic and real-life software systems.",
keywords = "Behavioral design pattern, General framework, Observer pattern, Pattern instance detection, Software execution data, State and strategy patterns",
author = "Cong Liu and {van Dongen}, {Boudewijn F.} and Nour Assy and {van der Aalst}, {Wil M.P.}",
year = "2019",
month = "6",
day = "29",
doi = "10.1007/978-3-030-22559-9_7",
language = "English",
isbn = "978-3-030-22558-2",
series = "Communications in Computer and Information Science",
publisher = "Springer",
pages = "137--164",
editor = "Ernesto Damiani and George Spanoudakis and Maciaszek, {Leszek A.}",
booktitle = "Evaluation of Novel Approaches to Software Engineering - 13th International Conference, ENASE 2018, Revised Selected Papers",
address = "Germany",

}

Liu, C, van Dongen, BF, Assy, N & van der Aalst, WMP 2019, Detecting behavioral design patterns from software execution data. in E Damiani, G Spanoudakis & LA Maciaszek (eds), Evaluation of Novel Approaches to Software Engineering - 13th International Conference, ENASE 2018, Revised Selected Papers. Communications in Computer and Information Science, vol. 1023, Springer, Cham, pp. 137-164, 13th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2018, Funchal, Madeira, Portugal, 23/03/18. https://doi.org/10.1007/978-3-030-22559-9_7

Detecting behavioral design patterns from software execution data. / Liu, Cong; van Dongen, Boudewijn F.; Assy, Nour; van der Aalst, Wil M.P.

Evaluation of Novel Approaches to Software Engineering - 13th International Conference, ENASE 2018, Revised Selected Papers. ed. / Ernesto Damiani; George Spanoudakis; Leszek A. Maciaszek. Cham : Springer, 2019. p. 137-164 (Communications in Computer and Information Science; Vol. 1023).

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

TY - GEN

T1 - Detecting behavioral design patterns from software execution data

AU - Liu, Cong

AU - van Dongen, Boudewijn F.

AU - Assy, Nour

AU - van der Aalst, Wil M.P.

PY - 2019/6/29

Y1 - 2019/6/29

N2 - Design pattern detection techniques provide useful insights to help understand the design and architecture of software systems. Existing design pattern detection techniques require as input the source code of software systems. Hence, these techniques may become not applicable in case the source code is not available anymore. Large volumes of data are recorded and stored during software execution, which is very useful for design pattern detection of software systems. This chapter introduces a general framework to support the detection of behavioral design patterns by taking as input the software execution data. To show the effectiveness, the proposed framework is instantiated for the observer, state and strategy patterns. The developed pattern detection techniques are implemented in the open-source process mining toolkit ProM. The applicability of the proposed framework is evaluated using software execution data containing around 1.000.000 method calls that are generated by running both synthetic and real-life software systems.

AB - Design pattern detection techniques provide useful insights to help understand the design and architecture of software systems. Existing design pattern detection techniques require as input the source code of software systems. Hence, these techniques may become not applicable in case the source code is not available anymore. Large volumes of data are recorded and stored during software execution, which is very useful for design pattern detection of software systems. This chapter introduces a general framework to support the detection of behavioral design patterns by taking as input the software execution data. To show the effectiveness, the proposed framework is instantiated for the observer, state and strategy patterns. The developed pattern detection techniques are implemented in the open-source process mining toolkit ProM. The applicability of the proposed framework is evaluated using software execution data containing around 1.000.000 method calls that are generated by running both synthetic and real-life software systems.

KW - Behavioral design pattern

KW - General framework

KW - Observer pattern

KW - Pattern instance detection

KW - Software execution data

KW - State and strategy patterns

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

U2 - 10.1007/978-3-030-22559-9_7

DO - 10.1007/978-3-030-22559-9_7

M3 - Conference contribution

AN - SCOPUS:85069214174

SN - 978-3-030-22558-2

T3 - Communications in Computer and Information Science

SP - 137

EP - 164

BT - Evaluation of Novel Approaches to Software Engineering - 13th International Conference, ENASE 2018, Revised Selected Papers

A2 - Damiani, Ernesto

A2 - Spanoudakis, George

A2 - Maciaszek, Leszek A.

PB - Springer

CY - Cham

ER -

Liu C, van Dongen BF, Assy N, van der Aalst WMP. Detecting behavioral design patterns from software execution data. In Damiani E, Spanoudakis G, Maciaszek LA, editors, Evaluation of Novel Approaches to Software Engineering - 13th International Conference, ENASE 2018, Revised Selected Papers. Cham: Springer. 2019. p. 137-164. (Communications in Computer and Information Science). https://doi.org/10.1007/978-3-030-22559-9_7