你在这里: 主页 教学 2018/19年冬季学期 项目分析(研讨会)

项目分析

程序分析是研究计算机程序自动分析的研究领域。在这一研究领域中开发的方法,例如,帮助程序员理解复杂的程序,允许编译器优化其代码,并使计算机能够检查程序的正确性。在这个研讨会上,每个学生将学习一篇研究论文,并做一次演讲,在演讲中他/她将对论文进行总结。
课程类型 研讨会
讲师 亚历山大·纳茨(组织事务联系人),
Andreas Podelski教授,Daniel Dietsch博士
启动会议
10月18日星期四,下午13:00,052号楼,00-016室
演示文稿语言
英语
信用
4
课程目录 程序分析
谈话日期:
12月4日、11日和18日,星期二,16-18 c.t。
会谈空间:
101号楼01-016室

新闻和公告

  • (2018年10月30日):指定主题、主管和评审员。制定时间表。(见下文)
  • (2018年10月18日):如果您想参加,请发送电子邮件至亚历山大·纳茨至下周四(2018年10月25日)。电子邮件应包含
    • 您喜欢的主题。请至少给出三个。你可以优先考虑。
    • 您的每周研讨会的首选时间段。选择是16-18号星期二和星期三12-14。你能同时参加吗?其中一个?都没有?
    • 如果你有什么偏好的话,比如“一开始就做”或“越晚越好”,我们会尽量做到容纳他们。

在我们收到您的愿望后,我们将分配主题并设置所有截止日期和会谈的日期。所有这些都将被宣布在这个网站上。如果您有问题或希望,请给我们写一封电子邮件。 

从星期六(20.10.)起,所有可用主题的描述都应在该网站上在线。

    • 我们确定了启动会议的时间(见上文)。

    研讨会进程

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

    会谈建议

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

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

    演讲摘要

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

    谈话

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

    审查提案

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

    等级

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

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

    话题

    研讨会演讲和话题。几个学生可以就同一主题进行演讲,但要出席不同方面。推荐的文献应该会给你第一次主题印象。我们合作分配准确的文献在你陈述了你对这个主题的偏好之后。更多的文献并不意味着更多的阅读,只是更多的选择。出现的顺序大致代表了主题的呈现顺序。

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

    一些论文只能通过我们的网络获得大学(例如,通过vpn)。如果您在访问报纸,请问我们。

     

    检查验证条件

    当程序用(合适的)循环不变量注释时,验证问题可以简化为将验证条件传递给(一阶)定理证明器。要做到这一点,有好的方法,也有坏的方法。
    • 谈话:Merve
    • 监督人:丹尼尔
    • 评审人:Ioannis,Dennis
    • 时隙:A

     

    谓词抽象

    抽象是一种技术,它省略了程序行为的细节,以减少为了验证程序而必须推理的状态空间。抽象可以用逻辑谓词(公式)来表征。
    • 谈话:丹尼斯
    • 监督人:Podelski教授
    • 审核人:Jonas,Diaa
    • 时隙:A


    插值

    程序验证的一个主要困难是找到合适的循环不变量。克雷格插值(Craig interpolation)是一种技术,它可以通过分析程序的给定抽象为何过于粗糙来提供良好的候选公式。

    citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.84.4733&rep=rep1…pdf

    • 谈话:乔纳斯
    • 监督人:亚力山大
    • 审核人:Diaa、Merve
    • 时隙:B

     

    基于自动的模型检查

    使用(有限)自动机将软件模型检查问题分解为较小的问题。中使用的方法终极Automizer.

    喜欢Automata的人的软件模型检查

    • 谈话:Ioannis
    • 监督人:丹尼尔
    • 审核人:Dennis,Jonas
    • 时隙:B

     

    回路收缩

    包含数组的循环尤其难以验证。有时,并非所有阵列更新都必须考虑进行验证。循环收缩试图通过仅更新代表性数组单元来显著减少循环迭代。

    使用循环收缩的属性检查数组程序

    • 谈话:Diaa
    • 监督人:丹尼尔
    • 评审人:Merve,Ioannis
    • 时隙:C

    地铁列车时刻表

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

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

    下表包含各组的截止日期。拜托请注意,“审查”代表特定项目的审查截止日期小组的建议。例如,如果你正在评审B组中的某人,你应该在(待定)收到提案,并在(待办)发回你的评审(最迟,越早越好)——无论你自己的主题在哪一组。

     
    日期 建议书 审查 幻灯片 谈话
    13.11.2018
    A类



    20.11.2018 B类
    A类


    27.11.2018 C类
    B类
    A类

    04.12.2018
    C类
    B类
    A类
    11.12.2018

    C类
    B类
    18.12.2018


    C类

    附加材料

    这里是上学期的开场白。[幻灯片] [视频]