• English
  • Deutsch
  • Log In
    Password Login
    Research Outputs
    Fundings & Projects
    Researchers
    Institutes
    Statistics
Repository logo
Fraunhofer-Gesellschaft
  1. Home
  2. Fraunhofer-Gesellschaft
  3. Konferenzschrift
  4. N-way Diff: Set-based Comparison of Software Variants
 
  • Details
  • Full
Options
2020
Conference Paper
Title

N-way Diff: Set-based Comparison of Software Variants

Abstract
Software is frequently developed in many similar copies, called forks or cloned software variants. During this development, pairwise comparison is routinely used for finding differences between the cloned copies, assessing their similarity, and merging the content. However, analyzing the similarity of a large group of variants using pairwise comparison is a relatively difficult task, as the number of compared pairs grows quadratically with the number of variants. Furthermore, the result of such group of pairwise comparisons is difficult to visualize. In this paper, we discuss the problem of N-way comparison of cloned software variants. We represent the N-way comparison result as a model of N intersecting sets. By aggregating the sets along the system decomposition hierarchy, we construct the sets at every level of the system structure (files, folders, and whole systems). We define a generalized approach for set model construction, and instantiate it for an N-way diff on the textual code representation. We propose set-based visualizations for the N-way comparison, which scale for more than ten component variants and MLOC-sized components. We evaluate the approach by applying it to several groups of industrial software system variants and by performing a controlled experiment with a comparison of 5 software forks. In the experiment, the group using set-based comparison solved the tasks in 58% less time and with 92% fewer incorrect answers than the group using pairwise comparison. Finally, we propose a generalization of the approach beyond software, to enable set-based comparison and similarity visualization for hierarchically structured models and data, for example genomes.
Author(s)
Duszynski, Slawomir
Fraunhofer-Institut für Experimentelles Software Engineering IESE  
Tenev, Vasil L.
Fraunhofer-Institut für Experimentelles Software Engineering IESE  
Becker, Martin  
Fraunhofer-Institut für Experimentelles Software Engineering IESE  
Mainwork
8th IEEE Working Conference on Software Visualization, VISSOFT 2020. Proceedings  
Conference
Working Conference on Software Visualization (VISSOFT) 2020  
DOI
10.1109/VISSOFT51673.2020.00012
Language
English
Fraunhofer-Institut für Experimentelles Software Engineering IESE  
Keyword(s)
  • software comparison

  • software reuse

  • similarity

  • set model

  • set visualization

  • software variability

  • product lines

  • Cookie settings
  • Imprint
  • Privacy policy
  • Api
  • Contact
© 2024