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 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.
- R. Balzer. Tolerating Inconsistency. In 13th ICSE, Austin, Texas, USA, pages 158--165, 1991. Google ScholarDigital Library
- A. Biere, A. Cimatti, E. M. Clarke, M. Fujita, and Y. Zhu. Symbolic Model Checking Using SAT Procedures instead of BDDs. In DAC, pages 317--320, 1999. Google ScholarDigital Library
- A. Biere, M. Heule, H. van Maaren, and T. Walsh, editors. Handbook of Satisfiability, volume 185 of Frontiers in Artificial Intelligence and Applications. IOS Press, 2009. Google ScholarDigital Library
- M. Davis, G. Logemann, and D. W. Loveland. A machine program for theorem-proving. Commun. ACM, 5(7): 394--397, 1962. Google ScholarDigital Library
- D. Dhungana, P. Grünbacher, and R. Rabiser. The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study. Automated Software Engineering, 18: 77--114, 2011. Google ScholarDigital Library
- A. Egyed. Instant consistency checking for the UML. In 28th ICSE, Shanghai, China, pages 381--390, 2006. Google ScholarDigital Library
- A. Egyed. Fixing Inconsistencies in UML Design Models. In 29th ICSE, Minneapolis, USA, pages 292--301, 2007. Google ScholarDigital Library
- A. Egyed, E. Letier, and A. Finkelstein. Generating and Evaluating Choices for Fixing Inconsistencies in UML Design Models. In 23rd ASE, L'Aquila, Italy, pages 99--108, 2008. Google ScholarDigital Library
- A. Gupta, M. Ganai, and C. Wang. SAT-Based Verification Methods and Applications in Hardware Verification. In M. Bernardo and A. Cimatti, editors, Formal Methods for Hardware Verification, volume 3965 of Lecture Notes in Computer Science, pages 108--143. Springer Berlin / Heidelberg, 2006. Google ScholarDigital Library
- D. Jackson and M. Vaziri. Finding bugs with a constraint solver. In ISSTA, pages 14--25, 2000. Google ScholarDigital Library
- C. W. Johnson and C. Runciman. Semantic Errors - Diagnosis and Repair. In SIGPLAN Symposium on Compiler Construction, pages 88--97, 1982. Google ScholarDigital Library
- C. M. Li and F. Manyà. MaxSAT, Hard and Soft Constraints. In Handbook of Satisfiability, pages 613--631. 2009.Google Scholar
- M. H. Liffiton and K. A. Sakallah. Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints. J. Autom. Reason., 40(1): 1--33, 2008. Google ScholarDigital Library
- M. H. Liffiton and K. A. Sakallah. Generalizing Core-Guided Max-SAT. In Theory and Applications of Satisfiability Testing - SAT, 12th International Conference, Swansea, UK, pages 481--494, 2009. Google ScholarDigital Library
- M. Mendonca, M. Branco, and D. Cowan. S. P. L. O. T.: software product lines online tools. In 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications, pages 761--762, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- M. Mendonça, A. Wasowski, and K. Czarnecki. SAT-based analysis of feature models is easy. In Software Product Lines, 13th International Conference, San Francisco, California, USA, pages 231--240, 2009. Google ScholarDigital Library
- A. Nöhrer, A. Biere, and A. Egyed. Managing SAT inconsistencies with HUMUS. In U. W. Eisenecker, S. Apel, and S. Gnesi, editors, VaMoS, pages 83--91. ACM, 2012. Google ScholarDigital Library
- A. Nöhrer and A. Egyed. C2O: A Tool for Guided Decision-making. In 25th International Conference on Automated Software Engineering, Antwerp, Belgium, pages 363--364, 2010. Google ScholarDigital Library
- A. Nöhrer and A. Egyed. Optimizing User Guidance during Decision-Making. In Software Product Lines, 15th International Conference, Munich, Germany, 2011. Google ScholarDigital Library
- M. L. Rosa, W. M. P. van der Aalst, M. Dumas, and A. H. M. ter Hofstede. Questionnaire-based variability modeling for system configuration. Software and System Modeling, 8(2): 251--274, 2009.Google ScholarCross Ref
- A. Smith, A. G. Veneris, M. F. Ali, and A. Viglas. Fault diagnosis and logic debugging using Boolean satisfiability. IEEE Trans. on CAD of Integrated Circuits and Systems, 24(10): 1606--1621, 2005. Google ScholarDigital Library
- P. Trinidad, D. Benavides, A. R. Cortés, S. Segura, and A. Jimenez. FAMA Framework. In Software Product Lines, 12th International Conference, Limerick, Ireland, page 359, 2008. Google ScholarDigital Library
- H. van Maaren and S. Wieringa. Finding Guaranteed MUSes Fast. In Theory and Applications of Satisfiability Testing, 11th International Conference, Guangzhou, China, pages 291--304, 2008. Google ScholarDigital Library
- J. White, D. C. Schmidt, D. Benavides, P. Trinidad, and A. R. Cortés. Automated Diagnosis of Product-Line Configuration Errors in Feature Models. In Software Product Lines, 12th International Conference, Limerick, Ireland, pages 225--234, 2008. Google ScholarDigital Library
Index Terms
- A comparison of strategies for tolerating inconsistencies during decision-making
Recommendations
Managing SAT inconsistencies with HUMUS
VaMoS '12: Proceedings of the 6th International Workshop on Variability Modeling of Software-Intensive SystemsIn Product Line Engineering, as in any other modeling domain, designers and end users are prone to making inconsistent assumptions (errors) because of complexity and lack of system knowledge. We previously envisioned a way of allowing inconsistencies ...
Positive effects of utilizing relationships between inconsistencies for more effective inconsistency resolution (NIER track)
ICSE '11: Proceedings of the 33rd International Conference on Software EngineeringState-of-the-art modeling tools can help detect inconsistencies in software models. Some can even generate fixing actions for these inconsistencies. However such approaches handle inconsistencies individually, assuming that each single inconsistency is ...
Dealing with Inconsistencies in
Intelligent SystemsAbstractInconsistencies in argumentation theory have been a recurrent topic in the literature. The being one of the most well know argumentation formalisms is frequently used to deal with inconsistencies. However, the existing approaches consider a ...
Comments