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
T2 - 13th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2018
Y2 - 23 March 2018 through 24 March 2018
ER -