我知道程序验证是计算机工程的一个分支 - 但它对现实世界代码库的实际应用受到组合爆炸的限制。
我也理解,作为设计软件更改的一部分,对于现有Java框架的修改,提前考虑算法的白盒,边界和黑盒测试是有帮助的。 (有些人称之为吊床驱动的开发 - 在编码之前进行思考。)
假设你采取这种思路并将其嵌入到junit样式测试中,我假设内容的计算机科学名称是严格的“白盒测试/模糊测试”,并不足以构成“程序验证”。
所以我的问题是 - junit测试 - whitebox模糊测试还是程序验证?
答案 0 :(得分:0)
完成程序验证,证明与您的应用程序相关的数学模型的数学属性(可以从编程语言的正式语义或手工编写,例如编写为您的Web服务建模的行为类型)。
看看pi-calculus,了解我的意思。
当然,junit与正式的程序验证无关。