你在这里: 主页 教学 2011/2012冬季学期

2011/2012冬季学期

在本页上,您可以找到2011/2012冬季学期软件工程主席提供的所有课程以及相应的幻灯片和练习。

Softwarepraktikum(Nicht für理学学士、信息学学士和ESE理学学士)

在diesem Praktikum soll ein Softwareentwicklungsprozess中,开始于Anforderungserhebungüber Entwurfsphase bis hin zur Implementierung,是Arbeit innerhalb einer Gruppe und der Umgang mit komplexen Systemen erlernt werden的组织。在《格鲁朋与缪森》中,蒂尔内默·沃登·冯·登·贝特鲁恩(Die Teilnehmer werden von den Betreuern)表现得最为出色。Hierzu müssen sie sich selbst organieren,die Anforderungen definieren,Arbeit geschickt auf Gruppenmitglieder verteilen und neue Technologien selbstständig erlen。

Softwarepraktikum(Nicht für理学学士、信息学学士和ESE理学学士)- 阅读更多…

Java的形式化方法

最近,形式化方法已成功用于指定和验证大型软件系统。当前的一个例子是Verisoft项目,其目标是创建一个经过充分验证的处理器、操作系统和编译器。在本讲座中,我们将研究Java语言的现有方法。之所以选择Java语言,是因为它是一种成熟的语言,具有其语义的半形式化定义(Java语言规范)。然而,要使用数学推理,我们需要精确定义语义。因此,我们将概述Java操作语义的定义。此外,我们将研究Java的不同形式化方法。起点是允许按合同设计的语言扩展JML。这允许向方法添加前置和后置条件,并向类和循环添加不变量。可以在运行时检查这些断言,这是JML运行时断言检查器(jmlrac)的目的。另一方面,还有一些静态方法,例如ESC/Java和Jahob,可以自动提供数学证明,证明Java代码可以确保每个可能的前置条件的后置条件。如果无法自动找到这些证明,也可以使用定理证明器来帮助手动找到证明。在本讲座中,我们将介绍Java代码验证的不同方法。在练习中,您可以在小的实际示例中研究不同的工具。

Java的形式化方法- 阅读更多…

程序验证

计算机通常用于嵌入式、网络化、安全关键型应用程序。失败的代价很高。在本讲座中,我们将介绍自动工具的基础,以确保系统没有不良行为。在讲座中,我们首先简要介绍命题逻辑和一阶推理。然后,我们继续为程序的验证建立一个设置,程序的正确性由一种程序注释指定。在此设置中,程序的正确性降低到逻辑公式的有效性。新一代强大的推理引擎自动证明了该方法的有效性。最后,我们将验证与静态分析方法联系起来,这些方法最初是在编译器优化中开发的,并由Patrick和Radhia Cousot的抽象解释框架进行了形式化。

程序验证- 阅读更多…

静态代码分析

在经典意义上,静态分析技术用于提取有关程序可能行为的信息,而无需实际运行程序。然后,这个静态提取的信息用于揭示错误或优化代码。

静态代码分析- 阅读更多…

UML中的软件设计、建模和分析

软件和系统开发的模型驱动方法旨在解决开发过程中的质量和复杂性问题。建模语言的使用不仅用于文档编制,而且用于自动分析、测试生成和代码生成,尤其是在(安全)关键软件开发的环境中,这种使用势头越来越大。必要的先决条件是建立在语义基础上的建模语言以及用于分析的方法和工具。我们将以统一建模语言(UML)为例,演示如何根据官方标准文档为相关子语言(有时称为可执行核心)配备精确的含义。为了补充这些讨论,我们提供了对当代UML建模工具的访问,并将其用于一些练习。

UML中的软件设计、建模和分析- 阅读更多…

软件测试

本次研讨会涵盖了自动白盒测试、统计调试和随机测试领域的重要成就。

软件测试- 阅读更多…