Fast formal analysis of requirements via "topoi diagrams"

Early testing of requirements can decrease the cost of removing errors in software projects. However unless done carefully, that testing process can significantly add to the cost of requirements analysis. We show that requirements expressed as topoi diagrams can be built and tested cheaply /sup s/ing our SP2 algorithm, the formal temporal properties of a large class of topoi can be proven very quickly, in time nearly linear in the number of nodes and edges in the diagram. There are two limitations to our approach. Firstly, topoi diagrams cannot express certain complex concepts such as iteration and sub-routine calls. Hence, our approach is more useful for requirements engineering than for traditional model checking domains. Secondly, our approach is better for exploring the temporal occurrence of properties than the temporal ordering of properties. Within these restrictions, we can express a useful range of concepts currently seen in requirements engineering, and a wide range of interesting temporal properties.

[1]  Michael R. Lowry,et al.  Towards a theory for integration of mathematical verification and empirical testing , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[2]  Leon J. Osterweil,et al.  Interprocedural static analysis of sequencing constraints , 1992, TSEM.

[3]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[4]  Edmund M. Clarke,et al.  Compositional model checking , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[5]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[6]  Tim Menzies,et al.  RAPTURE/SP2: Efficient Testing of Temporal Properties Without Search Space Explosion , 1999 .

[7]  Masahiro Fujita,et al.  Model checking: its basics and reality , 1998, Proceedings of 1998 Asia and South Pacific Design Automation Conference.

[8]  John Mylopoulos,et al.  From object-oriented to goal-oriented requirements analysis , 1999, CACM.

[9]  Thomas P. Moran,et al.  Questions, Options, and Criteria: Elements of Design Space Analysis , 1991, Hum. Comput. Interact..

[10]  Yoshiteru Ishida,et al.  Using Global Properties for Qualitative Reasoning: A Qualitative System Theory , 1989, IJCAI.

[11]  Tim Menzies,et al.  Applications of Abduction #2: Knowledge-level Modeling , 1995 .

[12]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[13]  Somesh Jha,et al.  Exploiting Symmetry In Temporal Logic Model Checking , 1993, CAV.

[14]  Somesh Jha,et al.  Exploiting symmetry in temporal logic model checking , 1993, Formal Methods Syst. Des..

[15]  Olivier Corby,et al.  Acquisition and exploitation of gradual knowledge , 1995, Int. J. Hum. Comput. Stud..

[16]  Robert F. Cohen,et al.  Applications of Abduction: Testing Very Long Qualitative Simulations , 2002, IEEE Trans. Knowl. Data Eng..

[17]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[18]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[19]  Patrice Godefroid,et al.  On the costs and benefits of using partial-order methods for the verification of concurrent systems (invited paper) , 1997 .

[20]  T. Menzies Principles for generalised testing of knowledge bases , 1996 .

[21]  Patrice Godefroid,et al.  On the costs and benefits of using partial-order methods for the verification of concurrent systems , 1996, Partial Order Methods in Verification.

[22]  Tim Menzies,et al.  Applications of abduction: hypothesis testing of neuroendocrinological qualitative compartmental models , 1997, Artif. Intell. Medicine.

[23]  Benjamin Kuipers,et al.  Model Decomposition and Simulation: A Component Based Qualitative Simulation Algorithm , 1997, AAAI/IAAI.

[24]  James C. Corbett,et al.  An empirical evaluation of three methods for deadlock analysis of Ada tasking programs , 1994, ISSTA '94.

[25]  Donald J. Reifer,et al.  Software Failure Modes and Effects Analysis , 1979, IEEE Transactions on Reliability.

[26]  Tim Menzies On the Practicality of Abductive Validation , 1996, ECAI.

[27]  Gerard J. Holzmann,et al.  A minimized automaton representation of reachable states , 1999, International Journal on Software Tools for Technology Transfer.

[28]  Tim Menzies,et al.  Applications of abduction: knowledge-level modelling , 1996, Int. J. Hum. Comput. Stud..

[29]  Zuan Zhang An approach to hierarchy model checking via evaluating CTL hierarchically , 1995, Proceedings of the Fourth Asian Test Symposium.

[30]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[31]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[32]  Gerard J. Holzmann,et al.  Validating requirements for fault tolerant systems using model checking , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.

[33]  Nick Hammond,et al.  Argumentation-based design rationale: what use at what cost? , 1994, Int. J. Hum. Comput. Stud..

[34]  Robert F. Cohen,et al.  A Graph Theoretic Optimisation of Temporal Abductive Validation , 1997, EUROVAV.

[35]  Matthew B. Dwyer,et al.  Bandera: extracting finite-state models from Java source code , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[36]  Axel van Lamsweerde,et al.  Inferring Declarative Requirements Specifications from Operational Scenarios , 1998, IEEE Trans. Software Eng..