• DocumentCode
    60171
  • Title

    MADMatch: Many-to-Many Approximate Diagram Matching for Design Comparison

  • Author

    Kpodjedo, S. ; Ricca, Filippo ; Galinier, Philippe ; Antoniol, Giuliano ; Gueheneuc, Yann-Gael

  • Author_Institution
    DGIGL, Ecole Polytech. of Montreal, Montreal, QC, Canada
  • Volume
    39
  • Issue
    8
  • fYear
    2013
  • fDate
    Aug. 2013
  • Firstpage
    1090
  • Lastpage
    1111
  • Abstract
    Matching algorithms play a fundamental role in many important but difficult software engineering activities, especially design evolution analysis and model comparison. We present MADMatch, a fast and scalable many-to-many approximate diagram matching approach based on an error-tolerant graph matching (ETGM) formulation. Diagrams are represented as graphs, costs are assigned to possible differences between two given graphs, and the goal is to retrieve the cheapest matching. We address the resulting optimization problem with a tabu search enhanced by the novel use of lexical and structural information. Through several case studies with different types of diagrams and tasks, we show that our generic approach obtains better results than dedicated state-of-the-art algorithms, such as AURA, PLTSDiff, or UMLDiff, on the exact same datasets used to introduce (and evaluate) these algorithms.
  • Keywords
    graph theory; optimisation; search problems; software engineering; AURA algorithm; ETGM; MADMatch approach; PLTSDiff algorithm; UMLDiff algorithm; design comparison; design evolution analysis; error-tolerant graph matching; lexical information; many-to-many approximate diagram matching approach; model comparison; optimization problem; software engineering; structural information; tabu search; Algorithm design and analysis; Optimization; Scalability; Software; Software algorithms; Software engineering; Unified modeling language; Diagram differencing; approximate graph matching; identifier splitting; search-based software engineering;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2013.9
  • Filename
    6464271