A comparison of strategies for tolerating inconsistencies during decision-making

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 seven 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.

[1]  Chao Wang,et al.  SAT-Based Verification Methods and Applications in Hardware Verification , 2006, SFM.

[2]  Robert Balzer,et al.  Tolerating Inconsistency , 1991, [1989] Proceedings of the 5th International Software Process Workshop.

[3]  Colin Runciman,et al.  Semantic errors - diagnosis and repair , 1982, SIGPLAN '82.

[4]  Hans van Maaren,et al.  Finding Guaranteed MUSes Fast , 2008, SAT.

[5]  Douglas C. Schmidt,et al.  Automated Diagnosis of Product-Line Configuration Errors in Feature Models , 2008, 2008 12th International Software Product Line Conference.

[6]  E. Clarke,et al.  Symbolic model checking using SAT procedures instead of BDDs , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[7]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[8]  Daniel Jackson,et al.  Finding bugs with a constraint solver , 2000, ISSTA '00.

[9]  Felip Manyà,et al.  MaxSAT, Hard and Soft Constraints , 2021, Handbook of Satisfiability.

[10]  Klaus Pohl,et al.  Software Product Lines, 12th International Conference, SPLC 2008, Limerick, Ireland, September 8-12, 2008, Proceedings , 2008, SPLC.

[11]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[12]  Armin Biere,et al.  Managing SAT inconsistencies with HUMUS , 2012, VaMoS '12.

[13]  Paul Grünbacher,et al.  The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study , 2011, Automated Software Engineering.

[14]  Andreas G. Veneris Fault diagnosis and logic debugging using Boolean satisfiability , 2003, Proceedings. 4th International Workshop on Microprocessor Test and Verification - Common Challenges and Solutions.

[15]  Karem A. Sakallah,et al.  Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints , 2007, Journal of Automated Reasoning.

[16]  Karem A. Sakallah,et al.  Generalizing Core-Guided Max-SAT , 2009, SAT.

[17]  Alexander Egyed,et al.  Optimizing User Guidance during Decision-Making , 2011, 2011 15th International Software Product Line Conference.

[18]  Antonio Ruiz Cortés,et al.  FAMA Framework , 2008, 2008 12th International Software Product Line Conference.

[19]  Alexander Egyed,et al.  Generating and Evaluating Choices for Fixing Inconsistencies in UML Design Models , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[20]  Wil M. P. van der Aalst,et al.  Questionnaire-based variability modeling for system configuration , 2009, Software & Systems Modeling.

[21]  Alexander Egyed,et al.  C2O: a tool for guided decision-making , 2010, ASE '10.

[22]  Alexander Egyed,et al.  Fixing Inconsistencies in UML Design Models , 2007, 29th International Conference on Software Engineering (ICSE'07).

[23]  Krzysztof Czarnecki,et al.  SAT-based analysis of feature models is easy , 2009, SPLC.

[24]  Toby Walsh,et al.  Handbook of Satisfiability: Volume 185 Frontiers in Artificial Intelligence and Applications , 2009 .

[25]  Alexander Egyed,et al.  Instant consistency checking for the UML , 2006, ICSE.