通过像 coq 一样证明程序正确性来解决内存管理问题?
Solve the memory management problems by proving program correctness like with coq?
我只是想问一下是否有可能构造一种语言,其类型系统可以通过自动尝试解决内存管理问题(内存泄漏、悬垂指针、双 free()
等)证明任何程序的正确性,其类型作为命题,例如使用集成的类似 coq 的定理证明器(在程序作为证明的思维方式中)?
这种方法是否存在基本的逻辑问题(可能是停止问题?)还是只是不可行?感谢您的任何回答,很抱歉我对这个领域不是很精通,只是出于好奇想知道 ;)
是的,对执行编译时内存管理的语言进行了大量研究。 Rust 及其所有权模型是该领域最引人注目的行业语言。您可能总是想查看“linear types”。
我只是想问一下是否有可能构造一种语言,其类型系统可以通过自动尝试解决内存管理问题(内存泄漏、悬垂指针、双 free()
等)证明任何程序的正确性,其类型作为命题,例如使用集成的类似 coq 的定理证明器(在程序作为证明的思维方式中)?
这种方法是否存在基本的逻辑问题(可能是停止问题?)还是只是不可行?感谢您的任何回答,很抱歉我对这个领域不是很精通,只是出于好奇想知道 ;)
是的,对执行编译时内存管理的语言进行了大量研究。 Rust 及其所有权模型是该领域最引人注目的行业语言。您可能总是想查看“linear types”。