Cargando…

Generating repairs for inconsistent models

There are many repair alternatives for resolving model inconsistencies, each involving one or more model changes. Enumerating them all could overwhelm the developer because the number of possible repairs can grow exponentially. To address this problem, this paper focuses on the immediate cause of an...

Descripción completa

Detalles Bibliográficos
Autores principales: Marchezan, Luciano, Kretschmer, Roland, Assunção, Wesley K. G., Reder, Alexander, Egyed, Alexander
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Springer Berlin Heidelberg 2022
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9947061/
https://www.ncbi.nlm.nih.gov/pubmed/36844942
http://dx.doi.org/10.1007/s10270-022-00996-0
_version_ 1784892471743873024
author Marchezan, Luciano
Kretschmer, Roland
Assunção, Wesley K. G.
Reder, Alexander
Egyed, Alexander
author_facet Marchezan, Luciano
Kretschmer, Roland
Assunção, Wesley K. G.
Reder, Alexander
Egyed, Alexander
author_sort Marchezan, Luciano
collection PubMed
description There are many repair alternatives for resolving model inconsistencies, each involving one or more model changes. Enumerating them all could overwhelm the developer because the number of possible repairs can grow exponentially. To address this problem, this paper focuses on the immediate cause of an inconsistency. By focusing on the cause, we can generate a repair tree with a subset of repair actions focusing on fixing this cause. This strategy identifies model elements that must be repaired, as opposed to additional model elements that may or may not have to be repaired later. Furthermore, our approach can provide an ownership-based filter for filtering repairs that modify model elements not owned by a developer. This filtering can further reduce the repair possibilities, aiding the developer when choosing repairs to be performed. We evaluated our approach on 24 UML models and four Java systems, using 17 UML consistency rules and 14 Java consistency rules. The evaluation data contained 39,683 inconsistencies, showing our approach’s usability as the repair trees sizes ranged from five to nine on average per model. Also, these repair trees were generated in 0.3 seconds on average, showing our approach’s scalability. Based on the results, we discuss the correctness and minimalism with regard to the cause of the inconsistency. Lastly, we evaluated the filtering mechanism, showing that it is possible to further reduce the number of repairs generated by focusing on ownership.
format Online
Article
Text
id pubmed-9947061
institution National Center for Biotechnology Information
language English
publishDate 2022
publisher Springer Berlin Heidelberg
record_format MEDLINE/PubMed
spelling pubmed-99470612023-02-24 Generating repairs for inconsistent models Marchezan, Luciano Kretschmer, Roland Assunção, Wesley K. G. Reder, Alexander Egyed, Alexander Softw Syst Model Regular Paper There are many repair alternatives for resolving model inconsistencies, each involving one or more model changes. Enumerating them all could overwhelm the developer because the number of possible repairs can grow exponentially. To address this problem, this paper focuses on the immediate cause of an inconsistency. By focusing on the cause, we can generate a repair tree with a subset of repair actions focusing on fixing this cause. This strategy identifies model elements that must be repaired, as opposed to additional model elements that may or may not have to be repaired later. Furthermore, our approach can provide an ownership-based filter for filtering repairs that modify model elements not owned by a developer. This filtering can further reduce the repair possibilities, aiding the developer when choosing repairs to be performed. We evaluated our approach on 24 UML models and four Java systems, using 17 UML consistency rules and 14 Java consistency rules. The evaluation data contained 39,683 inconsistencies, showing our approach’s usability as the repair trees sizes ranged from five to nine on average per model. Also, these repair trees were generated in 0.3 seconds on average, showing our approach’s scalability. Based on the results, we discuss the correctness and minimalism with regard to the cause of the inconsistency. Lastly, we evaluated the filtering mechanism, showing that it is possible to further reduce the number of repairs generated by focusing on ownership. Springer Berlin Heidelberg 2022-04-04 2023 /pmc/articles/PMC9947061/ /pubmed/36844942 http://dx.doi.org/10.1007/s10270-022-00996-0 Text en © The Author(s) 2022 https://creativecommons.org/licenses/by/4.0/Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/ (https://creativecommons.org/licenses/by/4.0/) .
spellingShingle Regular Paper
Marchezan, Luciano
Kretschmer, Roland
Assunção, Wesley K. G.
Reder, Alexander
Egyed, Alexander
Generating repairs for inconsistent models
title Generating repairs for inconsistent models
title_full Generating repairs for inconsistent models
title_fullStr Generating repairs for inconsistent models
title_full_unstemmed Generating repairs for inconsistent models
title_short Generating repairs for inconsistent models
title_sort generating repairs for inconsistent models
topic Regular Paper
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9947061/
https://www.ncbi.nlm.nih.gov/pubmed/36844942
http://dx.doi.org/10.1007/s10270-022-00996-0
work_keys_str_mv AT marchezanluciano generatingrepairsforinconsistentmodels
AT kretschmerroland generatingrepairsforinconsistentmodels
AT assuncaowesleykg generatingrepairsforinconsistentmodels
AT rederalexander generatingrepairsforinconsistentmodels
AT egyedalexander generatingrepairsforinconsistentmodels