This work proposes a Prolog-dialect for the found and prioritised problems on expressibility and automation. Given some given C-like program, if dynamic memory is allocated, altered and freed on runtime, then a description of desired dynamic memory is a heap specification. The check of calculated memory state against a given specification is dynamic memory verification. This contribution only considers formal specification and verification in a Hoare calculus. Issues found include: invalid assignment, (temporary) unavailable data in memory cells, excessive memory allocation, (accidental) heap alteration in unexpected regions and others. Excessive memory allocation is nowadays successfully resolved by memory analysers like Valgrind. Essentially, papers in those areas did not bring any big breakthrough. Possible reasons may also include the decrease of tension due to more available memory and parallel threads. However, starting with Apt, problems related to variable modes have not yet been resolved -- neither entirely nor in an acceptable way. Research contributions over the last decades show again and again that heap issues remain and remain complex and still important. A significant contribution was reached in 2016 by Peter O'Hearn, who accepted the G\"{o}del prize for his parallel approach on a spatial heap operation.
翻译:这项工作建议对已发现和优先的显像性和自动化问题进行剖析。 鉴于某些给定的C类程序, 如果在运行时分配、修改和释放动态记忆, 那么描述理想的动态记忆将是一个大块规格。 对照给定的规格检查计算好的记忆状态是动态记忆核查。 此贡献只考虑Hoare微积分中的正式规格和核查。 发现的问题包括: 无效分配、 (临时) 记忆细胞中无法获取的数据、 过度的记忆分配、 (意外) 意外区域和其他区域中的大量变化。 过度的记忆分配目前由Valgrind这样的记忆分析师成功解决。 基本上, 这些地区的论文并没有带来任何重大突破。 可能的原因还包括由于更多的记忆和平行线而导致的紧张程度降低。 但是, 从Apt开始, 与不同模式有关的问题还没有得到解决, 既不完全也不以可接受的方式解决。 过去几十年的研究贡献再次表明, 堆积问题仍然存在, 并且仍然复杂和重要。 彼得· 赫恩在2016年接受了他的空间操作奖获得的彼得· 。