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...
Autores principales: | , , , , |
---|---|
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 |