demonstrated by a set of software execution data con-
taining around 1 million method calls.
This work opens the door for several further rese-
arch directions. The detection of other typical crea-
tional and behavioral design patterns (e.g., singleton
pattern, factory method pattern, command pattern, vi-
sitor pattern) should be included in our framework.
In addition, we are working on analyzing large-scale
software projects and try to detect more design pattern
instances to evaluate the scability and empirically va-
lidate extensibility of the approach.
ACKNOWLEDGEMENTS
This work is supported by the NIRICT 3TU.BSR (Big
Software on the Run) research project
7
.
REFERENCES
Arcelli, F., Perin, F., Raibulet, C., and Ravani, S. (2009). Ja-
dept: Dynamic analysis for behavioral design pattern
detection. In 4th International Conference on Evalu-
ation of Novel Approaches to Software Engineering,
ENASE, pages 95–106.
Arcelli, F., Perin, F., Raibulet, C., and Ravani, S. (2010).
Design pattern detection in java systems: A dynamic
analysis based approach. Evaluation of Novel Appro-
aches to Software Engineering, pages 163–179.
Bernardi, M. L., Cimitile, M., De Ruvo, G., Di Lucca,
G. A., and Santone, A. (2015). Model checking to im-
prove precision of design pattern instances identifica-
tion in oo systems. In 10th International Joint Confe-
rence onSoftware Technologies (ICSOFT), volume 2,
pages 1–11. IEEE.
Bernardi, M. L., Cimitile, M., and Di Lucca, G. (2014).
Design pattern detection using a dsl-driven graph ma-
tching approach. Journal of Software: Evolution and
Process, 26(12):1233–1266.
Cong Liu, Boudewijn van Dongen, N. A. W. v. d. A. (2018).
A general framework to detect behavioral design pat-
terns. In International Conference on Software Engi-
neering (ICSE2018), pages 1–2. ACM.
Dabain, H., Manzer, A., and Tzerpos, V. (2015). Design
pattern detection using finder. In Proceedings of the
30th Annual ACM Symposium on Applied Computing,
pages 1586–1593. ACM.
De Lucia, A., Deufemia, V., Gravino, C., and Risi, M.
(2009a). Behavioral pattern identification through
visual language parsing and code instrumentation.
In Software Maintenance and Reengineering, 2009.
CSMR’09. 13th European Conference on, pages 99–
108. IEEE.
7
http://www.3tu-bsr.nl/doku.php?id=start
De Lucia, A., Deufemia, V., Gravino, C., and Risi, M.
(2009b). Design pattern recovery through visual lan-
guage parsing and source code analysis. Journal of
Systems and Software, 82(7):1177–1193.
Dong, J., Zhao, Y., and Sun, Y. (2009). A matrix-based
approach to recovering design patterns. IEEE Tran-
sactions on Systems, Man, and Cybernetics-Part A:
Systems and Humans, 39(6):1271–1282.
Fontana, F. A. and Zanoni, M. (2011). A tool for de-
sign pattern detection and software architecture recon-
struction. Information sciences, 181(7):1306–1324.
Gamma, E. (1995). Design patterns: elements of reusable
object-oriented software. Pearson Education India.
Heuzeroth, D., Holl, T., Hogstrom, G., and Lowe, W.
(2003). Automatic design pattern detection. In Pro-
gram Comprehension, 2003. 11th IEEE International
Workshop on, pages 94–103. IEEE.
Leemans, M. and Liu, C. (2017). Xes software event exten-
sion. XES Working Group, pages 1–11.
Liu, C., van Dongen, B., Assy, N., and van der Aalst, W.
(2016). Component behavior discovery from software
execution data. In International Conference on Com-
putational Intelligence and Data Mining, pages 1–8.
IEEE.
Ng, J. K.-Y., Gu
´
eh
´
eneuc, Y.-G., and Antoniol, G. (2010).
Identification of behavioural and creational design
motifs through dynamic analysis. Journal of Software
Maintenance and Evolution: Research and Practice,
22(8):597–627.
Niere, J., Sch
¨
afer, W., Wadsack, J. P., Wendehals, L., and
Welsh, J. (2002). Towards pattern-based design reco-
very. In Proceedings of the 24th international confe-
rence on Software engineering, pages 338–348. ACM.
Pettersson, N., Lowe, W., and Nivre, J. (2010). Evalu-
ation of accuracy in design pattern occurrence de-
tection. IEEE Transactions on Software Engineering,
36(4):575–590.
Shi, N. and Olsson, R. A. (2006). Reverse engineering
of design patterns from java source code. In 21st
IEEE/ACM International Conference on Automated
Software Engineering, 2006., pages 123–134. IEEE.
Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., and Hal-
kidis, S. T. (2006). Design pattern detection using si-
milarity scoring. IEEE transactions on software engi-
neering, 32(11).
Von Detten, M., Meyer, M., and Travkin, D. (2010). Re-
verse engineering with the reclipse tool suite. In 2010
ACM/IEEE 32nd International Conference on Soft-
ware Engineering, volume 2, pages 299–300. IEEE.
Wendehals, L. and Orso, A. (2006). Recognizing behavioral
patterns atruntime using finite automata. In Procee-
dings of the 2006 international workshop on Dynamic
systems analysis, pages 33–40. ACM.
ENASE 2018 - 13th International Conference on Evaluation of Novel Approaches to Software Engineering
76