Relational Test Tables: A Practical Specification Language for Evolution and Security

A. Weigl, Mattias Ulbrich, Suhyun Cha, Bernhard Beckert, B. Vogel‐Heuser
{"title":"Relational Test Tables: A Practical Specification Language for Evolution and Security","authors":"A. Weigl, Mattias Ulbrich, Suhyun Cha, Bernhard Beckert, B. Vogel‐Heuser","doi":"10.1145/3372020.3391566","DOIUrl":null,"url":null,"abstract":"A wide range of interesting program properties are relational, i.e., they described a relation between two program runs. Two prominent relational properties are the regression verification (proving conditional program equivalence), and non-interference (proving the absence of information flow). The verification of relational properties is hardly accessible to engineers due to the lack of appropriate specification languages for relational properties. In previous work, we introduced the concept of generalized test tables: a table-based specification language, which allows the tight temporal specification of functional (nonrelational) properties for reactive systems. We introduce relational test tables-an extension of generalized test tables for the specification of relational properties. Relational test tables support specification of k-safety properties (a super set of relational properties) between $k\\geq 2$ program runs. We show the applicability of relational test tables by specifying and verifying change scenarios and information flow of reactive systems. We provide an implementation of the verification pipeline for programs following the IEC 61131-3 coding standard under http://github.com/VerifAPS/verifaps-lib.CCS CONCEPTS• Software and its engineering $\\rightarrow$ Software verification; Model checking; • General and reference $\\rightarrow$ Verification; • Security and privacy $\\rightarrow$ Software security engineering.","PeriodicalId":448369,"journal":{"name":"2020 IEEE/ACM 8th International Conference on Formal Methods in Software Engineering (FormaliSE)","volume":"47 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE/ACM 8th International Conference on Formal Methods in Software Engineering (FormaliSE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3372020.3391566","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

A wide range of interesting program properties are relational, i.e., they described a relation between two program runs. Two prominent relational properties are the regression verification (proving conditional program equivalence), and non-interference (proving the absence of information flow). The verification of relational properties is hardly accessible to engineers due to the lack of appropriate specification languages for relational properties. In previous work, we introduced the concept of generalized test tables: a table-based specification language, which allows the tight temporal specification of functional (nonrelational) properties for reactive systems. We introduce relational test tables-an extension of generalized test tables for the specification of relational properties. Relational test tables support specification of k-safety properties (a super set of relational properties) between $k\geq 2$ program runs. We show the applicability of relational test tables by specifying and verifying change scenarios and information flow of reactive systems. We provide an implementation of the verification pipeline for programs following the IEC 61131-3 coding standard under http://github.com/VerifAPS/verifaps-lib.CCS CONCEPTS• Software and its engineering $\rightarrow$ Software verification; Model checking; • General and reference $\rightarrow$ Verification; • Security and privacy $\rightarrow$ Software security engineering.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
关系测试表:一种用于进化和安全的实用规范语言
很多有趣的程序属性都是关系型的,也就是说,它们描述了两个程序运行之间的关系。两个突出的关系属性是回归验证(证明条件程序等价)和不干扰(证明信息流的不存在)。由于缺乏适当的关系属性规范语言,工程师很难对关系属性进行验证。在之前的工作中,我们介绍了广义测试表的概念:一种基于表的规范语言,它允许对反应性系统的功能(非关系)属性进行严格的时间规范。我们引入了关系测试表——一种用于关系属性规范的广义测试表的扩展。关系测试表支持在$k\geq 2$程序运行之间指定k-安全属性(关系属性的超集)。我们通过指定和验证响应系统的变更场景和信息流来展示关系测试表的适用性。我们在http://github.com/VerifAPS/verifaps-lib.CCS CONCEPTS•软件及其工程$\rightarrow$软件验证下,为遵循IEC 61131-3编码标准的程序提供验证管道的实现;模型校核;•一般和参考$\rightarrow$验证;•安全与隐私$\rightarrow$软件安全工程。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Security Verification of Industrial Control Systems using Partial Model Checking Towards Formally Verified Key Management for Industrial Control Systems Semantic-based Architecture Smell Analysis Verification of Privacy-Enhanced Collaborations Rule-based Word Equation Solving
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1