【24h】

Temporal Higher-Order Contracts

机译:时间高阶合同

获取原文

摘要

Behavioral contracts are embraced by software engineers because they document module interfaces, detect interface violations, and help identify faulty modules (packages, classes, functions, etc). This paper extends prior higher-order contract systems to also express and enforce temporal properties, which are common in software systems with imperative state, but which are mostly left implicit or are at best informally specified. The paper presents both a programmatic contract API as well as a temporal contract language, and reports on experience and performance results from implementing these contracts in Racket. Our development formalizes module behavior as a trace of events such as function calls and returns. Our contract system provides both non-interference (where contracts cannot influence correct executions) and also a notion of completeness (where contracts can enforce any decidable, prefix-closed predicate on event traces).
机译:软件工程师采用行为合同,因为它们记录了模块接口,检测接口违规,以及帮助识别错误的模块(包,类,功能等)。本文扩展了先前的高阶合同系统,也可以表达和强制执行时间特性,这些属性在具有命令势在必行状态的软件系统中常见,但主要是隐式的或者最佳非正式地指定。本文介绍了方案合同API以及临时合同语言,并报告了在球拍中实施这些合同的经验和绩效结果。我们的开发将模块行为正式列为函数调用等迹象,如函数调用和返回。我们的合同系统提供了非干扰(合同无法影响正确执行的合同)以及完整性的概念(合同可以在事件迹线上强制执行任何可解除的前缀封闭的谓词)。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号