by Alexander Reder, Alexander Egyed
Abstract:
Resolving inconsistencies in software models is a complex task because the number of repairs grows exponentially. Existing approaches thus emphasize on selected repairs only but doing so diminishes their usefulness. This paper copes with the large number of repairs by focusing on what caused an inconsistency and presenting repairs as a linearly growing repair tree. The cause is computed by examining the runtime evaluation of the inconsistency to understand where and why it failed. The individual changes that make up repairs are then modeled in a repair tree as alternatives and sequences reflecting the syntactic structure of the inconsistent design rule. The approach is automated and tool supported. Its scalability was empirically evaluated on 29 UML models and 18 OCL design rules where we show that the approach computes repair trees in milliseconds on average. We believe that the approach is applicable to arbitrary modeling and constraint languages.
Reference:
Computing repair trees for resolving inconsistencies in design models. (Alexander Reder, Alexander Egyed), In Proceedings of the 27th International Conference on Automated Software Engineering (ASE 2012), Essen, Germany (Michael Goedicke, Tim Menzies, Motoshi Saeki, eds.), ACM, 2012.
Bibtex Entry:
@Conference{DBLP:conf/kbse/RederE12,
author = {Alexander Reder and Alexander Egyed},
title = {Computing repair trees for resolving inconsistencies in design models.},
booktitle = {Proceedings of the 27th International Conference on Automated Software Engineering (ASE 2012), Essen, Germany},
year = {2012},
editor = {Michael Goedicke and Tim Menzies and Motoshi Saeki},
pages = {220-229},
publisher = {ACM},
abstract = {Resolving inconsistencies in software models is a complex task because
the number of repairs grows exponentially. Existing approaches thus
emphasize on selected repairs only but doing so diminishes their
usefulness. This paper copes with the large number of repairs by
focusing on what caused an inconsistency and presenting repairs as
a linearly growing repair tree. The cause is computed by examining
the runtime evaluation of the inconsistency to understand where and
why it failed. The individual changes that make up repairs are then
modeled in a repair tree as alternatives and sequences reflecting
the syntactic structure of the inconsistent design rule. The approach
is automated and tool supported. Its scalability was empirically
evaluated on 29 UML models and 18 OCL design rules where we show
that the approach computes repair trees in milliseconds on average.
We believe that the approach is applicable to arbitrary modeling
and constraint languages.},
doi = {10.1145/2351676.2351707},
file = {:Conferences\\ASE 2012 - Computing Repair Trees for Resolving Inconsistencies in Design Models\\Computing Repair Trees for Resolving Inconsistencies in Design Models-preprint.pdf:PDF},
keywords = {FWF P21321},
}