Skip to main content

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

Abstract

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.

This is a preview of subscription content, access via your institution.

References

  1. Abr05

    Abrial JR (2005) The B-book—assigning programs to meanings. Cambridge University Press, Cambridge

    Google Scholar 

  2. Abr10

    Abrial JR (2010) Modeling in Event-B—system and software engineering. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  3. AM98a

    Abrial JR, Mussat L (1998) Introducing dynamic constraints in B. In: B, pp 83–128

  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–128

  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–379

  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–499

  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–71

  8. DAC99

    Dwyer M-B, Avrunin G-S, Corbett J-C (1999) Patterns in Property specifications for finite-state verification. In: ICSE, pp 411–420

  9. Dia13

    Diagne F (2013) Preuve de Propriétés Dynamiques en B. PhD thesis, Télécom SudParis/Université de Sherbrooke. http://www-public.it-sudparis.eu/~mammar_a/theseFamaDiagne.pdf

  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–24

    Article  MATH  MathSciNet  Google 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.http://info.usherbrooke.ca/Publications/rapports/techreportreference.2011-01-17.9889996803

  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–596

  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–471

  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–23

  15. Jac06

    Jackson D (2006) Software abstractions—logic, language, and analysis. MIT Press, Cambridge

    Google 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–15

  17. KP05

    Kesten Y, Pnueli A (2005) A compositional approach to CTL* verification. Theor Comput Sci 331(2–3): 397–428

    Article  MATH  MathSciNet  Google 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, Amsterdam

  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–874

  20. LBL12

    Lecomte T, Burdy L, Leuschel M (2012) Formally checking large data sets in the railways. CoRR, abs/1210.6815

  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–709

    Article  MathSciNet  Google 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–72

    Google Scholar 

  23. Mis96

    Misra J (1996) A discipline of multiprogramming. ACM Comput Surv 28(4es):49

  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–528

    Article  Google Scholar 

  25. Mor94

    Morgan CC (1994) Programming from specifications, 2nd edn. Prentice Hall International Series in Computer Science. Prentice Hall, Upper Saddle River

  26. MP95

    Manna Z, Pnueli A (1995) Temporal verification of reactive systems—safety. Springer, Berlin

    Book  Google 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–222

  28. OG76

    Owicki SS, Gries D (1976) An axiomatic proof technique for parallel programs I. Acta Inf 6: 319–340

    Article  MATH  MathSciNet  Google Scholar 

  29. OL82

    Owicki SS, Lamport L (1982) Proving liveness properties of concurrent programs. ACM Trans Program Lang Syst 4(3): 455–495

    Article  MATH  Google 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–40

  31. Pnu77

    Pnueli A (1977) The temporal logic of programs. In: FOCS, pp 46–57

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Amel Mammar.

Additional information

Michael J. Butler

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Mammar, A., Frappier, M. Proof-based verification approaches for dynamic properties: application to the information system domain. Form Asp Comp 27, 335–374 (2015). https://doi.org/10.1007/s00165-014-0323-x

Download citation

Keywords

  • Dynamic properties
  • B formal method
  • Proof
  • Property patterns