【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和时间合同语言,并报告了在Racket中实施这些合同的经验和绩效结果。我们的开发将模块行为形式化为事件的痕迹,例如函数调用和返回。我们的合同系统既提供了非干扰性(合同不能影响正确的执行),又提供了完整性的概念(合同可以在事件跟踪中强制执行任何可确定的,前缀封闭的谓词)。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号