by Alexander Egyed
Abstract:
Software models typically contain many inconsistencies and consistency checkers help engineers find them. Even if engineers are willing to tolerate inconsistencies, they are better off knowing about their existence to avoid follow-on errors and unnecessary rework. However, current approaches do not detect or track inconsistencies fast enough. This paper presents an automated approach for detecting and tracking inconsistencies in real time (while the model changes). Engineers only need to define consistency rules in any language and our approach automatically identifies how model changes affect these consistency rules. It does this by observing the behavior of consistency rules to understand how they affect the model. The approach is quick, correct, scalable, fully automated, and easy to use as it does not require any special skills from the engineers using it. We evaluated the approach on 34 models with model sizes of up to 162,237 model elements and 24 types of consistency rules. Our empirical evaluation shows that our approach requires only 1.4 ms to reevaluate the consistency of the model after a change (on average); its performance is not noticeably affected by the model size and common consistency rules but only by the number of consistency rules, at the expense of a quite acceptable, linearly increasing memory consumption.
Reference:
Automatically Detecting and Tracking Inconsistencies in Software Design Models. (Alexander Egyed), In IEEE Transactions on Software Engineering, volume 37, 2011.
Bibtex Entry:
@Article{dblp:journals/tse/Egyed11,
author = {Alexander Egyed},
title = {Automatically Detecting and Tracking Inconsistencies in Software Design Models.},
journal = {IEEE Transactions on Software Engineering},
year = {2011},
volume = {37},
number = {2},
pages = {188-204},
abstract = {Software models typically contain many inconsistencies and consistency
checkers help engineers find them. Even if engineers are willing
to tolerate inconsistencies, they are better off knowing about their
existence to avoid follow-on errors and unnecessary rework. However,
current approaches do not detect or track inconsistencies fast enough.
This paper presents an automated approach for detecting and tracking
inconsistencies in real time (while the model changes). Engineers
only need to define consistency rules in any language and our
approach automatically identifies how model changes affect these
consistency rules. It does this by observing the behavior of consistency
rules to understand how they affect the model. The approach is quick,
correct, scalable, fully automated, and easy to use as it does not
require any special skills from the engineers using it. We evaluated
the approach on 34 models with model sizes of up to 162,237 model
elements and 24 types of consistency rules. Our empirical evaluation
shows that our approach requires only 1.4 ms to reevaluate the consistency
of the model after a change (on average); its performance is not
noticeably affected by the model size and common consistency rules
but only by the number of consistency rules, at the expense of a
quite acceptable, linearly increasing memory consumption.},
file = {:Journals\\TSE 2011 - Automatically Detecting and Tracking Inconsistencies in Software Design Models\\Automatically Detecting and Tracking Inconsistencies in Software Design Models-preprint.pdf:PDF},
keywords = {FWF P21321},
url = {http://doi.ieeecomputersociety.org/10.1109/TSE.2010.38},
}