Checking Contracts in Event-B Reporting the Introduction and the Use of Automated Tools for Verifying Software-Based Systems in Higher Education

被引:0
作者
Mery, Dominique [1 ,2 ]
机构
[1] LORIA, Vandoeuvre Les Nancy, France
[2] Univ Lorraine, Vandoeuvre Les Nancy, France
来源
FORMAL METHODS TEACHING, FMTEA 2024 | 2024年 / 14939卷
关键词
Verification; Safety; Program Properties; Event-B;
D O I
10.1007/978-3-031-71379-8_6
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Verification of program properties such as partial correctness (PC) or absence of errors at runtime (RTE) applies induction principles using algorithmic techniques for checking statements in a logical framework such as classical logic or temporal logic. Alan Turing was undoubtedly the first to annotate programs, namely Turing machines, and to apply an induction principle to transition systems. Our work is placed in this perspective of verifying safety properties of programs which could be executed sequentially or in a distributed manner, with the aim of presenting them as simply as possible to student classes in the context of a posteriori verification. We report on an in vivo experiment using the Event-B language and associated tools as an assembly and disassembly platform for correcting programs in a programming language. We have adopted a contract-based approach to programming, which we are implementing with Event- B. A few examples are given to illustrate this pedagogical approach as well as comments and observations. This step is part of a process of learning both the underlying techniques and other tools such as Frama-C based on the same ideas.
引用
收藏
页码:91 / 105
页数:15
相关论文
共 24 条
[1]  
Abrial J.-R., 2003, Formal Aspects of Computing, V14, P215, DOI 10.1007/s001650300002
[2]   Rodin: An open toolset for modelling and reasoning in Event-B [J].
Abrial J.-R. ;
Butler M. ;
Hallerstede S. ;
Hoang T.S. ;
Mehta F. ;
Voisin L. .
International Journal on Software Tools for Technology Transfer, 2010, 12 (06) :447-466
[3]  
Abrial J.R., 1996, The B-Book: Assigning Programs to Meanings
[4]  
Abrial J.-R., 2010, MODELING EVENT B SYS, V1st
[5]  
Barradas H., 2020, Technical report
[6]   The Dogged Pursuit of Bug-Free C Programs: The Frama-C Software Analysis Platform [J].
Baudin, Patrick ;
Bobot, Francois ;
Buhler, David ;
Correnson, Loic ;
Kirchner, Florent ;
Kosmatov, Nikolai ;
Maroneze, Andre ;
Perrelle, Valentin ;
Prevosto, Virgile ;
Signoles, Julien ;
Williams, Nicky .
COMMUNICATIONS OF THE ACM, 2021, 64 (08) :56-68
[7]  
Catano N., 2012, Proceedings 2012 2nd International Workshop on Developing Tools as Plug-ins (TOPI 2012), P49, DOI 10.1109/TOPI.2012.6229810
[8]  
Clarke E. M., 1983, P 10 ANN S PRINCIPLE, P117, DOI [10.1145/567067, DOI 10.1145/567067.567080]
[9]  
ClearSy, 2022, B Language reference manual
[10]  
Cousot P., 1982, Tools & Notions for Program Construction: An Advanced Course, P75