Verification of C Programs using Annotations

S. Sriya, L. Lavanya, Aditi M. Manohar, N. S. Kumar
{"title":"Verification of C Programs using Annotations","authors":"S. Sriya, L. Lavanya, Aditi M. Manohar, N. S. Kumar","doi":"10.1109/T4E.2019.00-41","DOIUrl":null,"url":null,"abstract":"In the rapidly-changing modern world, computer programming and software engineering hold tremendous significance. Technology is neither good nor evil but in the right hands, they can provide powerful benefits to the society. Therefore, the need to write correct programs has become very crucial in the current world. The absolute correctness of a program can be proven by testing dynamically using well-defined test cases, but testing can never show the absence of errors and is largely impractical for programs with no bounded input range. Hence, proving a program's correctness at compile time still remains a challenge. A more theoretical and feasible approach of checking the correctness of a program is by using logical reasoning and mathematical proofs. This paper delves into checking the correctness of a C program by converting the given C code to an equivalent code in Dafny, a static-program verifier created by Microsoft Research. Dafny was designed to provide a simple introduction to formal verification and it has been extensively used to verify some challenging algorithms.","PeriodicalId":347086,"journal":{"name":"2019 IEEE Tenth International Conference on Technology for Education (T4E)","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE Tenth International Conference on Technology for Education (T4E)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/T4E.2019.00-41","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

In the rapidly-changing modern world, computer programming and software engineering hold tremendous significance. Technology is neither good nor evil but in the right hands, they can provide powerful benefits to the society. Therefore, the need to write correct programs has become very crucial in the current world. The absolute correctness of a program can be proven by testing dynamically using well-defined test cases, but testing can never show the absence of errors and is largely impractical for programs with no bounded input range. Hence, proving a program's correctness at compile time still remains a challenge. A more theoretical and feasible approach of checking the correctness of a program is by using logical reasoning and mathematical proofs. This paper delves into checking the correctness of a C program by converting the given C code to an equivalent code in Dafny, a static-program verifier created by Microsoft Research. Dafny was designed to provide a simple introduction to formal verification and it has been extensively used to verify some challenging algorithms.
使用注解的C程序验证
在瞬息万变的现代社会,计算机编程和软件工程有着巨大的意义。技术既不是善也不是恶,但在正确的人手中,它们可以为社会提供强大的利益。因此,编写正确的程序在当今世界变得非常重要。程序的绝对正确性可以通过使用定义良好的测试用例进行动态测试来证明,但是测试永远无法显示错误的缺失,而且对于没有限定输入范围的程序来说,测试在很大程度上是不切实际的。因此,在编译时证明程序的正确性仍然是一个挑战。检验程序正确性的一种更具理论性和可行性的方法是使用逻辑推理和数学证明。本文通过将给定的C代码转换为Dafny中的等效代码来检查C程序的正确性,Dafny是微软研究院创建的静态程序验证器。Dafny旨在提供形式化验证的简单介绍,它已被广泛用于验证一些具有挑战性的算法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信