Learning from Vacuously Satisfiable Scenario-Based Specifications

Scenarios and use cases are popular means for supporting requirements elicitation and elaboration. They provide examples of how the system-to-be and its environment can interact. However, such descriptions, when large, are cumbersome to reason about, particularly when they include conditional features such as scenario triggers and use case preconditions. One problem is that they are susceptible to being satisfied vacuously: a system that does not exhibit a scenario's trigger or a use case's precondition, need not provide the behaviour described by the scenario or use case. Vacuously satisfiable scenarios often indicate that the specification is partial and provide an opportunity for further elicitation. They may also indicate conflicting boundary conditions. In this paper we propose a systematic, semi-automated approach for detecting vacuously satisfiable scenarios (using model checking) and computing the scenarios needed to avoid vacuity (using machine learning).

[1]  Marsha Chechik,et al.  Extending Extended Vacuity , 2004, FMCAD.

[2]  Marsha Chechik,et al.  Behaviour Model Synthesis from Properties and Scenarios , 2007, 29th International Conference on Software Engineering (ICSE'07).

[3]  Orna Grumberg,et al.  Enhanced Vacuity Detection in Linear Temporal Logic , 2003, CAV.

[4]  Dalal Alrajeh,et al.  Learning operational requirements from goal models , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[5]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[6]  David Harel,et al.  Come, Let’s Play , 2003, Springer Berlin Heidelberg.

[7]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[8]  Yves Bontemps,et al.  Relating Inter-Agent and Intra-Agent Specifications (The Case of Live Sequence Charts) , 2005 .

[9]  Dalal Alrajeh,et al.  Deriving non-Zeno behaviour models from goal models using ILP , 2009, Formal Aspects of Computing.

[10]  Dimitra Giannakopoulou,et al.  Fluent model checking for event-based systems , 2003, ESEC/FSE-11.

[11]  Sebastián Uchitel,et al.  MTSA: The Modal Transition System Analyser , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[12]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[13]  Johann Schumann,et al.  Generating statechart designs from scenarios , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[14]  Marek J. Sergot,et al.  A logic-based calculus of events , 1989, New Generation Computing.

[15]  I. Alexander,et al.  Scenarios, stories, and use cases: the modern basis for system development , 2004 .

[16]  Kim G. Larsen,et al.  A modal process logic , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[17]  Dalal Alrajeh,et al.  Extracting Requirements from Scenarios with ILP , 2006, ILP.

[18]  Neil Maiden,et al.  Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle , 2004 .

[19]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[20]  Morris Sloman,et al.  CONIC: an integrated approach to distributed computer control systems , 1983 .

[21]  Sebastián Uchitel,et al.  Existential live sequence charts revisited , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[22]  Oliver Ray,et al.  Nonmonotonic abductive inductive learning , 2009, J. Appl. Log..

[23]  Amir Pnueli,et al.  Temporal Logic for Scenario-Based Specifications , 2005, TACAS.

[24]  Dalal Alrajeh,et al.  An Inductive Approach for Modal Transition System Refinement , 2011, ICLP.

[25]  Orna Kupferman,et al.  Sanity Checks in Formal Verification , 2006, CONCUR.

[26]  Stephen Muggleton,et al.  Inverse entailment and progol , 1995, New Generation Computing.

[27]  Randal E. Bryant,et al.  Formally Verifying a Microprocessor Using a Simulation Methodology , 1994, 31st Design Automation Conference.

[28]  Dalal Alrajeh,et al.  Using abduction and induction for operational requirements elaboration , 2009, J. Appl. Log..

[29]  Roger Pressman,et al.  Software Engineering: A Practitioner's Approach, 7Th Edition , 2009 .