ABSTRACT
In the last decade it became a common practise to formalise software requirements using a mathematical language of temporal logics, e.g., LTL. The formalisation removes ambiguity and improves understanding. Formal description also enables various model-based techniques, like formal verification. Moreover, we get the opportunity to check the requirements earlier, even before any system model is built. This so called requirements sanity checking aims to assure that a given set of requirements is consistent, i.e., that a product satisfying all the requirements can be developed. If inconsistencies are found, it is desirable to present them to the user in a minimal fashion, exposing the core problems among the requirements. Such cores are called minimal inconsistent subsets (MISes). In this work, we present a framework for online MISes enumeration in the domain of temporal logics.
- James Bailey and Peter J Stuckey. 2005. Discovery of minimal unsatisfiable subsets of constraints using hitting set dualization. In Practical Aspects of Declarative Languages. Springer, 174–186. Google ScholarDigital Library
- Jiří Barnat, Petr Bauch, Nikola Beneš, Luboš Brim, Jan Beran, and Tomáš Kratochvíla. 2016. Analysing sanity of requirements for avionics systems. Formal Aspects of Computing (2016). DOI:http: //dx. Google ScholarDigital Library
- Jiri Barnat, Petr Bauch, and Lubos Brim. 2012. Checking Sanity of Software Requirements. In SEFM (Lecture Notes in Computer Science), Vol. 7504. Springer, 48–62. Google ScholarDigital Library
- Jiri Barnat, Jan Beran, Lubos Brim, Tomas Kratochvila, and Petr Rockai. 2012. Tool Chain to Support Automated Formal Verification of Avionics Simulink Designs. In FMICS (Lecture Notes in Computer Science), Vol. 7437. Springer, 78–92.Google Scholar
- Jiri Barnat, Lubos Brim, Vojtech Havel, Jan Havlícek, Jan Kriho, Milan Lenco, Petr Rockai, Vladimír Still, and Jirí Weiser. 2013. DiVinE 3.0 - An Explicit-State Model Checker for Multithreaded C & C++ Programs. In CAV (Lecture Notes in Computer Science), Vol. 8044. Springer, 863–868.Google Scholar
- Ilan Beer, Shoham Ben-David, Cindy Eisner, and Yoav Rodeh. 2001. Efficient Detection of Vacuity in Temporal Model Checking. Formal Methods in System Design 18, 2 (2001), 141–163. Google ScholarDigital Library
- Anton Belov and João Marques-Silva. 2012. MUSer2: An Efficient MUS Extractor. JSAT 8, 3/4 (2012), 123–128.Google Scholar
- Jaroslav Bendík, Nikola Beneš, Jiří Barnat, and Ivana Černá. 2016. Finding Boundary Elements in Ordered Sets with Application to Safety and Requirements Analysis. In SEFM (Lecture Notes in Computer Science), Vol. 9763. Springer, 121– 136.Google Scholar
- Jaroslav Bendík, Nikola Benes, Ivana Cerná, and Jiri Barnat. 2016. Tunable Online MUS/MSS Enumeration. In FSTTCS (LIPIcs), Vol. 65. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 50:1–50:13.Google Scholar
- Matteo Bertello, Nicola Gigante, Angelo Montanari, and Mark Reynolds. 2016. Leviathan: A New LTL Satisfiability Checking Tool Based on a One-Pass Tree-Shaped Tableau. In IJCAI. IJCAI/AAAI Press, 950–956. Google ScholarDigital Library
- Stefan Blom, Wan Fokkink, Jan Friso Groote, Izak van Langevelde, Bert Lisser, and Jaco van de Pol. 2001.Google Scholar
- µCRL: A Toolset for Analysing Algebraic Specifications. In CAV (Lecture Notes in Computer Science), Vol. 2102. Springer, 250–254.Google Scholar
- Alessandro Cimatti, Edmund M. Clarke, Enrico Giunchiglia, Fausto Giunchiglia, Marco Pistore, Marco Roveri, Roberto Sebastiani, and Armando Tacchella. 2002.Google Scholar
- NuSMV 2: An OpenSource Tool for Symbolic Model Checking. In CAV (Lecture Notes in Computer Science), Vol. 2404. Springer, 359–364.Google Scholar
- Edmund M. Clarke, Orna Grumberg, and Doron A. Peled. 2001. Model checking. MIT Press.Google Scholar
- Alexandre Duret-Lutz, Alexandre Lewkowicz, Amaury Fauchille, Thibaud Michaud, Etienne Renault, and Laurent Xu. 2016. Spot 2.0 - A Framework for LTL and ω -Automata Manipulation. In ATVA (Lecture Notes in Computer Science), Vol. 9938. 122–129.Google ScholarCross Ref
- François Hantry and Mohand-Said Hacid. 2011. Handling Conflicts in Depth-First Search for LTL Tableau to Debug Compliance Based Languages. In FLACOS (EPTCS), Vol. 68. 39–53.Google ScholarCross Ref
- Mike Hinchey, Michael Jackson, Patrick Cousot, Byron Cook, Jonathan P. Bowen, and Tiziana Margaria. 2008. Software engineering and formal methods. Commun. ACM 51, 9 (2008), 54–59. Google ScholarDigital Library
- Jianwen Li, Shufang Zhu, Geguang Pu, and Moshe Y. Vardi. 2015. SAT-Based Explicit LTL Reasoning. In Haifa Verification Conference (Lecture Notes in Computer Science), Vol. 9434. Springer, 209–224.Google Scholar
- Mark H. Liffiton, Alessandro Previti, Ammar Malik, and Joao Marques-Silva. 2015. Fast, flexible MUS enumeration. Constraints (2015), 1–28. Google ScholarDigital Library
- Alexander Nadel, Vadim Ryvchin, and Ofer Strichman. 2014. Accelerated Deletion-based Extraction of Minimal Unsatisfiable Cores. JSAT 9 (2014), 27–51.Google Scholar
- Amir Pnueli. 1977. The Temporal Logic of Programs. In FOCS. IEEE Computer Society, 46–57. Google ScholarDigital Library
- Kristin Y. Rozier and Moshe Y. Vardi. 2011. A Multi-encoding Approach for LTL Symbolic Satisfiability Checking. In FM (Lecture Notes in Computer Science), Vol. 6664. Springer, 417–431. Google ScholarDigital Library
- Viktor Schuppan. 2012. Towards a notion of unsatisfiable and unrealizable cores for LTL. Sci. Comput. Program. 77, 7-8 (2012), 908–939. Google ScholarDigital Library
- Viktor Schuppan and Luthfi Darmawan. 2011. Evaluating LTL Satisfiability Solvers. In ATVA (Lecture Notes in Computer Science), Vol. 6996. Springer, 397– 413. Abstract 1 Introduction 2 Related Work 3 Research questions and Contributions 4 Methodology and Evaluation 4.1 Methodology 4.2 Evaluation 5 Research Status 6 Conclusion References Google ScholarDigital Library
Index Terms
- Consistency checking in requirements analysis
Recommendations
Process patterns for requirement consistency analysis
EuroPlop '16: Proceedings of the 21st European Conference on Pattern Languages of ProgramsIn the requirement space, patterns are gaining prominence to capture the requirement knowledge for reuse and help identify requirements. The quality of requirement specification is critical for effective understanding and implementation of requirements. ...
Model Checking Process with Goal Oriented Requirements Analysis
APSEC '08: Proceedings of the 2008 15th Asia-Pacific Software Engineering ConferenceModel checking is a powerful technique for verifying the correctness of a system’s specification. But even when the specification has been verified to be correct, there is still the question of whether the specification covers all the expected ...
Quality Requirements Analysis Using Requirements Frames
QSIC '11: Proceedings of the 2011 11th International Conference on Quality SoftwareDefining quality requirements completely and correctly is more difficult than defining functional requirements because stakeholders do not state most of quality requirements explicitly. We thus propose a method to measure a requirements specification ...
Comments