检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
机构地区:[1]School of Mathematical Sciences,Peking University [2]Department of Computer Science,University of New Mexico
出 处:《Journal of Systems Science & Complexity》2013年第3期470-482,共13页系统科学与复杂性学报(英文版)
基 金:supported by NSFC-90718041;NKBRPC-2005C B321902;China Scholarship Council in China;supported by the National Science Foundation award CCF-0729097
摘 要:Checking whether a given formula is an invariant at a given program location(especially,inside a loop) can be quite nontrivial even for simple loop programs,given that it is in general an undecidable property.This is especially the case if the given formula is not an inductive loop invariant,as most automated techniques can only check or generate inductive loop invariants.In this paper,conditions are identified on simple loops and formulas when this check can be performed automatically.A general theorem is proved which gives a necessary and sufficient condition for a formula to be an invariant under certain restrictions on a loop.As a byproduct of this analysis,a new kind of loop invariant inside the loop body,called inside-loop invariant,is proposed.Such an invariant is more general than an inductive loop invariant typically used in the Floyd-Hoare axiomatic approach to program verification.The use of such invariants for program debugging is explored;it is shown that such invariants can be more useful than traditional inductive loop invariants especially when one is interested in checking extreme/side conditions such as underflow,accessing array/collection data structures outside the range,divide by zero,etc.
关 键 词:ASSERTION Floyd-Hoare logic INVARIANT invariant generation.
分 类 号:TP311.1[自动化与计算机技术—计算机软件与理论]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:18.218.137.145