ja.*_*ja. 4 haskell specifications asml code-contracts nmodel
我在C#中有一个商业应用程序,有单元测试.我可以使用NModel或Spec Explorer来提高可靠性并减少我的测试时间和费用吗?或者,如果我要用F#(甚至是Haskell)重写它,我可以看到哪种类型(如果有的话)的可靠性增加?
代码合同?ASML?
我意识到这是主观的,可能是议论性的,所以如果可能的话,请用数据备份你的答案.:)或者也许是一个有用的例子,比如埃里克埃文斯货运系统?
如果我们考虑
单元测试是特定的和强定理,在特定的"有趣实例"上准静态检查,类型是一般但弱定理(通常是静态检查),并且是一般和强定理的契约,动态检查在发生期间发生的特定实例正常的程序操作.(来自B. Pierce的类型被认为是有害的),
这些其他工具在哪里适合?
我们可以使用Java PathFinder,Scala等为Java提出类似的问题.
可靠性是几个变量的函数,包括软件的一般体系结构,程序员的能力,需求的质量以及配置管理和一般QA流程的成熟度.所有这些都会影响重写的可靠性.
话虽如此,语言肯定会产生重大影响.所有其他条件相同:
把所有这些东西放在一起,你应该有一个强大的工具包,用于在开发生命周期中提高质量.不幸的是,我不知道有任何可靠的研究证明了这一点.我在开始时列出的所有因素都会混淆任何真正的研究,在明确的模式显示之前你需要大量的数据.