首页> 外文会议>International conference on Software engineering >Quickly detecting relevant program invariants
【24h】

Quickly detecting relevant program invariants

机译:快速检测相关程序不变式

获取原文

摘要

Explicitly stated program invariants can help programmers by characterizing certain aspects of program execution and identifying program properties that must be preserved when modifying code. Unfortunately, these invariants are usually absent from code. Previous work showed how to dynamically detect invariants from program traces by looking for patterns in and relationships among variable values. A prototype implementation, Daikon, accurately recovered invariants from formally-specified programs, and the invariants it detected in other programs assisted programmers in a software evolution task. However, Daikon suffered from reporting too many invariants, many of which were not useful, and also failed to report some desired invariants.

This paper presents, and gives experimental evidence of the efficacy of, four approaches for increasing the relevance of invariants reported by a dynamic invariant detector. One of them --- exploiting unused polymorphism --- adds desired invariants to the output. The other three --- suppressing implied invariants, limiting which variables are compared to one another, and ignoring unchanged values --- eliminate undesired invariants from the output and also improve runtime by reducing the work done by the invariant detector.

机译:明确指出的程序不变式可以通过描述程序执行的某些方面并确定修改代码时必须保留的程序属性来帮助程序员。不幸的是,这些不变式通常在代码中是不存在的。先前的工作展示了如何通过查找变量值中的模式以及变量值之间的关系来从程序跟踪中动态检测不变量。 Daikon的原型实现可从正式指定的程序中准确地恢复不变式,并且在其他程序中检测到的不变式可帮助程序员完成软件演化任务。但是,Daikon报告了太多的不变式,其中许多没有用,并且也未能报告某些所需的不变式。

本文介绍了动态不变检测器报告的四种增加不变性相关性的方法,并提供了其功效的实验证据。其中之一-利用未使用的多态性-将期望的不变量添加到输出中。其他三个-抑制隐式不变式,限制将哪些变量相互比较,并忽略不变的值-消除输出中不想要的不变式,并通过减少不变检测器的工作量来改善运行时间。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号