by Alexander Nöhrer, Armin Biere, Alexander Egyed
Abstract:
Tolerating inconsistencies is well accepted in design modeling because it is often neither obvious how to fix an inconsistency nor important to do so right away. However, there are technical reasons why inconsistencies are not tolerated in many areas of software engineering. The most obvious being that common reasoning engines are rendered (partially) useless in the presence of inconsistencies. This paper investigates automated strategies for tolerating inconsistencies during decision-making in product line engineering, based on isolating parts from reasoning that cause inconsistencies. We compare trade offs concerning incorrect and incomplete reasoning and demonstrate that it is even possible to fully eliminate incorrect reasoning in the presence of inconsistencies at the expense of marginally less complete reasoning. Our evaluation is based on five medium-to-large size software product line case studies. It is important to note that our mechanism for tolerating inconsistencies can be applied to arbitrary SAT problems and thus the basic principles of this approach are applicable to other domains also.
Reference:
A comparison of strategies for tolerating inconsistencies during decision-making. (Alexander Nöhrer, Armin Biere, Alexander Egyed), In Proceedings of the 16th International Software Product Line Conference (SPLC 2012), Salvador, Brazil (Eduardo Santana de Almeida, Christa Schwanninger, David Benavides, eds.), ACM, 2012.
Bibtex Entry:
@Conference{DBLP:conf/splc/NohrerBE12,
author = {Alexander Nöhrer and Armin Biere and Alexander Egyed},
title = {A comparison of strategies for tolerating inconsistencies during decision-making.},
booktitle = {Proceedings of the 16th International Software Product Line Conference (SPLC 2012), Salvador, Brazil},
year = {2012},
editor = {Eduardo Santana de Almeida and Christa Schwanninger and David Benavides},
pages = {11-20},
publisher = {ACM},
abstract = {Tolerating inconsistencies is well accepted in design modeling because
it is often neither obvious how to fix an inconsistency nor important
to do so right away. However, there are technical reasons why inconsistencies
are not tolerated in many areas of software engineering. The most
obvious being that common reasoning engines are rendered (partially)
useless in the presence of inconsistencies. This paper investigates
automated strategies for tolerating inconsistencies during decision-making
in product line engineering, based on isolating parts from reasoning
that cause inconsistencies. We compare trade offs concerning incorrect
and incomplete reasoning and demonstrate that it is even possible
to fully eliminate incorrect reasoning in the presence of inconsistencies
at the expense of marginally less complete reasoning. Our evaluation
is based on five medium-to-large size software product line case
studies. It is important to note that our mechanism for tolerating
inconsistencies can be applied to arbitrary SAT problems and thus
the basic principles of this approach are applicable to other domains
also.},
doi = {10.1145/2362536.2362543},
file = {:Conferences\\SPLC 2012 - A Comparison of Strategies for Tolerating Inconsistencies\\A Comparison of Strategies for Tolerating Inconsistencies during Decision-Making-preprint.pdf:PDF},
keywords = {},
}