Skip to search boxSkip to navigationSkip to main content

Continuous detection of design flaws in evolving object-oriented programs using incremental multi-pattern matching

  • University of Koblenz
    ,
  • Darmstadt University of Technology
    ,
  • TU Hamburg-Harburg
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Open access

Publication Information

Output type

Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Original language

English

Pages from-to (Number of pages)

Pages 578-589

Publication milestones

  • Published - 2016

Publication status

Published - 2016

Publisher

Association for Computing Machinery, United States
9781450338455

Publication IDs

  • ORCID: /0000-0002-2604-0487/work/58403057
  • Scopus: 84989186743

Host publication title

Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering - ASE 2016

Abstract

Design flaws in object-oriented programs may seriously corrupt code quality thus increasing the risk for introducing subtle errors during software maintenance and evolution. Most recent approaches identify design flaws in an ad-hoc manner, either focusing on software metrics, locally restricted code smells, or on coarse-grained architectural anti-patterns. In this paper, we utilize an abstract program model capturing high-level object-oriented code entities, further augmented with qualitative and quantitative design-related information such as coupling/cohesion. Based on this model, we propose a comprehensive methodology for specifying object-oriented design flaws by means of compound rules integrating code metrics, code smells and anti-patterns in a modular way. This approach allows for efficient, automated design-flaw detection through incremental multi-pattern matching, by facilitating systematic information reuse among multiple detection rules as well as between subsequent detection runs on continuously evolving programs. Our tool implementation comprises well-known anti-patterns for Java programs. The results of our experimental evaluation show high detection precision, scalability to real-size programs, as well as a remarkable gain in efficiency due to information reuse.

Publication metrics

PlumX, opens in new tab

Citations
22
Captures
52

Related Event

Title

International Conference on Automated Software Engineering

Event type

Conference

Degree of recognition

International event

Date

03/09/2016 - 07/09/2016

Location

Singapore