Anti-pattern detection with model queries: A comparison of approaches

Zoltán Ujhelyi, Ákos Horváth, D. Varró, Norbert István Csiszár, Gábor Szóke, László Vidács, R. Ferenc

Research output: Chapter in Book/Report/Conference proceedingConference contribution

6 Citations (Scopus)

Abstract

Program queries play an important role in several software evolution tasks like program comprehension, impact analysis, or the automated identification of anti-patterns for complex refactoring operations. A central artifact of these tasks is the reverse engineered program model built up from the source code (usually an Semantic Graph, ASG), which is traditionally post-processed by dedicated, hand-coded queries. Our paper investigates the use of the popular industrial Eclipse Modeling Framework (EMF) as an underlying representation of program models processed by three general-purpose model query techniques based on native Java code, local-search and incremental evaluation. We provide in-depth comparison of these techniques on the source code of 17 Java projects using queries taken from refactoring operations in different usage profiles. Our results show that general purpose model queries outperform hand-coded queries by 2-3 orders of magnitude, while there is a 5-10 times increase in memory consumption and model load time. In addition, measurement results of usage profiles can be used as guidelines for selecting the appropriate query technologies in concrete scenarios.

Original languageEnglish
Title of host publication2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014 - Proceedings
PublisherIEEE Computer Society
Pages293-302
Number of pages10
DOIs
Publication statusPublished - 2014
Event2014 1st Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014 - Antwerp, Belgium
Duration: Feb 3 2014Feb 6 2014

Other

Other2014 1st Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014
CountryBelgium
CityAntwerp
Period2/3/142/6/14

Fingerprint

Semantics
Concretes
Data storage equipment

ASJC Scopus subject areas

  • Software

Cite this

Ujhelyi, Z., Horváth, Á., Varró, D., Csiszár, N. I., Szóke, G., Vidács, L., & Ferenc, R. (2014). Anti-pattern detection with model queries: A comparison of approaches. In 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014 - Proceedings (pp. 293-302). [6747181] IEEE Computer Society. https://doi.org/10.1109/CSMR-WCRE.2014.6747181

Anti-pattern detection with model queries : A comparison of approaches. / Ujhelyi, Zoltán; Horváth, Ákos; Varró, D.; Csiszár, Norbert István; Szóke, Gábor; Vidács, László; Ferenc, R.

2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014 - Proceedings. IEEE Computer Society, 2014. p. 293-302 6747181.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Ujhelyi, Z, Horváth, Á, Varró, D, Csiszár, NI, Szóke, G, Vidács, L & Ferenc, R 2014, Anti-pattern detection with model queries: A comparison of approaches. in 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014 - Proceedings., 6747181, IEEE Computer Society, pp. 293-302, 2014 1st Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014, Antwerp, Belgium, 2/3/14. https://doi.org/10.1109/CSMR-WCRE.2014.6747181
Ujhelyi Z, Horváth Á, Varró D, Csiszár NI, Szóke G, Vidács L et al. Anti-pattern detection with model queries: A comparison of approaches. In 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014 - Proceedings. IEEE Computer Society. 2014. p. 293-302. 6747181 https://doi.org/10.1109/CSMR-WCRE.2014.6747181
Ujhelyi, Zoltán ; Horváth, Ákos ; Varró, D. ; Csiszár, Norbert István ; Szóke, Gábor ; Vidács, László ; Ferenc, R. / Anti-pattern detection with model queries : A comparison of approaches. 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014 - Proceedings. IEEE Computer Society, 2014. pp. 293-302
@inproceedings{ad0e52bd716640d28ac03a1ffa234530,
title = "Anti-pattern detection with model queries: A comparison of approaches",
abstract = "Program queries play an important role in several software evolution tasks like program comprehension, impact analysis, or the automated identification of anti-patterns for complex refactoring operations. A central artifact of these tasks is the reverse engineered program model built up from the source code (usually an Semantic Graph, ASG), which is traditionally post-processed by dedicated, hand-coded queries. Our paper investigates the use of the popular industrial Eclipse Modeling Framework (EMF) as an underlying representation of program models processed by three general-purpose model query techniques based on native Java code, local-search and incremental evaluation. We provide in-depth comparison of these techniques on the source code of 17 Java projects using queries taken from refactoring operations in different usage profiles. Our results show that general purpose model queries outperform hand-coded queries by 2-3 orders of magnitude, while there is a 5-10 times increase in memory consumption and model load time. In addition, measurement results of usage profiles can be used as guidelines for selecting the appropriate query technologies in concrete scenarios.",
author = "Zolt{\'a}n Ujhelyi and {\'A}kos Horv{\'a}th and D. Varr{\'o} and Csisz{\'a}r, {Norbert Istv{\'a}n} and G{\'a}bor Sz{\'o}ke and L{\'a}szl{\'o} Vid{\'a}cs and R. Ferenc",
year = "2014",
doi = "10.1109/CSMR-WCRE.2014.6747181",
language = "English",
pages = "293--302",
booktitle = "2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014 - Proceedings",
publisher = "IEEE Computer Society",

}

TY - GEN

T1 - Anti-pattern detection with model queries

T2 - A comparison of approaches

AU - Ujhelyi, Zoltán

AU - Horváth, Ákos

AU - Varró, D.

AU - Csiszár, Norbert István

AU - Szóke, Gábor

AU - Vidács, László

AU - Ferenc, R.

PY - 2014

Y1 - 2014

N2 - Program queries play an important role in several software evolution tasks like program comprehension, impact analysis, or the automated identification of anti-patterns for complex refactoring operations. A central artifact of these tasks is the reverse engineered program model built up from the source code (usually an Semantic Graph, ASG), which is traditionally post-processed by dedicated, hand-coded queries. Our paper investigates the use of the popular industrial Eclipse Modeling Framework (EMF) as an underlying representation of program models processed by three general-purpose model query techniques based on native Java code, local-search and incremental evaluation. We provide in-depth comparison of these techniques on the source code of 17 Java projects using queries taken from refactoring operations in different usage profiles. Our results show that general purpose model queries outperform hand-coded queries by 2-3 orders of magnitude, while there is a 5-10 times increase in memory consumption and model load time. In addition, measurement results of usage profiles can be used as guidelines for selecting the appropriate query technologies in concrete scenarios.

AB - Program queries play an important role in several software evolution tasks like program comprehension, impact analysis, or the automated identification of anti-patterns for complex refactoring operations. A central artifact of these tasks is the reverse engineered program model built up from the source code (usually an Semantic Graph, ASG), which is traditionally post-processed by dedicated, hand-coded queries. Our paper investigates the use of the popular industrial Eclipse Modeling Framework (EMF) as an underlying representation of program models processed by three general-purpose model query techniques based on native Java code, local-search and incremental evaluation. We provide in-depth comparison of these techniques on the source code of 17 Java projects using queries taken from refactoring operations in different usage profiles. Our results show that general purpose model queries outperform hand-coded queries by 2-3 orders of magnitude, while there is a 5-10 times increase in memory consumption and model load time. In addition, measurement results of usage profiles can be used as guidelines for selecting the appropriate query technologies in concrete scenarios.

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

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

U2 - 10.1109/CSMR-WCRE.2014.6747181

DO - 10.1109/CSMR-WCRE.2014.6747181

M3 - Conference contribution

AN - SCOPUS:84898475693

SP - 293

EP - 302

BT - 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014 - Proceedings

PB - IEEE Computer Society

ER -