首页> 外文会议>International Conference on Verified Software: Theories, Tools and Experiments >A Formally Verified Interpreter for a Shell-Like Programming Language
【24h】

A Formally Verified Interpreter for a Shell-Like Programming Language

机译:类似于Shell的编程语言的经过正式验证的解释程序

获取原文

摘要

The shell language is widely used for various system administration tasks on UNIX machines, as for instance as part of the installation process of software packages in FOSS distributions. Our mid-term goal is to analyze these scripts as part of an ongoing effort to use formal methods for the quality assurance of software distributions, to prove their correctness, or to pinpoint bugs. However, the syntax and semantics of POSIX shell are particularly treacherous. We propose a new language called CoLiS which, on the one hand, has well-defined static semantics and avoids some of the pitfalls of the shell, and, on the other hand, is close enough to the shell to be the target of an automated translation of the scripts in our corpus. The language has been designed so that it will be possible to compile automatically a large number of shell scripts into the CoLiS language. We formally define its syntax and semantics in Why3, define an interpreter for the language in the WhyML programming language, and present an automated proof in the Why3 proof environment of soundness and completeness of our interpreter with respect to the formal semantics.
机译:Shell语言被广泛用于UNIX计算机上的各种系统管理任务,例如,作为FOSS发行版中软件包安装过程的一部分。我们的中期目标是分析这些脚本,这是我们为使用正式方法来确保软件分发的质量而进行的不懈努力的一部分,以证明其正确性或查明错误。但是,POSIX Shell的语法和语义特别危险。我们提出了一种称为CoLiS的新语言,该语言一方面具有定义明确的静态语义,并且避免了一些Shell陷阱,另一方面又与Shell足够接近,可以成为自动化的目标。我们语料库中脚本的翻译。对语言进行了设计,以便可以将大量的Shell脚本自动编译为CoLiS语言。我们在Why3中正式定义其语法和语义,在WhyML编程语言中定义该语言的解释器,并在我们的解释器相对于形式语义的健全性和完整性的Why3证明环境中提供自动证明。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号