Language agnostic 无论使用何种语言,每行代码中的bug数量都是恒定的

Language agnostic 无论使用何种语言,每行代码中的bug数量都是恒定的,language-agnostic,code-metrics,lines-of-code,Language Agnostic,Code Metrics,Lines Of Code,我听人说过(虽然我不记得具体是谁),无论使用哪种语言,每行代码中的bug数量大体上是恒定的。支持这一点的研究是什么 编辑以添加:我没有访问权限,但显然是 “被问及对于用不同编程语言编写的程序,每行代码(LOC)中的错误数是否相同。”一个可能的来源是Les Hatton 1995年的论文“”,他在论文中得出结论,语言选择至少接近于无关因素和其他因素(主要是所选语言的流利程度)是控制因素 我所能补充的就是总结其他各种论文,其中给出了单个项目(以及类似项目)的缺陷率。我做了一些研究,但从未发现语言和缺

我听人说过(虽然我不记得具体是谁),无论使用哪种语言,每行代码中的bug数量大体上是恒定的。支持这一点的研究是什么

编辑以添加:我没有访问权限,但显然是
“被问及对于用不同编程语言编写的程序,每行代码(LOC)中的错误数是否相同。”

一个可能的来源是Les Hatton 1995年的论文“”,他在论文中得出结论,语言选择至少接近于无关因素和其他因素(主要是所选语言的流利程度)是控制因素

我所能补充的就是总结其他各种论文,其中给出了单个项目(以及类似项目)的缺陷率。我做了一些研究,但从未发现语言和缺陷率之间的相关性,但这并不等于说不同语言的缺陷率是恒定的(也就是说,它们可能不同,但在每种语言中差异如此之大,以至于我无法证明它们之间的差异)。

在他的书中(引自第二版),在“开发者测试”一章中,Steve McConnell引用了一些跨多种语言的研究:

  • 对于交付的软件,行业平均经验是每1000行代码中大约有1-25个错误。该软件通常是使用各种技术开发的(Boehm 1981、Gre百万1984、Yourdon 1989a、Jones 1998、Jones 2000、Weber 2003)。错误数量只有这一数字十分之一的案例是罕见的;错误数量是这一数字十倍以上的案例往往不会被报告。(它们可能永远都不会完成!)

  • 微软的应用程序部门在内部测试期间每1000行代码中会遇到10-20个缺陷,在发布的产品中每1000行代码中会遇到0.5个缺陷(Moore 1992)。用于实现此级别的技术是其他类型的协作开发实践中描述的代码读取技术和独立测试的组合

  • 哈兰·米尔斯开创了“洁净室开发”的先河,这项技术能够在内部测试期间每1000行代码产生3个缺陷,在发布的产品中每1000行代码产生0.1个缺陷(Cobb和米尔斯,1990年)


这些研究从java等高级语言到C++和C,一直到汇编。考虑到代码完整性对软件工程的巨大影响,我怀疑它是推广这个想法的责任。

接近重复的,封闭的不是真正的问题。“什么研究支持了这一点?”我认为这无疑是一个真正的问题。没有人对上市持任何意见sources@Robert--我希望这是清楚的,但我不是在要求“每1000行代码中出现bug的行业标准”,或诸如此类的问题。我要求提供研究参考,以支持关于bug密度和语言独立性的特定主张。恐怕我很难理解这将如何被视为一个重复。我想我的观点是,另一个问题没有被认真对待。这个指标基本上是没有意义的,就像at毫无意义。只是给头发尖尖的老板们提供更多的素材。然而,我没有投票决定是否结束。虽然“指标基本上毫无意义”——也许是这样,但我还是有兴趣看看这一说法背后的原委。