Determining the Cause of a Design Model Inconsistency.

by Alexander Reder, Alexander Egyed
Abstract:
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, re-factoring) 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% of the causes are computable in <100ms).
Reference:
Alexander Reder, Alexander Egyed, "Determining the Cause of a Design Model Inconsistency.", In IEEE Transactions on Software Engineering, vol. 39, no. 11, pp. 1531-1548, 2013.
Bibtex Entry:
@Article{dblp:journals/tse/RederE13,
  Title                    = {Determining the Cause of a Design Model Inconsistency.},
  Author                   = {Alexander Reder and Alexander Egyed},
  Journal                  = {IEEE Transactions on Software Engineering},
  Year                     = {2013},
  Number                   = {11},
  Pages                    = {1531-1548},
  Volume                   = {39},

  Abstract                 = {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, re-factoring) 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% of the causes are computable in <100ms).},
  File                     = {Determining the Cause of a Design Model Inconsistency:Journals\\TSE 2013 - Determining the Cause of a Design Model Inconsistency\\Determining the Cause of a Design Model Inconsistency.pdf:PDF},
  Keywords                 = {consistency, repair, FWF P25289-N15},
  Url                      = {http://doi.ieeecomputersociety.org/10.1109/TSE.2013.30}
}
Powered by bibtexbrowser