by Roland Kretschmer, Djamel Eddine Khelladi, Alexander Egyed
Abstract:
Software models, often comprise of interconnected diagrams, change continuously, and developers often fail in keeping these diagrams consistent. Detecting inconsistencies quickly and efficiently is state of the art. However, repairing them is not trivial, because there are typically multiple model elements that need to be repaired, leading to an exponentially growing space of combinations of repair choices. Despite extensive research on consistency checking, existing approaches either provide abstract repairs only (i.e., identifying the model element but failing to describe the change), which is not satisfactory. This paper presents a novel approach that provides concrete repair choices based on values from the inconsistent models. Thus, our approach first retrieves repair values from the model, turn them to repair choices, and groups them based on their effects. This grouping lets our approach explore the repair space in its entirety, providing quick example-like feedback for all possible repairs. Our approach and its tool implementation have been empirically assessed on 10 case studies from industry, academia, and GitHub to demonstrate its feasibility and scalability. A comparison with three versioned models shows that our approach identifies useful repair values that developers have chosen.
Reference:
Transforming abstract to concrete repairs with a generative approach of repair values (Roland Kretschmer, Djamel Eddine Khelladi, Alexander Egyed), In J. Syst. Softw., volume 175, 2021.
Bibtex Entry:
@Article{DBLP:journals/jss/KretschmerKE21,
author = {Roland Kretschmer and Djamel Eddine Khelladi and Alexander Egyed},
journal = {J. Syst. Softw.},
title = {Transforming abstract to concrete repairs with a generative approach of repair values},
year = {2021},
pages = {110889},
volume = {175},
abstract = {Software models, often comprise of interconnected diagrams, change continuously, and developers often fail in keeping these diagrams consistent. Detecting inconsistencies quickly and efficiently is state of the art. However, repairing them is not trivial, because there are typically multiple model elements that need to be repaired, leading to an exponentially growing space of combinations of repair choices. Despite extensive research on consistency checking, existing approaches either provide abstract repairs only (i.e., identifying the model element but failing to describe the change), which is not satisfactory. This paper presents a novel approach that provides concrete repair choices based on values from the inconsistent models. Thus, our approach first retrieves repair values from the model, turn them to repair choices, and groups them based on their effects. This grouping lets our approach explore the repair space in its entirety, providing quick example-like feedback for all possible repairs. Our approach and its tool implementation have been empirically assessed on 10 case studies from industry, academia, and GitHub to demonstrate its feasibility and scalability. A comparison with three versioned models shows that our approach identifies useful repair values that developers have chosen.},
bibsource = {dblp computer science bibliography, https://dblp.org},
biburl = {https://dblp.org/rec/journals/jss/KretschmerKE21.bib},
doi = {10.1016/j.jss.2020.110889},
file = {:Journals/JSS 2021 - Transforming abstract to concrete repairs with a generative approach of repair values/Transforming abstract to concrete repairs with a generative approach of repair values-preprint.pdf:PDF},
keywords = {FWF P31989, Pro2Future, LIT Secure and Correct Systems Lab},
timestamp = {Mon, 22 Mar 2021 16:47:50 +0100},
url = {https://doi.org/10.1016/j.jss.2020.110889},
}