Program correctness used to be the main concern of computer software in the early days when formal semantics was a hot topic. But, the word "correct" was afterwards replaced by reliable, robust and trustworthy etc., a tradeoff situation then. This is not because correctness is no longer important, but because people found no way to get through in this direction. The tradeoff has led software engineers to focus on techniques and testing tools. Rapid development of software engineering has now reached a peak and programmers are now working freely without worrying too much about bugs, since bugs are not avoidable anyway. Is it meaningful to talk about program correctness today? Our answer is yes. It is the time to seriously consider correctness again, before it is too late, to prepare for the future. Future generation computer systems should be correct, both syntactically (statically) and semantically (dynamically). The book "OESPA: Semantic Oriented Theory of Programming" (2019) by the first author has opened a new direction for semantic study. Theoretically speaking, it is possible now, based on OESPA, to compute program semantics from program text so that program correctness could be proved. But, semantic computations and correctness proving cannot be done by hand when the size of a program is big. Automatic tools are necessary. This paper tries to lay a foundation for developing needed auto tools, so that OESPA is enriched to serve future need. To this end, a new concept named conditional semantic predicate is proposed. Concepts in OESPA, including semantic functions, semantic predicates, semantic formulas and semantic calculus, are re-represented in accordance. Such re-introduction is necessary since the book is the only publication on semantic calculus so far. The new version of semantic calculus illustrates how semantics auto-computation would be carried out.
翻译:程序正确性曾经是计算机软件的主要关注事项, 当正式语义学是一个热题的时候, 程序正确性曾经是计算机软件的主要关注事项。 但是, “ 正确性” 这个词后来被可靠、 稳健和可信赖的等词取代了, 也就是当时的权衡情况。 这不是因为正确性不再重要, 而是因为人们在这个方向上找不到任何办法。 取舍使软件工程师把注意力集中在技术和测试工具上。 软件工程的快速开发现在已经达到一个高峰, 程序设计者现在正在自由工作, 并且没有太多关于错误的担忧, 因为错误是无法避免的。 但是, 我们的答案是肯定的。 现在是认真考虑正确性的时候, 在为未来准备一个精确性概念之前。 下一代的计算机系统系统应该正确, 既在技术上( 统计学上), 也从语言上( 手动) 书是“ OESPA: 语义性奥秘性调制” (2019) 的书本会打开一个新的语义研究方向。 理论上讲, 现在有可能在 OESPA 上, 需要一个读取性读性读性文件的功能,, 需要一个包含性 程序, 在 OESPEPEPEP 程序上, 需要一个精度的解程序,, 需要一个精度的解性程序,, 需要一个真正的程序, 需要一个精准性程序, 包括 。