Visualizing code variabilities for supporting reuse decisions

Research output: Contribution to journalConference articlepeer-review

Abstract

Software reuse is the practice of using artifacts from existing systems to build new ones. It has been shown effective for improving quality and maintainability and for reducing cost and development time. Human factors have been identified as significant barriers to a wider adoption of reuse practices in industry. In this paper we consider a tool-supported approach for systematic reuse of object-oriented programs (written in Java) based on polymorphism-inspired mechanisms. The suggested tool gets as input implementations of multiple products, and produces a visual representation of the similarities and variabilities between their classes in terms of exhibits behaviors, as well as presents possible reuse options. We discuss the suitability of this approach for educational and training settings, and specifically for supporting reuse decisions of novice developers.

Original languageAmerican English
Pages (from-to)25-34
Number of pages10
JournalCEUR Workshop Proceedings
Volume1954
StatePublished - 2017
Event5th Symposium on Conceptual Modeling Education and the 2nd International iStar Teaching Workshop, SCME-iStarT 2017 - Valencia, Spain
Duration: 6 Nov 20179 Nov 2017

Keywords

  • Decision Support
  • Education
  • Polymorphism
  • Software Product Line Engineering
  • Software reuse
  • Variability Analysis
  • Variability Mechanisms

All Science Journal Classification (ASJC) codes

  • General Computer Science

Fingerprint

Dive into the research topics of 'Visualizing code variabilities for supporting reuse decisions'. Together they form a unique fingerprint.

Cite this