Java的形式化方法(讲座)
最近,形式化方法已成功用于指定和验证大型软件系统。当前的一个例子是Verisoft项目,其目标是创建一个经过充分验证的处理器、操作系统和编译器。在本讲座中,我们将研究Java语言的现有方法。之所以选择Java语言,是因为它是一种成熟的语言,具有其语义的半形式化定义(Java语言规范)。然而,要使用数学推理,我们需要精确定义语义。因此,我们将概述Java操作语义的定义。此外,我们将研究Java的不同形式化方法。起点是允许按合同设计的语言扩展JML。这允许向方法添加前置和后置条件,并向类和循环添加不变量。可以在运行时检查这些断言,这是JML运行时断言检查器(jmlrac)的目的。另一方面,还有一些静态方法,例如ESC/Java和Jahob,可以自动提供数学证明,证明Java代码可以确保每个可能的前置条件的后置条件。如果不能自动找到这些证明,也可以使用定理证明器来帮助手动找到证明。在本讲座中,我们将介绍Java代码验证的不同方法。在练习中,您将在小的实际示例中研究不同的工具。
课程类型 |
讲座 |
---|
讲师 |
Jochen Hoenicke公司
|
---|
讲座 |
星期二,16:00–18:00 c.t.,106号楼00 007室(MMR) 星期五上午10:00-11:00,106号楼00 007室(MMR) |
---|
练习 |
星期五,11:00–12:00,106号楼00 007室(MMR) |
---|
第一次会议 |
讲座23.10.12
|
---|
教学语言 |
英语 |
---|
信用 |
6 |
---|
考试 |
欧乐,2013年3月6日,052号楼,00-017室 |
---|
课程目录 |
福尔马利法 |
---|
新闻
- 文件的新版本优先级队列.java已上载完整注释。这包括JMLTools中错误的解决方法。
- 2013年1月11日,星期五,我们将有两个小时的教程来讨论圣诞表。本教程将由Jochen Hoenicke主持。请将您的解决方案发送给他(参见表上的送货单)。
- 教员们从笔试评估转向了新的评估在线评估系统。请在1月28日至2月8日期间使用此系统,为我们提供讲座反馈。您需要RAS登录才能访问系统。这些页面有德语和英语版本。请注意,即使您必须登录系统,您对问题的回答也将是完全匿名的。
福尔马利亚
入学标准
你必须做所有的练习。
练习提交方案
每周二上课前。
考试
将会有口试。考试日期稍后公布。
请像往常一样通过考试办公室注册。资源
文献和网络资源
幻灯片和其他材料
练习