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:
Determining the Cause of a Design Model Inconsistency. (Alexander Reder, Alexander Egyed), In IEEE Transactions on Software Engineering, volume 39, 2013.
Bibtex Entry:
@Article{dblp:journals/tse/RederE13,
author = {Alexander Reder and Alexander Egyed},
title = {Determining the Cause of a Design Model Inconsistency.},
journal = {IEEE Transactions on Software Engineering},
year = {2013},
volume = {39},
number = {11},
pages = {1531-1548},
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 = {:Journals\\TSE 2013 - Determining the Cause of a Design Model Inconsistency\\Determining the Cause of a Design Model Inconsistency-preprint.pdf:PDF},
keywords = {FWF P25289},
url = {http://doi.ieeecomputersociety.org/10.1109/TSE.2013.30},
}