Exploring Dependencies Among Inconsistencies to Enhance the Consistency Maintenance of Models
Sprache des Titels:
Englisch
Original Buchtitel:
International Conference on Software Analysis, Evolution and Reengineering (SANER)
Original Kurzfassung:
Consistency maintenance is paramount for software engineering, as it improves/guarantees the quality of artifacts (e.g., models) during maintenance and evolution. To perform this maintenance, consistency rules (CR) are commonly de?ned and applied to evaluate model elements according to desired properties. By empirical studies, it is known that CRs commonly evaluate similar model elements (e.g., multiple CRs checking the consistency of a UML class). Thus, we hypothesize that CRs can be used as a means to identify dependencies among inconsistencies and support consistency maintenance tasks. Currently, however, no study investigates to what extent dependencies can be identi?ed and how they can be used to repair inconsistencies. In this paper, we explore dependencies between CRs to identify and group dependent inconsistencies. For that, we de?ne a metamodel that allows dependencies to be expressed. Furthermore, we propose a consistency maintenance and dependency analysis mechanism that uses such a metamodel. Additionally, the approach generates repairs for the inconsistencies, considering the groups of dependencies to identify overlapping and con?icting repairs. To evaluate the approach, we conducted an empirical study with 48 UML models and 27 CRs. The results show that our approach identi?es dependencies between inconsistencies (46% of the inconsistencies have dependencies), within a reasonable time, 10ms on average in the worst case. Results also show that dependent inconsistencies can be grouped and used together to identify repairs that are either overlapping (26% on average) or con?icting (58% on average).