Identifying Feature Clones: An Industrial Case Study

Muslim Chochlov, Michael English, Jim Buckley, Daniel Ilie, Maria Scanlon

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

During its software evolution, the original software system of our industrial partner was split into three variants. These have evolved over time, but retained a lot of common functionality. During strategical planning our industrial partner realized the need for consolidation of common code in a shared code base towards more efficient code maintenance and re-use. To support this agenda, a feature-clone identification approach was proposed, combining elements of feature location (to identify the relevant code in one system) and clone detection (to identify that common feature's code across systems) techniques. In this work, this approach is used (via our prototype tool CoRA) to locate three features that were identified by the industrial partner for re-factoring, and is evaluated. The methodology, involving a system expert, was designed to evaluate the discrete parts of the approach in isolation: Textual and static analyses of feature location, and clone detection. It was found that the approach can effectively identify features and their clones. The hybrid textual/static feature location part is effective even for a relative system novice, showing results comparable to more optimal system expert's suggestions. Finally, more effective feature location increases the effectiveness of the clone detection part of the approach.11A preliminary version of this paper, explaining the motivation, approach and resultant tool was published in [1]. This paper extends that work with a discussion of the approach's in-vivo empirical evaluation.

Original languageEnglish
Title of host publicationSANER 2019 - Proceedings of the 2019 IEEE 26th International Conference on Software Analysis, Evolution, and Reengineering
EditorsEmad Shihab, David Lo, Xinyu Wang
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages544-548
Number of pages5
ISBN (Electronic)9781728105918
DOIs
Publication statusPublished - 15 Mar 2019
Event26th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2019 - Hangzhou, China
Duration: 24 Feb 201927 Feb 2019

Publication series

NameSANER 2019 - Proceedings of the 2019 IEEE 26th International Conference on Software Analysis, Evolution, and Reengineering

Conference

Conference26th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2019
Country/TerritoryChina
CityHangzhou
Period24/02/1927/02/19

Keywords

  • clone detection
  • feature location
  • industrial case study
  • re-factoring
  • software maintenance
  • software variants

Fingerprint

Dive into the research topics of 'Identifying Feature Clones: An Industrial Case Study'. Together they form a unique fingerprint.

Cite this