Proving refinement transformations for deriving high-assurance software

V. Winter, J. M. Boyle
{"title":"Proving refinement transformations for deriving high-assurance software","authors":"V. Winter, J. M. Boyle","doi":"10.1109/HASE.1996.618567","DOIUrl":null,"url":null,"abstract":"The construction of a high-assurance system requires some evidence, ideally a proof, that the system as implemented will behave as required. Direct proofs of implementations do not scale up well as systems become more complex and therefore are of limited value. In recent years, refinement-based approaches have been investigated as a means to manage the complexity inherent in the verification process. In a refinement-based approach, a high-level specification is converted into an implementation through a number of refinement steps. The hope is that the proofs of the individual refinement steps will be easier than a direct proof of the implementation. However, if stepwise refinement is performed manually, the number of steps is severly limited, implying that the size of each step is large. If refinement steps are large, then proofs of their correctness will not be much easier than a direct proof of the implementation. We describe an approach to refinement-based software development that is based on automatic application of refinements, expressed as program transformations. This automation has the desirable effect that the refinement steps can be extremely small and, thus, easy to prove correct. We give an overview of the TAMPR transformation system that we use for automated refinement. We then focus on some aspects of the semantic framework that we have been developing to enable proofs that TAMPR transformations are correctness preserving. With this framework proofs of correctness for transformations can be obtained with the assistance of an automated reasoning system.","PeriodicalId":129829,"journal":{"name":"Proceedings. IEEE High-Assurance Systems Engineering Workshop (Cat. No.96TB100076)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1996-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. IEEE High-Assurance Systems Engineering Workshop (Cat. No.96TB100076)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HASE.1996.618567","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13

Abstract

The construction of a high-assurance system requires some evidence, ideally a proof, that the system as implemented will behave as required. Direct proofs of implementations do not scale up well as systems become more complex and therefore are of limited value. In recent years, refinement-based approaches have been investigated as a means to manage the complexity inherent in the verification process. In a refinement-based approach, a high-level specification is converted into an implementation through a number of refinement steps. The hope is that the proofs of the individual refinement steps will be easier than a direct proof of the implementation. However, if stepwise refinement is performed manually, the number of steps is severly limited, implying that the size of each step is large. If refinement steps are large, then proofs of their correctness will not be much easier than a direct proof of the implementation. We describe an approach to refinement-based software development that is based on automatic application of refinements, expressed as program transformations. This automation has the desirable effect that the refinement steps can be extremely small and, thus, easy to prove correct. We give an overview of the TAMPR transformation system that we use for automated refinement. We then focus on some aspects of the semantic framework that we have been developing to enable proofs that TAMPR transformations are correctness preserving. With this framework proofs of correctness for transformations can be obtained with the assistance of an automated reasoning system.
为获得高保证软件证明精化转换
高保证系统的构建需要一些证据,理想情况下是一个证明,即系统的实现将按照要求运行。当系统变得更复杂时,实现的直接证明不能很好地扩展,因此价值有限。近年来,人们研究了基于细化的方法作为管理验证过程中固有复杂性的一种手段。在基于细化的方法中,通过许多细化步骤将高级规范转换为实现。希望对单个细化步骤的证明将比对实现的直接证明更容易。但是,如果手动执行逐步细化,则步骤的数量受到严重限制,这意味着每个步骤的大小都很大。如果细化步骤很大,那么证明其正确性并不比直接证明实现容易得多。我们描述了一种基于细化的软件开发方法,它基于细化的自动应用,表示为程序转换。这种自动化具有理想的效果,即细化步骤可以非常小,因此很容易证明是正确的。我们给出了用于自动细化的TAMPR转换系统的概述。然后,我们将重点关注语义框架的一些方面,我们一直在开发这些方面,以便证明TAMPR转换是保持正确性的。有了这个框架,可以在自动推理系统的帮助下获得转换正确性的证明。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信