摘要 - 近年来,自主驾驶技术的兴起强调了可靠软件在确保安全和性能方面的重要性。本文提出了一种使用多模式学习的自动驾驶软件系统中即时软件缺陷预测(JIT-SDP)的新方法。提出的模型利用了多模式变压器,其中预训练的变压器和组合模块与软件系统数据集的多个数据模式相结合,例如代码功能,更改指标和上下文信息。适应多模式学习的关键点是利用不同数据模式(例如文本,数值和分类)之间的注意机制。在组合模块中,在文本数据和包含分类数据和数值数据的表格数据和表格特征上的输出组合在一起,以使用完全连接的层产生预测。对从GitHub存储库(Apollo,Carla和Donkeycar)收集的三个开源自动驾驶系统软件项目进行的实验表明,拟议的方法显着超过了有关评估指标的最先进的深度学习和机器学习模型。我们的发现突出了多模式学习的潜力,以通过改进的缺陷预测来增强自主驾驶软件的可靠性和安全性。
摘要 - 敏捷软件开发强调了迭代的进度,适应性和利益相关者的协作。它拥护灵活的计划,持续改进和快速交付,旨在迅速做出反应,以有效地改变和交付价值。将生成性人工智能(AI)整合到敏捷软件开发过程中,为克服项目管理挑战并提高软件开发努力的效率和有效性提供了有希望的途径。本文探讨了利用敏捷方法中利用生成AI的潜在好处,旨在简化开发工作流程,促进创新并减轻共同的项目管理挑战。通过利用生成AI的功能来进行代码生成,自动测试和预测分析等任务,敏捷团队可以提高其生产率,加速交付周期并提高软件产品的质量。此外,生成AI还提供了增强协作,促进决策以及解决敏捷项目管理固有的不确定性的机会。通过对敏捷框架内生成AI集成的整合的深入分析,本文提供了有关组织如何利用AI的变革潜力来推进敏捷软件开发实践并更有效地浏览现代软件项目的复杂性的见解。
近年来,生成式人工智能 (AI) 引起了媒体和社会的广泛关注。这些是根据输入创建文本、图像或视频等内容的 AI 模型。受文本生成领域巨大进步的推动,最近开发了大量基于大型语言模型 (LLM) 的 AI 编码助手,用于源代码生成的(部分)自动化。这些模型根据方法的不同,要么在大量文本上进行训练,然后使用源代码进行微调,要么直接在大量源代码上进行训练。在应用中,这些模型的使用方式类似于聊天机器人。用户给模型一个提示,可以是所需功能的描述,也可以是(带注释的)源代码框架。输出是用户选择的编程语言中具有所需功能的源代码。当前一代模型除了生成最佳建议外,还会生成多个替代方案 - 这是模型认为最有可能正确的建议。用户可以选择其中一个建议并将其采纳到他们当前的软件项目中。这些 AI 编码助手通常通过集成开发环境 (IDE) 的插件访问。此外,开发人员还会使用托管在云端或本地的通用聊天机器人进行编程。
工业 4.0 的出现及其独特而复杂的深度学习算法和技术推动了各个行业的数字化(自动化)革命,软件测试也不例外——测试自动化正在取代手动测试方法,成为每个项目不可或缺的一部分。测试自动化在很大程度上减轻了手动回归测试工作量。然而,在测试自动化项目完成并交付给客户后,由于相关的高维护工作量和技术知识,它们很少被使用,从而浪费了精力和成本。交付软件项目的时间有限,这对测试团队来说构成了诸多挑战,其中之一就是项目交付周期,测试过程必须不断发展并适应/克服这些挑战。测试自动化已成为使团队能够实现这一目标的关键活动。随着项目交付周期的加快,测试自动化已成为与速度相匹配的关键活动。在传统自动化中,需要大量时间来确定测试场景、开发自动化脚本并最终维护脚本。考虑到所有这些活动,确保最大程度地覆盖测试极具挑战性,因此为了解决这些痛点,理想的解决方案是将人工智能(AI)引入测试自动化。
摘要[上下文和动机]当今许多系统都使用人工智能,其中机器学习(ML)是一个子场。需求工程(RE)满足了利益相关者对系统开发的需求。特别是,具有ML组件的系统需要特定的非功能要求(NFR)来定义ML相关细节,例如训练数据集的质量方面,ML模型的可折扣性或ML培训管道的细节。[问题]尚未完全了解RE技术在实际使用中对具有ML组件的系统的特定应用。尚不清楚,哪种启发技术可以有效地用于基于ML的系统。[想法和结果]基于系统的映射研究;我们确定了58个NFR在研究中用来描述特定ML要求。通过在线调查和专家访谈,我们确定了30个NFR,需要考虑到具有ML组件的系统。对于高度相关的NFR的文档,在两家IT公司中设计,评估和优化了一个模板。此模板有助于确保NFR的一致文档。[贡献]基于系统的映射研究,在线调查和专家访谈,我们提供了相关的NFR和一个模板,用于记录具有ML组件的系统的NFRS。我们在两家IT行业公司和几个软件项目的背景下使用现实世界案件验证了所提出的模板。评估显示需求的完整性增加。
摘要[上下文和动机]当今许多系统都使用人工智能,其中机器学习(ML)是一个子场。需求工程(RE)满足了利益相关者对系统开发的需求。特别是,具有ML组件的系统需要特定的非功能要求(NFR)来定义ML相关细节,例如训练数据集的质量方面,ML模型的可折扣性或ML培训管道的细节。[问题]尚未完全了解RE技术在实际使用中对具有ML组件的系统的特定应用。尚不清楚,哪种启发技术可以有效地用于基于ML的系统。[想法和结果]基于系统的映射研究;我们确定了58个NFR在研究中用来描述特定ML要求。通过在线调查和专家访谈,我们确定了30个NFR,需要考虑到具有ML组件的系统。对于高度相关的NFR的文档,在两家IT公司中设计,评估和优化了一个模板。此模板有助于确保NFR的一致文档。[贡献]基于系统的映射研究,在线调查和专家访谈,我们提供了相关的NFR和一个模板,用于记录具有ML组件的系统的NFRS。我们在两家IT行业公司和几个软件项目的背景下使用现实世界案件验证了所提出的模板。评估显示需求的完整性增加。
项目成果 (PO) PO1:通过调查研究和研究,在多学科环境下解决不熟悉的问题,并为技术知识和知识产权的发展做出贡献。 PO2:拥有作为成员或团队领导者在软件项目中有效运作的知识,能够运用数学和批判性思维。 PO3:表现出正直、道德行为和对专业实践和标准行为准则的承诺。 PO4:培养数学和计算机科学的独立学习和研究能力。 PO5:打下坚实的数学基础,并在技术上为进一步的研究做好准备。 项目教育目标 (PEO) PEO1:加强能力并采用新的数学和计算技术,以开展研究并实现专业卓越。 PEO2:传授终身学习以及各种数学问题和软件的分析、设计、测试和实施方面的知识。 PEO3:使用当代计算和数学平台,创建和构建新颖的解决方案,同时展示对道德实践的奉献精神。 PEO4:理解并参与数学和计算领域研究的流行文献。 PEO5:展示多学科领域的技术和管理技能,成为称职的专业人士。 项目特定成果 (PSO) PSO1:拥有在行业工作所需的数学建模、编程和计算方法的基本理解。 PSO2:拥有使用逻辑思维和数学知识解决问题的能力。 PSO3:展示现实世界计算问题的数学知识和批判性思维能力,以提出有效的解决方案
讲师:Gianluca Quercini 部门:信息部 教学语言:英语、法语 校区:巴黎校区 - 萨克莱校区、雷恩校区、梅斯校区 工作量(HEE):60 现场小时数(HPE):36,00 说明 本课程由两部分组成:信息系统和编程。目的是向未来的工程师介绍他们将在整个职业生涯中使用的信息系统,并使他们能够正确地设计和编写计算机程序。一年级学生在这些领域的水平各不相同,这取决于他们以前的经验(有些可能已经参加过编程竞赛)和教育途径。本课程不需要任何高级算法概念。在课程结束时,所有学生都将达到最低的共同准备水平;具有该学科先前知识的高级学生将能够提高他们的技能。工程学课程的三门连续课程有助于培养学生的编程和算法能力。本课程是第一门课程,之后是编码周(两周专门用于设计和实施软件项目)和算法与复杂性。季度编号 SG1 先决条件(就 CS 课程而言) CentraleSupélec 课程无需先决条件,SIP 是工程学课程的第一门计算机科学课程。在课程开始之前,学生必须参加测试以确定他们的 Python 水平:初级、中级或高级。学生将根据其 Python 的初始水平被分配到实验室小组。
近年来,深度学习彻底改变了机器学习及其应用,在包括神经科学在内的多个领域产生了与人类专家相当的结果。每年,数百份科学出版物介绍了深度神经网络在生物医学数据分析中的应用。由于该领域的快速发展,全球研究人员要清楚地了解最新和最先进的软件库可能是一项复杂且极其耗时的任务。这项工作有助于澄清该领域的现状,概述实现和促进深度学习在神经科学中的应用的最有用的库,使科学家能够确定最适合其研究或临床项目的选项。本文总结了深度学习的主要发展及其与神经科学的相关性;然后回顾了从文献和面向神经科学研究的软件项目的特定中心收集的神经信息学工具箱和库。所选工具以表格形式呈现,详细说明了按应用领域(例如数据类型、神经科学领域、任务)、模型工程(例如编程语言、模型定制)和技术方面(例如界面、代码源)分组的关键特性。结果表明,在众多可用的软件工具中,有几个库在神经科学应用功能方面脱颖而出。这些信息的汇总和讨论可以帮助神经科学界更高效、更快速地开发他们的研究项目,既可以利用现成的工具,也可以了解哪些模块可以改进、连接或添加。
背景:架构决策被视为技术债务 (TD) 最常见的来源之一。因此,有必要了解软件架构师如何看待 TD,特别是支持从项目中消除债务项目的实践,以及用于降低 TD 发生可能性的实践。目标:本文从架构师的角度研究了偿还 TD 和防止软件项目中出现债务的最常用做法。方法:我们使用了 InsighTD 提供的可用数据,这是一个全球分布的关于 TD 原因、影响和管理的工业调查系列。我们分析了来自巴西、智利、哥伦比亚和美国的 72 名软件架构师的回复。结果:结果表明,重构 (30.2%) 是与 TD 支付相关的主要实践,其次是设计改进 (14.0%)。在代码、设计和测试债务案例中,重构、设计改进和测试改进是被引用最多的支付实践。关于 TD 预防实践,我们发现拥有明确定义的架构和设计是被引用最多的做法(13.6%),其次是拥有明确定义的范围和要求。最后这种做法是专家软件架构师被引用最多的做法。最后,在比较调查得出的三个主要角色(软件架构师、工程师角色和管理角色)的预防实践时,我们发现没有一个角色拥有被引用最多的做法,这意味着每个角色都有自己的担忧,并专注于不同的策略来减少 TD 在软件中的存在。结论:TD 支付和预防实践清单可以通过提供一份实践目录来指导软件团队,以控制或减少债务。