Learning from Vacuously Satisfiable Scenario-Based Specifications

  • Dalal Alrajeh
  • Jeff Kramer
  • Alessandra Russo
  • Sebastian Uchitel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7212)


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).


Model Check Goal Model Label Transition System Inductive Logic Programming Incoming Call 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Alexander, I., Maiden, N.: Scenarios, stories, use cases: through the systems development life-cycle. Wiley (2004)Google Scholar
  2. 2.
    Alrajeh, D., Kramer, J., Russo, A., Uchitel, S.: Learning operational requirements from goal models. In: Proc. of 31st ICSE, pp. 265–275 (2009)Google Scholar
  3. 3.
    Alrajeh, D., Kramer, J., Russo, A., Uchitel, S.: Deriving non-zeno behaviour models from goal models using ILP. J. of FAC 22(3-4), 217–241 (2010)zbMATHGoogle Scholar
  4. 4.
    Alrajeh, D., Kramer, J., Russo, A., Uchitel, S.: An inductive approach for modal transition system refinement. In: Tech. Comm. of 27th ICLP, pp. 106–116 (2011)Google Scholar
  5. 5.
    Alrajeh, D., Ray, O., Russo, A., Uchitel, S.: Extracting requirements from scenarios with ILP. In: Proc. of 16th Intl. Conf. on ILP, pp. 63–77 (2006)Google Scholar
  6. 6.
    Alrajeh, D., Ray, O., Russo, A., Uchitel, S.: Using abduction and induction for operational requirements elaboration. J. of Applied Log. 7(3), 275–288 (2009)MathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Armoni, R., Fix, L., Flaisher, A., Grumberg, O., Piterman, N., Tiemeyer, A., Vardi, M.Y.: Enhanced Vacuity Detection in Linear Temporal Logic. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 368–380. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  8. 8.
    Beatty, D.L., Bryant, R.E.: Formally verifying a microprocessor using a simulation methodology. In: Proc. of 31st DAC, pp. 596–602 (1994)Google Scholar
  9. 9.
    Bontemps, Y.: Relating Inter-Agent and Intra-Agent Specifications: The Case of Live Sequence Charts. PhD thesis, Faculties Universitaires Notre-Dame de la Paix, Namur Institut dInformatique, Belgium (2005)Google Scholar
  10. 10.
    Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Science of Comp. Program. 20(1), 3–50 (1993)zbMATHCrossRefGoogle Scholar
  11. 11.
    D’Ippolito, N., Fischbein, D., Chechik, M., Uchitel, S.: MTSA: The Modal Transition System Analyser. In: Proc. of 23rd Intl. Conf. on ASE, pp. 475–476 (2008)Google Scholar
  12. 12.
    Giannakopoulou, D., Magee, J.: Fluent model checking for event-based systems. In: Proc. 11th ACM SIGSOFT FSE, pp. 257–266 (2003)Google Scholar
  13. 13.
    Gurfinkel, A., Chechik, M.: Extending Extended Vacuity. In: Hu, A.J., Martin, A.K. (eds.) FMCAD 2004. LNCS, vol. 3312, pp. 306–321. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  14. 14.
    Harel, D., Marelly, R.: Come, Let’s Play: Scenario-Based Programming Using LSC’s and the Play-Engine. Springer-Verlag New York, Inc. (2003)Google Scholar
  15. 15.
    Kowalski, R.A., Sergot, M.: A logic-based calculus of events. New Generation Comp. 4(1), 67–95 (1986)CrossRefGoogle Scholar
  16. 16.
    Kramer, J., Magee, J., Sloman, M.: Conic: An integrated approach to distributed computer control systems. In: IEE Proc., Part E 130 (1983)Google Scholar
  17. 17.
    Kugler, H.-J., Harel, D., Pnueli, A., Lu, Y., Bontemps, Y.: Temporal Logic for Scenario-Based Specifications. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 445–460. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  18. 18.
    Kupferman, O.: Sanity checks in formal verification. In: Conc. Theory, pp. 37–51 (2006)Google Scholar
  19. 19.
    Larsen, K.G., Thomsen, B.: A modal process logic. In: Proc. of 3rd Annual Symp. on Log. in Comp. Science, pp. 203 –210 (1988)Google Scholar
  20. 20.
    Muggleton, S.H.: Inverse Entailment and Progol. New Generation Comp., Special Issue on ILP 13(3-4), 245–286 (1995)CrossRefGoogle Scholar
  21. 21.
    Pressman, R.S.: Software Engineering: A Practitioner’s Approach, 7th edn. McGraw-Hill Higher Education (2010)Google Scholar
  22. 22.
    Ray, O.: Nonmonotonic abductive inductive learning. J. of Applied Log. 7(3), 329–340 (2009)zbMATHCrossRefGoogle Scholar
  23. 23.
    Sibay, G.: The Philips television set case study,
  24. 24.
    Sibay, G., Uchitel, S., Braberman, V.: Existential live sequence charts revisited. In: Proc. of 30th ICSE, pp. 41–50 (2008)Google Scholar
  25. 25.
    Uchitel, S., Brunet, G., Chechik, M.: Behaviour model synthesis from properties and scenarios. In: Proc. of 29th Intl. Conf. on Softw. Eng., pp. 34–43 (2007)Google Scholar
  26. 26.
    Whittle, J., Schumann, J.: Generating statechart designs from scenarios. In: Proc. of the 22nd ICSE, pp. 314–323 (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Dalal Alrajeh
    • 1
  • Jeff Kramer
    • 1
  • Alessandra Russo
    • 1
  • Sebastian Uchitel
    • 1
    • 2
  1. 1.Department of ComputingImperial CollegeLondonUK
  2. 2.Departamento de Computaciòn, FCEyN, UBAArgentina

Personalised recommendations