咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >Verifying Catamorphism-Based C... 收藏

Verifying Catamorphism-Based Contracts using Constrained Horn Clauses

作     者:De Angelis, Emanuele Proietti, Maurizio Fioravanti, Fabio Pettorossi, Alberto 

作者机构:CNR IASI Rome Italy Univ G dAnnunzio DEc Pescara Italy Univ Roma Tor Vergata DICII Rome Italy 

出 版 物:《THEORY AND PRACTICE OF LOGIC PROGRAMMING》 (逻辑程序设计理论与实践)

年 卷 期:2022年第22卷第4期

页      面:555-572页

核心收录:

学科分类:08[工学] 0835[工学-软件工程] 0701[理学-数学] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

主  题:specification analysis and verification of systems security constraints theory 

摘      要:We address the problem of verifying that the functions of a program meet their contracts, specified by pre/postconditions. We follow an approach based on constrained Horn clauses (CHCs) by which the verification problem is reduced to the problem of checking satisfiability of a set of clauses derived from the given program and contracts. We consider programs that manipulate algebraic data types (ADTs) and a class of contracts specified by catamorphisms, that is, functions defined by simple recursion schemata on the given ADTs. We show by several examples that state-of-the-art CHC satisfiability tools are not effective at solving the satisfiability problems obtained by direct translation of the contracts into CHCs. To overcome this difficulty, we propose a transformation technique that removes the ADT terms from CHCs and derives new sets of clauses that work on basic sorts only, such as integers and booleans. Thus, when using the derived CHCs there is no need for induction rules on ADTs. We prove that the transformation is sound, that is, if the derived set of CHCs is satisfiable, then so is the original set. We also prove that the transformation always terminates for the class of contracts specified by catamorphisms. Finally, we present the experimental results obtained by an implementation of our technique when verifying many non-trivial contracts for ADT manipulating programs.

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分