Precise and automated contract-based reasoning for verification and certification of information flow properties of programs with arrays

PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS(2010)

引用 18|浏览0
暂无评分
摘要
Embedded information assurance applications that are critical to national and international infrastructures, must often adhere to certification regimes that require information flow properties to be specified and verified. SPARK, a subset of Ada for engineering safety critical systems, is being used to develop multiple certified information assurance systems. While SPARK provides information flow annotations and associated automated checking mechanisms, industrial experience has revealed that these annotations are not precise enough to specify many desired information flow policies. One key problem is that arrays are treated as indivisible entities – flows that involve only particular locations of an array have to be abstracted into flows on the whole array. This has substantial practical impact since SPARK does not allow dynamic allocation of memory, and hence makes heavy use of arrays to implement complex data structures. In this paper, we present a Hoare logic for information flow that enables precise compositional specification of information flow in programs with arrays, and automated deduction algorithms for checking and inferring contracts in an enhanced SPARK information flow contract language. We demonstrate the expressiveness of the enhanced contracts and effectiveness of the automated verification algorithm on realistic embedded applications.
更多
查看译文
关键词
information flow property,automated deduction algorithm,enhanced spark information flow,automated verification algorithm,automated checking mechanism,information flow,multiple certified information assurance,automated contract-based reasoning,information flow policy,information flow annotation,information assurance application,complex data,hoare logic
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要