Performance comparison of query-based techniques for anti-pattern detection

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

Research output: Contribution to journalArticle

11 Citations (Scopus)

Abstract

Context 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 Abstract Semantic Graph, ASG), which is traditionally post-processed by dedicated, hand-coded queries. Objective Our paper investigates the costs and benefits of using the popular industrial Eclipse Modeling Framework (EMF) as an underlying representation of program models processed by four different general-purpose model query techniques based on native Java code, OCL evaluation and (incremental) graph pattern matching. Method We provide in-depth comparison of these techniques on the source code of 28 Java projects using anti-pattern queries taken from refactoring operations in different usage profiles. Results Our results show that general purpose model queries can outperform hand-coded queries by 2-3 orders of magnitude, with the trade-off of an increased in memory consumption and model load time of up to an order of magnitude. Conclusion The measurement results of usage profiles can be used as guidelines for selecting the appropriate query technologies in concrete scenarios.

Original languageEnglish
Pages (from-to)147-165
Number of pages19
JournalInformation and Software Technology
Volume65
DOIs
Publication statusPublished - Sep 1 2015

Fingerprint

Pattern matching
Semantics
Concretes
Data storage equipment
Costs

Keywords

  • Anti-patterns
  • Columbus
  • EMF-IncQuery
  • OCL
  • Performance measurements
  • Refactoring

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Computer Science Applications

Cite this

Performance comparison of query-based techniques for anti-pattern detection. / Ujhelyi, Zoltán; Szoke, Gábor; Horváth, Ákos; Csiszár, Norbert István; Vidács, László; Varró, D.; Ferenc, R.

In: Information and Software Technology, Vol. 65, 01.09.2015, p. 147-165.

Research output: Contribution to journalArticle

Ujhelyi, Zoltán ; Szoke, Gábor ; Horváth, Ákos ; Csiszár, Norbert István ; Vidács, László ; Varró, D. ; Ferenc, R. / Performance comparison of query-based techniques for anti-pattern detection. In: Information and Software Technology. 2015 ; Vol. 65. pp. 147-165.
@article{2e1c469152b548ad8341a4bd07303d91,
title = "Performance comparison of query-based techniques for anti-pattern detection",
abstract = "Context 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 Abstract Semantic Graph, ASG), which is traditionally post-processed by dedicated, hand-coded queries. Objective Our paper investigates the costs and benefits of using the popular industrial Eclipse Modeling Framework (EMF) as an underlying representation of program models processed by four different general-purpose model query techniques based on native Java code, OCL evaluation and (incremental) graph pattern matching. Method We provide in-depth comparison of these techniques on the source code of 28 Java projects using anti-pattern queries taken from refactoring operations in different usage profiles. Results Our results show that general purpose model queries can outperform hand-coded queries by 2-3 orders of magnitude, with the trade-off of an increased in memory consumption and model load time of up to an order of magnitude. Conclusion The measurement results of usage profiles can be used as guidelines for selecting the appropriate query technologies in concrete scenarios.",
keywords = "Anti-patterns, Columbus, EMF-IncQuery, OCL, Performance measurements, Refactoring",
author = "Zolt{\'a}n Ujhelyi and G{\'a}bor Szoke and {\'A}kos Horv{\'a}th and Csisz{\'a}r, {Norbert Istv{\'a}n} and L{\'a}szl{\'o} Vid{\'a}cs and D. Varr{\'o} and R. Ferenc",
year = "2015",
month = "9",
day = "1",
doi = "10.1016/j.infsof.2015.01.003",
language = "English",
volume = "65",
pages = "147--165",
journal = "Information and Software Technology",
issn = "0950-5849",
publisher = "Elsevier",

}

TY - JOUR

T1 - Performance comparison of query-based techniques for anti-pattern detection

AU - Ujhelyi, Zoltán

AU - Szoke, Gábor

AU - Horváth, Ákos

AU - Csiszár, Norbert István

AU - Vidács, László

AU - Varró, D.

AU - Ferenc, R.

PY - 2015/9/1

Y1 - 2015/9/1

N2 - Context 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 Abstract Semantic Graph, ASG), which is traditionally post-processed by dedicated, hand-coded queries. Objective Our paper investigates the costs and benefits of using the popular industrial Eclipse Modeling Framework (EMF) as an underlying representation of program models processed by four different general-purpose model query techniques based on native Java code, OCL evaluation and (incremental) graph pattern matching. Method We provide in-depth comparison of these techniques on the source code of 28 Java projects using anti-pattern queries taken from refactoring operations in different usage profiles. Results Our results show that general purpose model queries can outperform hand-coded queries by 2-3 orders of magnitude, with the trade-off of an increased in memory consumption and model load time of up to an order of magnitude. Conclusion The measurement results of usage profiles can be used as guidelines for selecting the appropriate query technologies in concrete scenarios.

AB - Context 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 Abstract Semantic Graph, ASG), which is traditionally post-processed by dedicated, hand-coded queries. Objective Our paper investigates the costs and benefits of using the popular industrial Eclipse Modeling Framework (EMF) as an underlying representation of program models processed by four different general-purpose model query techniques based on native Java code, OCL evaluation and (incremental) graph pattern matching. Method We provide in-depth comparison of these techniques on the source code of 28 Java projects using anti-pattern queries taken from refactoring operations in different usage profiles. Results Our results show that general purpose model queries can outperform hand-coded queries by 2-3 orders of magnitude, with the trade-off of an increased in memory consumption and model load time of up to an order of magnitude. Conclusion The measurement results of usage profiles can be used as guidelines for selecting the appropriate query technologies in concrete scenarios.

KW - Anti-patterns

KW - Columbus

KW - EMF-IncQuery

KW - OCL

KW - Performance measurements

KW - Refactoring

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

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

U2 - 10.1016/j.infsof.2015.01.003

DO - 10.1016/j.infsof.2015.01.003

M3 - Article

VL - 65

SP - 147

EP - 165

JO - Information and Software Technology

JF - Information and Software Technology

SN - 0950-5849

ER -