Your bank is using your money. You’re getting the scraps.WATCH FREE

强化学习正在成为软件开发中单元测试的变革者

本文内容:

  • 大型语言模型(LLM)由于“幻觉”而难以生成准确的单元测试。
  • 强化学习是一种试错法,它正逐渐成为自动化单元测试编写的更好解决方案。.
  • Diffblue Cover 利用强化学习,可以自主创建单元测试,在复杂的测试任务中表现优于 LLM。.

在软件开发领域,精确性和准确性至关重要。编写健壮的单元测试是确保软件应用程序可靠性和功能性的关键步骤。虽然像 ChatGPT 这样的大型语言模型 ( LLM ) 以其强大的语言能力令人工智能界为之惊叹,但在复杂的单元测试任务中,一种更精确、更经济高效的新方案——强化学习——已经出现。

法学硕士幻觉的挑战

大型语言模型无疑革新了自然语言处理,能够提供流畅且与上下文相关的响应。然而,它们并非完美无缺。困扰大型matic模型的一个关键问题是“幻觉”现象,即它们生成的文本虽然语法正确、语义合理,但最终却是错误或毫无意义的。这一局限性引起了专家的关注。.

强化学习与LLM

关于强化学习与大型语言模型在应对单元测试挑战方面的有效性之争一直持续不断。一些专家,例如 OpenAI 的 Ilya Sutskever,认为强化学习结合人类反馈,有可能消除大型语言模型带来的种种问题。然而,另一些专家,例如 Meta 的 Yann LeCun 和前谷歌员工 Geoff Hinton,则认为大型语言模型的根本缺陷使其不太适合这项任务。.

单元测试是软件开发的关键环节,它确保软件应用程序的各个组件都能按预期运行。单元测试不仅保证了代码的准确性,还能节省时间并提高效率。虽然语言学习模型(LLM)可以提供用于测试的代码片段,但它们通常更注重通用性而非准确性,因此需要开发人员自行验证所生成代码的有效性。.

GitHub 的 Copilot 由 OpenAI 的 GPT-3 衍生模型驱动,可为单元测试提供代码建议,但并不直接生成单元测试。它为开发者提供用于测试各种场景的代码片段,是编写全面单元测试的宝贵起点。然而,Copilot 并不能替代全面的测试策略,因为人工监督仍然至关重要。.

另请参阅  Litecoin价格分析:LTC突破170美元,下一个目标价位是180美元?

隆重推出 TiCoder

为了应对单元测试的挑战,微软研究院、宾夕法尼亚大学和加州大学圣地亚哥分校的研究人员开发了 TiCoder(测试驱动交互式编码器)。这款创新工具利用自然语言处理和机器学习算法来帮助开发人员生成单元测试。.

TiCoder 通过提问与开发者互动,以更深入地理解他们的意图。然后,它会根据代码的上下文、语法和语言提供建议和自动补全选项。此外,TiCoder 还会生成测试用例并建议断言,从而简化单元测试流程。.

Copilot 和 TiCoder 以及其他基于 LLM 的工具都能加快单元测试的创建速度。然而,它们只是作为人工智能助手,辅助程序员验证和完善他们的工作。这些工具可以提高效率,但并不能取代软件开发过程中人类的专业知识。.

近期离开谷歌的人工智能领域知名人物杰夫·辛顿强调了试错学习的重要性。他将这种学习方式比作人们学习篮球等运动——通过练习和尝试。强化学习作为一种强大的人工智能技术,与这一理念不谋而合,并在游戏等任务中展现出了卓越的性能。.

Diffblue封面:强化学习先驱

Diffblue Cover 是强化学习应用的一个杰出案例。这款创新产品运用强化学习技术,无需人工干预即可自主生成可执行的单元测试。它有望大规模自动化执行复杂且容易出错的测试任务。.

另见  加密货币洗钱者:Binance在乌克兰洗钱团伙落网事件中发挥关键作用

Diffblue Cover 的方法是搜索大量可能的测试方法,matic为每种方法编写测试代码,并根据测试覆盖率和编码风格等各种标准选择最合适的测试。这款人工智能驱动的工具可以在几秒钟内为每个方法创建测试,并在短短一到两分钟内为一段代码单元提供最佳测试。.

Diffblue Cover 的方法论类似于 DeepMind 的围棋系统 AlphaGo。这两个系统dent在庞大的搜索空间中识别关键区域,并运用强化学习做出明智的决策。对于 Diffblue Cover 而言,这涉及到生成单元测试方法,并通过matic 流程选择最有效的测试。.

LLM 的局限性

在诸如为复杂程序自动编写数千个单元测试之类的任务中,强化学习远胜于大型语言模型。大型语言模型虽然在语言处理方面表现出色,但在如此大规模的场景下,却缺乏有效的人工监督和纠错能力。增加大型语言模型的复杂性并不能解决这一根本问题。.

虽然像 ChatGPT 这样的大型语言模型因其流畅性和知识储备而备受关注,但它们可能并非软件开发中单元测试等精确任务的理想选择。强化学习作为一种更精准、更经济高效的解决方案脱颖而出,展现出其革新该领域的潜力。. 

随着对软件可靠性的需求不断增长,将强化学习集成到测试过程中,可能会标志着软件开发领域的重大进步。.

最顶尖的加密货币专家都在阅读我们的简报。想加入他们

分享链接:

免责声明:提供的信息并非交易建议。Cryptopolitan.com对任何基于本页面信息进行的投资概不负责。我们Cryptopolitantron您在做出任何投资决定前进行独立研究dent/或咨询合格的专业人士。

阅读最多

正在加载最热门文章…….

随时掌握加密货币新闻动态,每日更新将发送至您的邮箱。

编辑推荐

正在加载编辑精选文章…….

订阅加密货币资讯,掌握先机

市场瞬息万变。.

我们行动更快。.

订阅 Cryptopolitan Daily,即可在您的收件箱中及时获取敏锐、精辟、相关的加密货币见解。.

立即加入,
不错过任何精彩瞬间。

深入了解情况,掌握事实,
抢占先机。

订阅 CryptoPolitan