file-type

DeepSpec暑期学校2017讲义:Coq实践与验证技术

ZIP文件

下载需积分: 9 | 17.97MB | 更新于2024-12-12 | 108 浏览量 | 0 下载量 举报 收藏
download 立即下载
1. Coq证明助手的深入应用 Coq是一种形式化证明的工具,用于对数学证明、程序语言理论等领域进行形式化验证。DeepSpec暑期学校提供的讲义中涉及到Coq在理论和实践中的深入应用,包括在Coq Intensive中使用Coq进行证明的过程。参与者将学习如何使用Coq来构建和验证算法,以及如何将复杂程序的性质形式化表达并加以证明。 2. 经过验证的功能算法 在讲义中,“经过验证的功能算法”课程强调了在编译器设计和操作系统设计中使用形式化方法的重要性。通过结合理论和实践,课程旨在教授学生如何验证软件的功能性。这部分内容可能包括了对算法正确性的严格证明,以及如何构建能够保持其功能性的系统。 3. 带有崩溃的认证软件 认证软件是指经过形式化验证其正确性的软件。在讲义中,涉及到的材料包括如何处理软件中的崩溃问题,并对软件进行认证。这部分内容可能覆盖了如何处理内存管理错误,以及如何在软件设计中引入形式化验证来确保程序的鲁棒性。 4. 语言规范和变量绑定 在计算机科学中,语言规范和变量绑定是构建编程语言的关键部分。Stlc(简单类型Lambda演算)是一种广泛用作教学语言的编程模型。讲义中的这部分内容可能涉及如何使用形式化方法来描述编程语言中的类型系统和变量绑定规则,以及如何使用Metalib这样的库来支持Stlc的构建和验证。 5. 经过验证的编译器的结构 编译器是将一种编程语言代码转换为另一种编程语言代码的程序。一个经过验证的编译器能够保证编译过程的正确性,这意味着生成的目标代码与源代码在语义上等价。讲义中提供的材料包括如何设计和构建经过验证的编译器,以及其结构和验证过程中的关键步骤。 6. 使用QuickChick进行基于属性的随机测试 QuickChick是基于QuickCheck工具的属性测试库,它可以在Coq中用来对程序的属性进行随机测试。这部分材料可能包括如何利用QuickChick来验证软件属性,以及如何使用基于属性的测试方法来发现潜在的错误和提高代码质量。 7. Vellvm:验证LLVM Vellvm是一种针对LLVM编译器基础设施进行形式化验证的工具。LLVM是广泛使用的编译器后端,其设计目标是能够在多个语言之间共享编译器的中间表示。在讲义中,这部分内容可能涉及如何验证LLVM中间表示和优化的正确性,以及如何确保这些过程不会引入错误。 8. CAL的“带有崩溃的认证软件”材料 CAL(Correct and Accurate Logging)是关于如何在软件中实现准确和经过认证的日志记录系统的材料。这部分讲义可能包含如何设计和验证日志记录系统的正确性,以及如何确保崩溃恢复后日志系统的完整性和准确性。 综上所述,DeepSpec暑期学校2017的讲义覆盖了形式化验证技术在多个领域的应用,包括软件验证、编译器设计、属性测试和编译器基础设施等。这些内容对于希望深入了解软件安全、系统可靠性和编程语言理论的开发者和技术人员来说具有极高的参考价值。

相关推荐

皂皂七虫
  • 粉丝: 27
上传资源 快速赚钱

资源目录

DeepSpec暑期学校2017讲义:Coq实践与验证技术
(1752个子文件)
_CoqProject 8B
cnf.c 162KB
graph.c 11KB
dfgparser.c 122KB
iaparser.c 48KB
eval.c 16KB
doc-proof.c 9KB
rules-sort.c 59KB
lzdecode.c 10KB
AUTHORS 585B
rules-inf.c 145KB
tableau.c 28KB
lzwmain.c 8KB
binops 4KB
subsumption.c 55KB
chomp.c 12KB
arcode.c 32KB
options.c 59KB
unify.c 26KB
rpos.c 19KB
alignas 442B
clock.c 7KB
lzwdecode.c 10KB
dfgscanner.c 151KB
mainalmabench.c 8KB
siphash24.c 8KB
lzencode.c 11KB
bitfields6 12B
order.c 18KB
subst.c 20KB
builtins-powerpc 782B
almabench 423B
armain.c 8KB
_CoqProject 9B
rules-ur.c 15KB
almabench.c 13KB
bitfields4 188B
clause.c 151KB
rules-split.c 18KB
memory.c 54KB
bool 60B
bitfields5 74B
renaming.c 50KB
partition.c 9KB
_CoqProject 8B
symbol.c 33KB
aes.c 64KB
_CoqProject 97B
st.c 45KB
bisect.c 9KB
attribs1 148B
builtins-arm 280B
aes 150B
bitfields2 77B
table.c 16KB
bitfile.c 33KB
closure.c 14KB
iascanner.c 49KB
_CoqProject 289B
lzwencode.c 15KB
term.c 72KB
sort.c 68KB
context.c 19KB
analyze.c 30KB
intersect.c 11KB
test_int64.c 7KB
bitfields9 322B
lzssmain.c 9KB
search.c 46KB
bitfields1 69B
floats.c 878KB
alias 80B
binarytrees 336B
_CoqProject 132B
strings.c 11KB
_CoqProject 560B
component.c 9KB
interop1.c 7KB
foldfg.c 76KB
rules-red.c 151KB
sharing.c 35KB
bitfields3 38B
flags.c 30KB
optlist.c 9KB
_CoqProject 207B
knucleotide.c 8KB
proofcheck.c 46KB
top.c 58KB
_CoqProject 12B
builtins-x86 488B
_CoqProject 67B
bitfields7 12B
bisect 373B
kbo.c 19KB
mainaes.c 38KB
defs.c 45KB
terminator.c 13KB
lzhash.c 13KB
list.c 48KB
bitfields8 70B
共 1752 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 18