Formal Aspects of Computing

, Volume 27, Issue 2, pp 335–374 | Cite as

Proof-based verification approaches for dynamic properties: application to the information system domain

  • Amel MammarEmail author
  • Marc Frappier
Original Article


This paper proposes a formal approach for generating necessary and sufficient proof obligations to demonstrate a set of dynamic properties using the B method. In particular, we consider reachability, non-interference and absence properties. Also, we show that these properties permit a wide range of property patterns introduced by Dwyer to be expressed. An overview of a tool supporting these approaches is also provided.


Dynamic properties B formal method Proof Property patterns 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Abr05.
    Abrial JR (2005) The B-book—assigning programs to meanings. Cambridge University Press, CambridgeGoogle Scholar
  2. Abr10.
    Abrial JR (2010) Modeling in Event-B—system and software engineering. Cambridge University Press, CambridgeCrossRefzbMATHGoogle Scholar
  3. AM98a.
    Abrial JR, Mussat L (1998) Introducing dynamic constraints in B. In: B, pp 83–128Google Scholar
  4. AM98b.
    Abrial JR, Mussat L (1998) Introducing dynamic constraints in b. In: Bert D (ed) B’98: recent advances in the development and use of the B Method, second international B conference, Montpellier, France, April 22–24, 1998, proceedings. Lecture Notes in Computer Science, vol 1393. Springer, Berlin, pp 83–128Google Scholar
  5. BB02.
    Ruíz Barradas H, Bert D (2002) Specification and proof of liveness properties under fairness assumptions in B event systems. In: Butler M-J, Petre L, Sere K (eds) Integrated formal methods, third international conference, IFM 2002, Turku, Finland, May 15–18, 2002, proceedings. Lecture Notes in Computer Science, vol 2335. Springer, Berlin, pp 360–379Google Scholar
  6. CCGR99.
    Cimatti A, Clarke EM, Giunchiglia F, Roveri M (1999) Nusmv: a new symbolic model verifier. In: Halbwachs N, Peled D (eds) CAV. Lecture Notes in Computer Science, vol 1633. Springer, Berlin, pp 495–499Google Scholar
  7. CE81.
    Clarke E-M, Emerson E-A (1981) Design and synthesis of synchronization skeletons using branching-time temporal logic. In: Logic of programs, pp 52–71Google Scholar
  8. DAC99.
    Dwyer M-B, Avrunin G-S, Corbett J-C (1999) Patterns in Property specifications for finite-state verification. In: ICSE, pp 411–420Google Scholar
  9. Dia13.
    Diagne F (2013) Preuve de Propriétés Dynamiques en B. PhD thesis, Télécom SudParis/Université de Sherbrooke.
  10. EH85.
    Emerson E-A, Halpern J-Y (1985) Decision procedures and expressiveness in the temporal logic of branching time. J Comput Syst Sci 30(1): 1–24CrossRefzbMATHMathSciNetGoogle Scholar
  11. FA11.
    Frappier M, Mammar A (2011) Proving reachability and non-interference in B. Technical Report TR-DI-34, Department of Computer Science, U of Sherbrooke (QC), Canada.
  12. FFC+10.
    Frappier M, Fraikin B, Chossart R, Chane-Yack-Fa R, Ouenzar M (2010) Comparison of model checking tools for information systems. In: Dong J-S, Zhu H (eds) 12th International conference on formal engineering methods, ICFEM 2010, Shanghai, China, November 17–19, 2010, proceedings. Lecture Notes in Computer Science, vol 6447. Springer, Berlin, pp 581–596Google Scholar
  13. HA11.
    Hoang T-S, Abrial J-R (2011) Reasoning about liveness properties in event-B. In: Qin S, Qiu Z (eds) 13th International conference on formal engineering methods. Lecture Notes in Computer Science, vol 6991. Springer, Berlin, pp 456–471Google Scholar
  14. Ili11.
    Iliasov A (2011) Use case scenarios as verification conditions: event-B/flow approach. In: Troubitsyna E (ed) Software engineering for resilient systems—third international workshop, SERENE 2011, Geneva, Switzerland, September 29–30, 2011, proceedings. Lecture Notes in Computer Science, vol 6968. Springer, Berlin, pp 9–23Google Scholar
  15. Jac06.
    Jackson D (2006) Software abstractions—logic, language, and analysis. MIT Press, CambridgeGoogle Scholar
  16. Jon00.
    Jones CB (2000) A compositional approach to concurrency. In: Mclver A, Morgan C (eds) Programming methodology. Lecture Notes in Computer Science. Springer, Berlin, pp 1–15Google Scholar
  17. KP05.
    Kesten Y, Pnueli A (2005) A compositional approach to CTL* verification. Theor Comput Sci 331(2–3): 397–428CrossRefzbMATHMathSciNetGoogle Scholar
  18. Kun80.
    Kunen K (1980) Set theory : an introduction to independence proofs. Studies in Logic and the Foundations of Mathematics, vol 102. Elsevier North-Holland, AmsterdamGoogle Scholar
  19. LB03.
    Leuschel M, Butler MJ (2003) ProB: a model checker for B. In: Araki K, Gnesi S, Mandrioli D (eds) FME 2003: formal methods, international symposium of formal methods Europe, Pisa, Italy, September 8–14, 2003, proceedings. Lecture Notes in Computer Science, vol 2805. Springer, Berlin, pp 855–874Google Scholar
  20. LBL12.
    Lecomte T, Burdy L, Leuschel M (2012) Formally checking large data sets in the railways. CoRR, abs/1210.6815Google Scholar
  21. LFFP11.
    Leuschel M, Falampin J, Fritz F, Plagge D (2011) Automated property verification for large scale b models with prob. Formal Aspects Comput 23(6): 683–709CrossRefMathSciNetGoogle Scholar
  22. Mam01.
    Mammar A (2001) Développement Formel par Raffinement d’Applications Bases de Données Sûres. Ingénierie des Systèmes d’Information 6(2): 41–72Google Scholar
  23. Mis96.
    Misra J (1996) A discipline of multiprogramming. ACM Comput Surv 28(4es):49Google Scholar
  24. ML06.
    Mammar A, Laleau R (2006) A formal approach based on UML and B for the specification and development of database applications. Autom Softw Eng 13(4): 497–528CrossRefGoogle Scholar
  25. Mor94.
    Morgan CC (1994) Programming from specifications, 2nd edn. Prentice Hall International Series in Computer Science. Prentice Hall, Upper Saddle RiverGoogle Scholar
  26. MP95.
    Manna Z, Pnueli A (1995) Temporal verification of reactive systems—safety. Springer, BerlinCrossRefGoogle Scholar
  27. MP13.
    Méry D, Poppleton M (2013) Formal modelling and verification of population protocols. In: Johnsen E-B, Petre L (eds) Integrated formal methods, 10th international conference, IFM 2013, Turku, Finland, June 10–14, 2013, proceedings. Lecture Notes in Computer Science, vol 7940. Springer, Berlin, pp 208–222Google Scholar
  28. OG76.
    Owicki SS, Gries D (1976) An axiomatic proof technique for parallel programs I. Acta Inf 6: 319–340CrossRefzbMATHMathSciNetGoogle Scholar
  29. OL82.
    Owicki SS, Lamport L (1982) Proving liveness properties of concurrent programs. ACM Trans Program Lang Syst 4(3): 455–495CrossRefzbMATHGoogle Scholar
  30. PK02.
    Pnueli A, Kesten Y (2002) A deductive proof system for CTL. In: Brim L, Jancar P, Kretínský M, Kucera A (eds) CONCUR 2002—concurrency theory, 13th international conference, Brno, Czech Republic, August 20–23, 2002, proceedings. Lecture Notes in Computer Science, vol 2421. Springer, Berlin, pp 24–40Google Scholar
  31. Pnu77.
    Pnueli A (1977) The temporal logic of programs. In: FOCS, pp 46–57Google Scholar

Copyright information

© British Computer Society 2014

Authors and Affiliations

  1. 1.Institut Telecom/Telecom SudParisCNRS/SAMOVARÉvryFrance
  2. 2.GRIL, Département d’informatiqueUniversité de SherbrookeSherbrookeCanada

Personalised recommendations