你在这里: 主页 教学 2020/21年冬季学期 程序中的高级主题…

程序分析高级主题

程序分析是研究计算机程序自动分析的研究领域。在这一研究领域中开发的方法,例如,帮助程序员理解复杂的程序,允许编译器优化其代码,并使计算机能够检查程序的正确性。在这个研讨会上,每个学生将学习一篇研究论文,并做一次演讲,在演讲中他/她将对论文进行总结。
课程类型 研讨会
讲师 Matthias Heizmann博士(组织)
Andreas Podelski教授
软件工程小组成员
启动会议 11月6日星期五下午14:00伊利亚斯电子学习系统中的虚拟教室
演示文稿语言 英语
信用 4
课程目录 程序分析高级主题
谈话日期: 2021年1月29日星期五、2021年2月5日星期五和2021年12月12日星期五,每晚14:00 c.t。
会谈空间: 伊利亚斯电子学习系统中的虚拟教室

新闻和公告

 

研讨会进程

  • 您将参加启动会议,我们将在会上介绍可用的主题。请提前交上您最喜欢的主题。
  • 您可以联系讲师以获取主题。你可以自己提出一个主题,从建议的主题中选择一个,或者在与上司的讨论中找到一个适合你的主题。
  • 您与您的主管举行了一次会议,我们在会上讨论了相关文献,并对您的演讲进行了粗略的概述(截止日期:演讲前四周)。
  • 你写一份提案,解释你要在演讲中陈述的内容,并附上演讲摘要。你通过电子邮件向你的主管提交摘要和提案(截止日期:演讲前三周)。
  • 您的提案由您的主管和其他两名参与者审查。
  • 你写两篇关于其他参与者提案的评论,并通过电子邮件发送给主管(截止日期:收到提案后一周)。
  • 您将收到对您的提案的评论(截止日期:演讲前两周)。
  • 您可以通过电子邮件向主管提交幻灯片(截止日期:演讲前一周)。
  • 你和你的上司开了一次会议,在会上你可以获得幻灯片的反馈。
  • 你做了30分钟的演讲。
  • 你参加了所有其他参与者的演讲。

谈话建议

提案应该由大约五页组成,你在其中解释你将要在演讲中介绍的内容。例如,提案可能包括:

  • 评审员简要概述(评审员可能不知道您的主题)
  • 你演讲的结构
  • 你所呈现的主题的方面(为什么?)和忽略的方面(为何?)
  • 演讲中出现的例子(为什么会出现这些例子?是否有一个可用于演示的运行示例?)
  • 哪些定义是正式提出的?(为什么?),刚才非正式地提到了哪些定义?(为什么?)
  • 使用哪种符号?(为什么?)
  • 提出了哪些定理,哪些定理将被证明(为什么?),哪些证明将被省略(为什么?

演讲摘要

  • 一段话,总结你在演讲中的表现
  • 我们将向所有学生和主席发出研讨会邀请。这份邀请函包含了所有会谈的摘要。

谈话

  • 你演讲的目的是让听众(硕士生,一般熟悉计算机科学,可能没有该主题的专家)有可能学习有关有趣主题的新知识。你实现这个目标的程度将决定你演讲的等级。
  • 在研讨会上,你必须表明你能够向其他人介绍一些主题。你不必展示自己对主题的理解程度。你对主题的理解程度对你的成绩没有直接影响,只有你向观众介绍主题的程度。
  • 您可以使用和复制任何信息来源(但不要忘记引用它)。如果你认为你的演讲只是针对听众的现有演讲的“混音”,那么你可能做得很好。但不要让自己被网络上结构合理、花哨的演讲所愚弄,每一次演讲都是针对特定的观众而定制的。
  • 如果你同意,我们会把你的幻灯片放在这个网站上。请记住,如果您在幻灯片中复制了图像,这可能不再可能(版权限制)。当然,无论我们是否发布您的幻灯片,都不会对您的成绩产生任何影响。

审查提案

  • 根据提议对谈话做一个简短的总结(从一开始就发现误解)。
  • 对你的批评要宽容。学生不太可能因为你在他/她的提案中透露了一些问题而得到糟糕的分数。然而,如果学生能够通过你的复习解决演讲中的问题,他/她很可能会得到更好的分数。
  • 给出你批评的理由(例如,“不可能理解引理2,因为术语foo没有解释。”)。你也可以给出你的个人观点,如果你这样做了,就把它们标记下来(例如,“定理1很难理解,我认为你应该先举个例子。”)。
  • 以下问题可能有助于撰写您的评论
提案是否写得足够好,可读性强?
提案的外观和结构是否合适?
演讲的可理解性是否有相关的例子和数字支持?
提议的谈话结构合理且平衡吗?
作者提出的所有主张都正确吗?
关于演示的推理线是否完整准确?
提交人是否有效地为自己的案件辩护?
作者是否使用常用的符号和术语?你会在哪里提出不同的建议?
作者的日程安排合理吗?你认为演讲适合30分钟的时间吗?

等级

你的总成绩将按照以下比例组成。

  • 你的提案得分为10%
  • 20%的评论评分
  • 70%的演讲成绩

话题

研讨会演讲和主题之间没有一对一的对应关系。几个学生可以就同一主题进行演讲,但呈现不同的方面。推荐的文献应该能给你对主题的第一印象。在您陈述了您对主题的偏好后,我们与您合作指定了确切的文献。更多的文献并不意味着更多的阅读,只是更多的选择。出现的顺序大致代表了主题的呈现顺序。

如果有要求,也可以两人一组介绍一些主题。

有些论文只能通过我们大学的网络获得(例如,通过vpn)。如果您在访问这些文件时遇到问题,请咨询我们。

  

 

约束Horn子句

我们可以将验证问题归结为约束Horn子句的可满足性问题。

从证明规则合成软件验证程序

  • 对话:米兰
  • 主管:Matthias Heizmann
  • 审核人:Max、Miriam
  • 时隙:B

检查验证条件

当程序用(合适的)循环不变量注释时,验证问题可以简化为将验证条件传递给(一阶)定理证明器。要做到这一点,有好的方法,也有坏的方法。

非结构化程序的最弱前置条件

 

简化逻辑公式

给出一个逻辑公式,找出一个等价但尺寸较小的公式。

大型程序的小公式:可扩展静态分析中的在线约束简化

  • 谈话:易卜拉欣
  • 主管:Matthias Heizmann
  • 审核人:米兰利昂
  • 时隙:A
 

危险不变量

查找仅在长时间执行程序时发生的Bug。

危险不变量

  • 谈话:Janek
  • 主管:Matthias Heizmann
  • 审查人:易卜拉欣、利昂
  • 时隙:A
 

部分订单减少

并发程序的有效分析。

动态部分降阶

  • 谈话:Mehdi
 

线程数无限的并发程序

并发程序的有效分析。

多层次的线程模块化:组成验证中的一颗明珠(如有要求,可提供副本)
 

回路收缩

分析操作数组的循环。

  • 谈话:米里亚姆
  • 主管:Matthias Heizmann
  • 审核人:Janek,Mehdi
  • 时隙:B
 

地铁列车时刻表

每个主题/演讲都将分配一个槽字母(a、B、C)。

每个研讨班学生都必须为上述指定的其他学生。

下表包含各组的截止日期。请注意,“审查”代表特定小组提案的审查截止日期。例如,如果你正在审查B组中的某个人,你应该在(tbd)收到提案,并在(tbd)发回你的审查(最晚,越早对你的审查对象越好)——无论你自己的主题在哪个组。

 

日期建议书审查幻灯片谈话
2021年1月8日 A类
15.01.2021 B类 A类
22.01.2021 C类 B类 A类
29.01.2021 C类 B类 A类
05.02.2021 C类 B类
12.02.2021 C类
 
 

未分配的主题

 

量词消除

给定一个逻辑公式,找到一个等价的无量词公式。

HOL中作为派生规则的完整整数决策过程
  • 谈话:待定
  • 主管:Matthias Heizmann
  • 审核人:待定
  • 时隙:待定
 

环路加速度

计算循环的转换关系的传递闭包。

模环加速度的微积分

  • 谈话:待定
  • 主管:Matthias Heizmann
  • 审核人:待定
  • 时隙:待定

谓词抽象

抽象是一种技术,它省略了程序行为的细节,以减少为了验证程序而必须推理的状态空间。抽象可以用逻辑谓词(公式)来表征。

用于程序验证的谓词抽象