Issue No. 11 - Nov. (2013 vol. 39)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2013.30
Alexander Reder , Johannes Kepler University Linz, Linz
Alexander Egyed , Johannes Kepler University Linz, Linz
When a software engineer finds an inconsistency in a model, then the first question is why? What caused it? Obviously, there must be an error. But where could it be? Or is the design rule erroneous and if yes then which part? The cause of an inconsistency identifies the part of the model or design rule where the error must be. We believe that the visualization of an inconsistency ought to visualize the cause. Understanding the cause is of vital importance before a repair can even be formulated. Indeed, any automation (e.g., code generation, refactoring) has to be considered with caution if it involves model elements that cause inconsistencies. This paper analyzes the basic structure of inconsistent design rules as well as their behavior during validation and presents an algorithm for computing its cause. The approach is fully automated, tool supported, and was evaluated on 14,111 inconsistencies across 29 design models. We found that our approach computes correct causes for inconsistencies, these causes are nearly always a subset of the model elements investigated by the design rules' validation (a naive cause computation approximation), and the computation is very fast (99.8 percent of the causes are computable in < 100 ms).
Unified modeling language, Computational modeling, Context, Maintenance engineering, Visualization, Context modeling, Light emitting diodes
A. Reder and A. Egyed, "Determining the Cause of a Design Model Inconsistency," in IEEE Transactions on Software Engineering, vol. 39, no. 11, pp. 1531-1548, 2013.