尽管在研究实验中起着至关重要的作用,但通常仅根据结果的质量来推测代码正确性。然而,这种征服的风险又具有造成结果的风险,进而可能是错误的发现。为了减轻这种风险,我们认为当前对可重复性的关注应该与软件质量息息相关。我们通过一个案例研究来支持我们的论点,在该案例研究中,我们在广泛使用的最先进的构象体架构实现中识别并修复了三个错误。通过以各种语言的语音识别和翻译进行实验,我们证明了虫子的存在并不能阻止实现良好和可重现的结果,但是这可能导致不正确的结论,这些结论可能会误导未来的研究。作为仪式,我们发布了专门用于测试神经模型的图书馆Pangolinn,并提出了一份代码质量清单,目的是为NLP社区内的最佳编码和改善软件质量提供进一步的编码。
20 软件质量概况。.............................463 21 协同建设。..................................479 22 开发人员测试 ....。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。499 23 调试。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。535 24 重构。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。563 25 种代码调优策略。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。587 26 代码调优技术。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。609
SDLC 是软件组织内软件项目遵循的流程。它包含一个详细的计划,描述如何开发、维护、替换和更改或增强特定软件。生命周期定义了一种改进软件质量和整体开发过程的方法。下图是典型 SDLC 各个阶段的图形表示。SDLC 包括以下阶段:
SDLC 是软件组织内软件项目遵循的流程。它包含一份详细的计划,描述如何开发、维护、替换和更改或增强特定软件。生命周期定义了一种改进软件质量和整体开发过程的方法。下图是典型 SDLC 各个阶段的图形表示。SDLC 包括以下阶段:
dipp83597。对初创公司的应用进行了彻底检查,发现该初创公司正在提供软件开发服务,其中包括构建新软件,现代化现有软件,进行软件质量和流程评估。在IMB会议上提出了上述观察结果,并且由于缺乏可靠的信息,董事会不建议使用该初创公司的创新,可扩展性的范围和启动产品的产品/服务财富方面的范围。79。IMB秘书处向董事会通报了有关Monkeyshines Fitness(OPC)
人工智能 (AI) 越来越受欢迎,被应用于我们日常使用的众多应用和技术中。大量支持 AI 的应用程序是由没有接受过软件质量实践或流程适当培训的开发人员开发的,而且一般缺乏最先进的软件工程流程。支持 AI 的系统是一种基于软件的系统,除了传统软件组件外,还包含 AI/ML 组件 [5]。与任何软件系统一样,支持 AI 的系统需要关注软件质量保证 (SQA),尤其是代码质量 [17]。当前的开发流程,尤其是敏捷开发模型,使公司能够决定后期在其系统中采用的技术。因此,很难预测
我的研究重点是工程正确且安全的软件系统,旨在使其可靠和值得信赖,尤其是在可靠性至关重要的情况下。我特别有兴趣将传统的软件质量技术适应非传统和复杂系统,例如自动驾驶汽车,关键基础设施以及(最近)AI代理。i在理论与实践的交集中工作,应用严格的软件理论来开发新兴领域的实用解决方案。例如,使用信号时间逻辑正式定义交通法律,然后模糊以找到自动驾驶汽车可以无意中违反它们的方式。此外,我探讨了如何将研究的见解转化为课堂并帮助下一代软件工程师的准备。
人工智能 软件和硬件架构 智能系统 软件工程 互联网和网络 专家系统 计算机模拟 数据库系统 生物信息学 计算智能 编程语言 电子商务 无线通信 计算机系统 控制系统 系统工程 自动机理论 可计算性理论 计算复杂性 并发性理论 算法 数据结构 操作系统 计算机通信 信息理论 互联网、万维网 无线计算 移动计算 计算机安全 可靠性 密码学 容错计算 分布式计算 网格计算 并行计算 高性能计算 量子计算 计算机图形学 图像处理 科学可视化 计算几何 软件需求 软件设计 软件测试 软件维护 ERP 问题 软件配置 软件流程 软件工程工具 软件质量 形式化方法 编程语言
规划阶段定义能力需求、确定资源并制定项目战略(采购、测试、网络安全等)。由总体范围和项目预算决定的决策机构将验证此信息并批准过渡到执行阶段。在执行阶段,我们积极与用户社区互动,以在开发能力的同时评估价值。最小可行产品 (MVP) 或最小可行能力版本 (MVCR) 被用作衡量成功的关键性能参数。这是一个迭代开发、测试和部署过程,包括小规模、频繁的发布、产品路线图更新以及与用户的反复互动,以征求反馈并了解价值。我们用来衡量成功的其他指标包括速度、网络安全、软件质量、成本和用户满意度。
报告分为三个部分。在第一部分中,我们回顾了现有的软件质量保证措施和技术——那些为传统软件开发并应用于传统软件的措施和技术。这部分对软件可靠性和指标、静态和动态测试以及正式规范和验证进行了相当全面的概述,可能会引起那些不关心人工智能软件的人的兴趣。在第二部分中,我们考虑了基于人工智能的软件的特征、第一部分中确定的措施和技术的适用性和潜在效用,并回顾了专门为基于人工智能的软件开发的少数方法。在本报告的第三部分中,我们提出了对这一重要领域的进一步探索的评估和建议。提供了包含 194 个条目的详尽参考书目。