×

基于契约的精确自动推理,用于验证和认证带有数组的程序的信息流属性。 (英语) Zbl 1260.68048号

Gordon,Andrew D.(编辑),《编程语言与系统》。2010年3月20日至28日在塞浦路斯帕福斯举行的第19届欧洲编程研讨会(ESOP 2010),是欧洲软件理论与实践联合会议(ETAPS 2010)的一部分。诉讼程序。柏林:施普林格出版社(ISBN 978-3-642-11956-9/pbk)。计算机科学课堂讲稿601243-63(2010)。
摘要:对国家和国际基础设施至关重要的嵌入式信息保证应用程序必须经常遵守要求指定和验证信息流属性的认证制度。SPARK是工程安全关键系统Ada的一个子集,用于开发多个经认证的信息保证系统。虽然SPARK提供了信息流注释和相关的自动检查机制,但行业经验表明,这些注释不够精确,无法指定许多所需的信息流策略。一个关键问题是,数组被视为不可分割的实体——只涉及数组特定位置的流必须抽象为整个数组上的流。这具有重大的实际影响,因为SPARK不允许动态分配内存,因此大量使用数组来实现复杂的数据结构。
在本文中,我们提出了信息流的Hoare逻辑,该逻辑能够在带有数组的程序中实现信息流的精确组合规范,以及在增强的SPARK信息流契约语言中用于检查和推断契约的自动演绎算法。我们展示了增强的契约的表达能力和自动化验证算法在实际嵌入式应用程序上的有效性。
有关整个系列,请参见[Zbl 1182.68003号].

MSC公司:

68甲15 编程语言理论
68纳米30 软件工程的数学方面(规范、验证、度量、需求等)
60年第68季度 规范和验证(程序逻辑、模型检查等)
68吨15 定理证明(演绎、解析等)(MSC2010)

软件:

火花
PDF格式BibTeX公司 XML格式引用
全文: 内政部