Reuse of Similarly Behaving Software Through Polymorphism-Inspired Variability Mechanisms

Research output: Contribution to journalArticlepeer-review

Abstract

In many cases, software artifacts share similarity across projects and development teams. However, often this similarity is only partially reflected on the level of design and implementation, and therefore the possibilities for its detection are limited in current variability analysis, clone detection, and application search approaches. In this paper, we propose a method for identification and comparison of similarly behaving software. The method, supported by a prototype tool, analyzes the behavioral similarity of object-oriented code artifacts based on shallow (behavior interface) and deep (behavior transformation) descriptions of the exhibited operations. It further recommends on suitable mechanisms inspired by the notion of polymorphism in order to guide and support current and future reuse. The approach was evaluated on two data-sets, obtained following two different scenarios: clone-and-own and independent development by different teams.

Original languageEnglish
Pages (from-to)773-785
Number of pages13
JournalIEEE Transactions on Software Engineering
Volume48
Issue number3
DOIs
StatePublished - 2020

Bibliographical note

Publisher Copyright:
IEEE

Keywords

  • Variability
  • code clones
  • polymorphism
  • reuse
  • software product line engineering

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Reuse of Similarly Behaving Software Through Polymorphism-Inspired Variability Mechanisms'. Together they form a unique fingerprint.

Cite this