Abstract
In the last decade it became a common practice to formalise software requirements to improve the clarity of users’ expectations. In this work we build on the fact that functional requirements can be expressed in temporal logic and we propose new techniques that automatically detect flaws and suggest improvements of given requirements. Specifically, we describe and experimentally evaluate new approaches to consistency and vacuity checking that identify all inconsistencies and pinpoint their exact source (the smallest inconsistent set). To complete the sanity checking we also deliver a novel semi-automatic completeness evaluation that can assess the coverage of user requirements and suggest missing properties the user might have wanted to formulate. The usefulness of our completeness evaluation is demonstrated in a case study of an aeroplane control system.
This work has been supported by the Czech Grant Agency grant No. GAP202/11/0312 and GD102/09/HD042 and by Artemis-IA iFEST project grant No. 100203.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Barnat, J., Brim, L., Češka, M., Ročkai, P.: DiVinE: Parallel Distributed Model Checker. In: Proc. of HiBi/PDMC, pp. 4–7 (2010)
Blom, S., Fokkink, W.J., Groote, J.F., van Langevelde, I., Lisser, B., van de Pol, J.: μCRL: A Toolset for Analysing Algebraic Specifications. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 250–254. Springer, Heidelberg (2001)
Chan, W., Anderson, R.J., Bea, P., Burns, S., Modugno, F., Notkin, D., Reese, J.D.: Model Checking Large Software Specifications. IEEE T. Software Eng. 24, 498–520 (1998)
Chockler, H., Kupferman, O., Kurshan, R.P., Vardi, M.Y.: A Practical Approach to Coverage in Model Checking. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 66–78. Springer, Heidelberg (2001)
Chockler, H., Kupferman, O., Vardi, M.Y.: Coverage Metrics for Temporal Logic Model Checking. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 528–542. Springer, Heidelberg (2001)
Cimatti, A., Clarke, E., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R., Tacchella, A.: NuSMV 2: An OpenSource Tool for Symbolic Model Checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 359–364. Springer, Heidelberg (2002)
Courcoubetis, C., Vardi, M.Y., Wolper, P., Yannakakis, M.: Memory-Efficient Algorithms for the Verification of Temporal Properties. Form. Method Syst. Des. 1, 275–288 (1992)
Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Property Specification Patterns for Finite-State Verification. In: Proc. of FMSP, pp. 7–15 (1998)
Heimdahl, M.P.E., Leveson, N.G.: Completeness and Consistency Analysis of State-Based Requirements. In: Proc. of ICSE, pp. 3–14 (1995)
Hinchey, M., Jackson, M., Cousot, P., Cook, B., Bowen, J.P., Margaria, T.: Software Engineering and Formal Methods. Commun. ACM 51, 54–59 (2008)
Industrial Framework for Embedded Systems Tools, http://www.artemis-ifest.eu
Kupferman, O.: Sanity Checks in Formal Verification. In: Baier, C., Hermanns, H. (eds.) CONCUR 2006. LNCS, vol. 4137, pp. 37–51. Springer, Heidelberg (2006)
Kupferman, O., Vardi, M.Y.: Vacuity Detection in Temporal Model Checking. STTT 4, 224–233 (2003)
Leveson, N.: Completeness in Formal Specification Language Design for Process-Control Systems. In: Proc. of FMSP, pp. 75–87 (2000)
Miller, S.P., Tribble, A.C., Heimdahl, M.P.E.: Proving the Shalls. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 75–93. Springer, Heidelberg (2003)
Rajan, A., Whalen, M.W., Heimdahl, M.P.E.: Model Validation using Automatically Generated Requirements-Based Tests. In: Proc. of HASE, pp. 95–104 (2007)
Roy, S., Das, S., Basu, P., Dasgupta, P., Chakrabarti, P.P.: SAT Based Solutions for Consistency Problems in Formal Property Specifications for Open Systems. In: Proc. of ICCAD, pp. 885–888 (2005)
Rozier, K.Y., Vardi, M.Y.: LTL Satisfiability Checking. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 149–167. Springer, Heidelberg (2007)
Tasiran, S., Keutzer, K.: Coverage Metrics for Functional Validation of Hardware Designs. IEEE Des. Test. Comput. 18(4), 36–45 (2001)
Whalen, M.W., Rajan, A., Heimdahl, M.P.E., Miller, S.P.: Coverage Metrics for Requirements-Based Testing. In: Proc. of ISSTA, pp. 25–36 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Barnat, J., Bauch, P., Brim, L. (2012). Checking Sanity of Software Requirements. In: Eleftherakis, G., Hinchey, M., Holcombe, M. (eds) Software Engineering and Formal Methods. SEFM 2012. Lecture Notes in Computer Science, vol 7504. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33826-7_4
Download citation
DOI: https://doi.org/10.1007/978-3-642-33826-7_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-33825-0
Online ISBN: 978-3-642-33826-7
eBook Packages: Computer ScienceComputer Science (R0)