Cross-Functional AI Task Forces (X-FAITs) for AI Transformation of Software Organizations
该研究提出 X-FAIT 跨职能任务组框架,通过力场分析、高管赞助、跨职能整合与风险评估,帮助软件组织打通 AI 战略与执行。
2025-05-15 cs.SE
Applying Software Craftsmanship Practices to a Scrum Project: an Experience Report
软件工匠宣言定义了软件开发团队应该遵循的价值观和原则,以提供满足功能和非功能需求的高质量软件,而无需处理大量的技术债务。软件开发的软件工艺方法优先考虑技术实践,以提供干净的代码库。这项工作分析了一组实践,可以应用于一个旨在纳入软件工艺价值观的SocketProject。所描述的过程实现对于那些也打算在他们的项目中实现Software Craftsman的软件开发团队来说可能是一个有用的贡献。
2016-11-17 cs.SE
Elicitation and Modeling Non-Functional Requirements - A POS Case Study
正确的需求管理对于在有限的时间和成本内成功开发软件至关重要。非功能性需求(NFR)是比较不同软件系统的关键标准之一。在大多数软件开发中,NFR都被指定为软件的附加需求。NFR,如性能,可靠性,可维护性,安全性,准确性等,必须在软件开发的早期阶段作为功能需求(FR)加以考虑。然而,识别NFR并不是一件容易的事情。虽然有发达的技术来引出功能需求,但缺乏NFR的引出机制,并且关于NFR的引出技术没有适当的共识。在需求分析中,NFR的获取被认为是一项具有挑战性的工作。本文提出了一种基于UML用例的查询方法来识别和分类系统的NFR。所提出的方法是通过使用销售点(POS)的案例研究说明
2014-03-08 cs.SE
Four Layered Approach to Non-Functional Requirements Analysis
非功能需求的识别对于软件产品的成功开发和部署是非常重要的。客户对软件产品的接受取决于软件中包含的非功能性需求。为此,我们需要识别所有涉众所需的所有非功能性需求。在文献中,用于此目的的方法并不多。因此,我们提出了一个四层的分析方法来识别非功能性需求。所提出的分层方法具有许多优点,非分层的方法。作为该方法的一部分,还提出了在每一层中使用的一些规则。该方法成功地应用于两个案例研究。识别的非功能需求使用检查表进行确认,此外,识别的非需求的完整性使用度量进行计算。
2014-08-07 cs.SE
A survey of service oriented architecture systems testing
面向服务的体系结构(SOA)是最新的软件体系结构之一。这种架构是在业务需求的方向上创建的,消除了软件和业务之间的差距。软件测试是软件开发活动中不断增加的成本。SOA具有与其他软件体系结构不同的规范和功能比例。首先,本文回顾了SOA测试的挑战和针对这些挑战的现有解决方案。然后报告了SOA系统测试的最新研究概况,包括功能测试和非功能测试。这些测试针对不同级别的功能测试,包括单元测试、集成测试和回归测试。
2012-12-13 cs.SE
A Functional Software Reference Architecture for LLM-Integrated Systems
本文提出一个初步的功能参考架构,用于指导大语言模型集成系统的设计、评估与演进,并通过三个开源系统验证其适用性。
2025-01-22 cs.SE
Achievement of Minimized Combinatorial Test Suite for Configuration-Aware Software Functional Testing Using the Cuckoo Search Algorithm
软件已经成为当今科学和工程中许多应用和方法的创新解决方案。确保软件的质量和正确性具有挑战性,因为每个程序都有不同的配置和输入域。为了确保软件的质量,所有可能的配置和输入组合都需要根据其预期输出进行评估。然而,由于输入和配置的大范围所导致的时间和资源限制,这种详尽的测试是不切实际的。因此,不同的采样技术已被用于对这些输入域和配置进行采样。目的:组合测试可以有效地检测被测软件中的错误。该技术使用组合优化概念,通过考虑输入的组合来系统地最小化测试用例的数量。提出了一种利用布谷鸟搜索概念生成组合测试用例集的新策略。方法:布谷鸟搜索用于设计和实现的策略,以构建优化的组合集。该策略由不同的构造算法组成。这些算法结合起来为布谷鸟搜索服务。结果:通过不同的实验组证明了新技术的效率和性能。该策略的有效性进行评估,通过应用所生成的测试套件对一个真实世界的案例研究功能测试的目的。结论:结果表明,生成的测试集可以有效地检测故障。此外,该策略还为布谷鸟搜索在软件工程背景下的应用开辟了新的方向。
2019-03-25 cs.SE
Software Requirements Specification of the IUfA's UUIS -- a Team 2 COMP5541-W10 Project Approach
在52页的文件中,我们描述了我们的方法,IUfA的UUIS原型的软件需求规格。这包括整体系统描述、功能需求、非功能需求、用例、所有相关实体的相应数据字典、模拟用户界面(UI)设计以及总体预计成本估算。UUIS的设计规范见arXiv:1005.0665。
2010-05-07 cs.SE
Architectural Blueprints: The 4+1 View Model of Software Architecture
本文提出了一个模型,用于描述软件密集型系统的体系结构,基于多个并发视图的使用。这种多视图的使用允许单独解决架构的各个利益相关者的关注点:最终用户,开发人员,系统工程师,项目经理等,并分别处理功能和非功能需求。我们描述了这五个视图中的每一个,并给出了一个表示法。这些视图是使用以架构为中心的、基于XML的、迭代的开发过程设计的。
2020-06-08 cs.SE
A Case Study of Building Shared Understanding of Non-Functional Requirements in a Remote Software Organization
建立对非功能性需求(NFR)的共同理解是需求工程中一个已知但未充分研究的挑战,特别是在采用连续软件工程(CSE)实践的组织中。在2019冠状病毒病疫情高峰期,许多CSE组织因实施健康限制而遵守远程工作;一些组织在实施业务流程时继续远程工作,以促进团队沟通和生产力。在远程CSE组织中,由于团队沟通的限制以及快速交付产品的激励,管理NFR变得更具挑战性。虽然以前的研究已经确定了导致CSE中缺乏对NFR的共同理解的因素,但我们在理解CSE组织(特别是远程工作)如何在其软件开发中建立对NFR的共同理解方面仍然存在重大差距。我们进行了为期三个月的民族志知情的远程CSE组织的案例研究。通过对访谈和观察中的定性数据进行专题分析,我们确定了一些对NFR形成共同理解的做法。该组织用于远程交互的协作工作空间是Gather,它模拟物理交互,我们的研究结果表明,它允许非正式的沟通,有助于建立共同的理解。作为可操作的见解,我们根据主动实践讨论了我们的发现,这些实践代表了软件组织在其开发中投资建立对NFR的共同理解的机会。
2022-05-18 cs.SE
A Purpose-oriented Study on Open-source Software Commits and Their Impacts on Software Quality
本研究针对不同类别提交对开源软件质量影响的研究不足,对提交进行分类并训练预测模型实现自动化分类,进而探究不同目的提交对质量的影响,最终建立新的提交更改指南以提升软件质量。
2025-03-04 cs.SE
Functional Simulation of Real-Time Quantum Control Software
现代量子计算机在很大程度上依赖于实时控制系统进行操作。由于需要更多的功能和更多的实时设备来控制,这些系统的软件变得越来越复杂。不幸的是,测试实时控制软件往往是一个复杂的过程,现有的仿真软件是不可用的或实用的软件测试。为此,我们实现了一个交互式的模拟器,模拟信号的应用程序编程接口的水平。我们表明,我们的模拟基础设施模拟内核6.9倍,平均速度比在硬件上执行,而时间轴光标的位置模拟时,选择适当的配置,平均准确率为97.9%。
2022-10-25 cs.SE quant-ph
Which Combination of Test Metrics Can Predict Success of a Software Project? A Case Study in a Year-Long Project Course
本研究通过为期一年的软件工程项目课程数据,利用线性混合效应建模分析发现,自动化单元测试、验收测试和手动测试的高覆盖率组合对功能适宜性有显著影响,且后端低测试与用户故事推迟存在接近显著的相关性。
2024-08-22 cs.SE
The Lack of Shared Understanding of Non-Functional Requirements in Continuous Software Engineering: Accidental or Essential?
建立对需求的共同理解是确保下游软件活动高效和有效的关键。然而,在持续的软件工程(CSE)中,缺乏某种共同的理解是快速反馈学习周期的一个预期的、必要的组成部分。与此同时,还有一个关键的权衡与可避免的成本,如返工,来自共享理解的意外差距。这种权衡对于非功能性需求(NFR)来说更具挑战性,这对产品的成功具有重要意义。理解和管理NFR在小型敏捷组织中尤其困难。这些组织如何管理CSE中的NFR的共享理解正在深入研究。我们进行了一个案例研究,三个小组织扩大CSE,以进一步了解和识别因素,导致缺乏共同的理解NFR,其关系返工。我们的深入分析确定了41个与NFR相关的软件任务,由于缺乏对NFR的共同理解而需要返工。在这41项任务中,78%是由于可避免的(意外)缺乏对NFR的共同理解。使用混合方法的方法,我们确定的因素,有助于缺乏共同的理解NFR,如缺乏领域知识,快速的变化,跨组织的沟通问题。我们还确定了建议的战略,以减轻缺乏共同的理解,通过更有效地管理这些组织的需求知识。最后,我们讨论了需求,返工和CSE的共享理解之间的复杂关系。
2020-07-03 cs.SE
Tailoring Stakeholder Interests to Task-Oriented Functional Requirements
Without a specific functional context, non-functional requirements can only be approached as cross-cutting concerns and treated uniformly across all features of an application. This neglects, however, the heterogeneity of non-functional requirements that arises from stakeholder interests and the distinct functional scopes of software systems, which mutually influence how these non-functional requirements have to be satisfied. Earlier studies showed that the different types and objectives of non-functional requirements result in either vague or unbalanced specification of non-functional require…
2022-01-17 cs.SE
Focus Areas, Themes, and Objectives of Non-Functional Requirements in DevOps: A Systematic Mapping Study
软件非功能性需求解决了在开发和运行过程中必须考虑的大量目标、期望甚至责任。通常,这些非功能性需求来自不同的领域,它们的具体范围、概念和与功能性需求的分界往往是模糊的。在这项研究中,我们试图分类和分析相关的工作,软件工程在DevOps的上下文中,以澄清不同的重点领域,主题和目标的非功能性需求,并确定未来的研究方向在这一领域。我们进行了一个系统的映射研究,包括142个选定的主要研究,提取重点领域,并合成所描述的NFR的主题和目标。为了检查与DevOps中的非功能需求相关的非工程重点研究,我们进行了向后滚雪球的步骤,并额外纳入了17项主要研究。我们的分析揭示了7个经常性的重点领域和41个主题,这些主题是DevOps中NFR的特征,以及这些主题的典型目标。总体而言,DevOps中NFR的重点领域和主题非常多样化,反映了将软件工程与技术质量、业务、合规性和组织考虑因素保持一致所需的不同视角。在DevOps驱动的项目中,缺乏方法论支持来指定、测量和评估这些NFR的实现,这为该领域的未来研究提供了充足的机会。特别是,有必要为操作化非工程为重点的软件目标的经验验证的方法。
2022-01-17 cs.SE
A Metric of Software Size as a Tool for IT Governance
本文提出了一种新的软件功能规模度量方法,该方法来源于功能点分析(FPA),但克服了它的一些不足。统计结果表明,新的度量,功能元素(EF),和它的子度量,功能元素的交易(EFt),有更高的相关性,在软件开发的努力比FPA在分析的数据。本文说明了新的度量作为一种工具,以提高IT治理,特别是在评估,监控,并给予指导,软件开发领域的应用。
2018-10-16 cs.SE
Many-Objective Optimization of Non-Functional Attributes based on Refactoring of Software Models
该研究提出一种基于NSGA-II遗传算法的软件模型多目标重构优化方法,兼顾性能、可靠性等多目标,在两个案例中实现性能最高提升42%、可靠性最高提升32%,验证了性能反模式和架构距离指标的有效性。
2023-01-23 cs.SE
Introducing Aspect-Oriented Programming in Improving the Modularity of Middleware for Internet of Things
物联网(IoT)已成为智慧城市及其应用发展的流行语。在这种情况下,支持软件的开发构成了物联网基础设施的核心部分。中间件位于物联网设备之间,并在它们之间进行交互,以在自动化架构的组件之间交换数据。中间件服务包括握手,数据传输和安全性,其核心功能集。它还包括跨领域的功能服务,如身份验证、日志记录和缓存。能够运行这些中间件服务的软件需要仔细选择良好的软件建模技术。面向对象编程(AOP)是一种软件开发方法,可用于独立封装物联网基础设施中间件服务的核心和横切功能。在本文中,已尝试使用模拟环境,独立建模的两个正交功能的中间件的重点,以提高其模块化。此外,定量测量的核心设计属性的凝聚力已经做了推断在物联网中间件封装的模块的可重用性的改善。基于测量,它被发现,在中间件软件的功能的模块化和可重用性已提高在ANOJ版本相比,其等效的Java版本。
2020-09-23 cs.SE
SWE-Gate: Passing Functional Tests Is Not Enough for Software Engineering Agents
Sun Yat-sen University(中山大学);Zhejiang University(浙江大学);Chongqing University(重庆大学)
SWE-Gate基准结合功能测试与审查约束评估,发现仅通过功能测试的软件工程智能体中约34%未满足审查约束,仅功能评估会高估智能体的修复能力。
2026-09-04 cs.AI cs.SE
Dynamic Integration of ALM Tools for Agile Software Development
本文介绍了软件开发过程中的工具集成的需要和目标。特别是,我们专注于敏捷软件开发,但不限于。在不同的过程域之间集成工具和数据对于高效、有效和定制的软件开发至关重要。我们描述了追求一体化的下一步是什么,以及如何实现主要目标。除了理论和架构的考虑,我们描述了一个开放平台的方法的原型实现。本文介绍了平台应用程序和功能商店作为一般概念,使应用程序及其功能可供社区使用。我们描述的方法的实施,以及如何可以实际利用。该描述基于一个主要用例,并且进一步的步骤由各种其他示例激发。
2013-11-21 cs.SE
Emotionalism within People-Oriented Software Design
在设计大多数软件应用程序时,许多工作都放在功能目标上,这使得软件系统变得有用。然而,未能考虑情感目标,使软件系统愉快地使用,可能会导致失望和系统拒绝,即使功利目标得到很好的实现。虽然一些研究强调了人们的情感目标在软件开发中的重要性,但很少有关于如何在软件系统开发过程中解决这些目标的建议。本文结合软件工程、需求工程和决策的理论和技术,提出了一种理论上合理、实用的方法。本研究的结果是情感目标系统分析技术(EG-SAT),它有助于发现软件系统的能力,以解决软件设计中的情感目标的过程。EG-SAT是一种易于学习和使用的技术,可以帮助分析师深入了解如何解决人们的情感目标。为了证明使用中的方法,进行了两部分评价。首先,EG-SAT是用来分析的情感目标的移动学习应用程序的潜在用户,提供有关低碳生活的商人和专业人士在澳大利亚的建筑行业的信息。在本案例研究中使用EG-SAT的结果与专业开发的基线进行了比较。其次,我们进行了一个半对照实验,其中12名参与者被要求应用EG-SAT和另一种技术对我们的案例研究的一部分。结果表明,EG-SAT帮助参与者分析情感目标,并获得有关功能和非功能目标的宝贵见解,以解决人们的情感目标。
2018-10-30 cs.SE
Combining Agile with Traditional V Model for Enhancement of Maturity in Software Development
在软件工程领域,每天都有许多新的原型被引入,以提高软件开发的效率和有效性。由于动态环境,组织经常交换他们的软件约束,以满足他们的目标。本文提出的研究方法是将传统的V模型与敏捷方法相结合,将这些模型的优点结合起来,同时最大限度地减少它们各自的缺点。新兴软件系统的波动需求和运营软件的累积成本迫使研究人员和专家确定新兴软件应用的创新和优越的手段,在小企业或企业级正在寻找。敏捷方法论有其自身的优点,但传统软件开发方法论的一些成功所必需的特性存在不足。这就是为什么嵌入式方法将是软件行业的正确答案,而不是纯粹的敏捷方法。这项研究表明,如何敏捷嵌入式传统可以发挥重要作用的软件开发。一项旨在发现这种方法在工业中的影响的调查。进行了定性和定量分析。
2017-02-01 cs.SE
Evaluation of Software Architecture Quality Attribute for an Internet Banking System
在软件开发中,设计阶段比其他所有阶段都重要。软件体系结构必须同时满足功能性和非功能性的质量要求。必须执行架构评估,以便开发人员确信他们选择的架构将降低成本和工作量,并增强各种质量属性,如可用性,可重用性,性能,可修改性和可扩展性。系统的成功与否取决于对系统的基本方法体系结构的评估。候选体系结构的总体排名是通过为场景和场景交互分配权重来确定的。在本文中,SAAM方法被用来评估这两个架构从各种可用的方法和技术,以实现各种质量属性的权重度量。
2013-12-09 cs.SE
Enhancement in the effectiveness of requirement change management model for global software development
由于技术的变化、政府政策的变化以及客户或利益相关者需求的变化,每个组织都需要更改项目需求。需求更改管理RCM不是一件容易的事情,特别是在全球软件开发GSD中,团队成员分布在全球不同的地理位置,团队成员之间存在文化差异。因此,管理这些变化变得更加困难。在全球软件开发过程中,需求变更管理面临着许多风险。本研究的目的是讨论这些问题,工具和技术,被用来减少这些问题的有效性,在需求变更管理。在这些方法的基础上,提出了一种新的模型,将提高需求变更管理过程的有效性。
2016-05-03 cs.SE
Emotional Attachment Framework for People-Oriented Software
在组织和商业环境中,人们通常有明确的角色和工作流程,可以根据这些角色和工作流程提取功能和非功能需求。然而,在更多的社交环境中,例如用于增强社交互动的平台,成功的应用程序更多地是通过使用情感参与而不是功能来驱动的,并且用户参与的驱动因素很难识别。一个关键的挑战是了解人们的情感目标,以便将其纳入设计中。本文提出了一个新的框架称为情感依恋框架,这是基于现有的模型和理论的情感依恋。它的目的是促进在软件工程中更深入地了解情感目标的过程。为了演示使用中的框架,情感目标引出的软件应用程序,旨在为无家可归的人提供帮助。为了衡量在这项研究中所提出的技术的有效性和效率,进行了一系列的评估:半控制实验,比较分析,领域专家和最终用户的评价。结果表明,情感依恋框架有可能在分析情感目标时提供更好的洞察力。
2018-10-31 cs.SE
Modeling Non-Functional Application Domain Constraints for Component-Based Robotics Software Systems
University of Applied Sciences(应用科学大学);Robert Bosch Corporate Research(罗伯特·博世公司研究院)
服务机器人是由组件构建的复杂、异构、软件密集型系统。最近的机器人研究趋势主要是解决功能层面上的孤立功能。非功能性属性(如响应性或确定性行为)仅单独处理(如果有的话)。我们认为,在系统级别上处理这种非功能属性是关键的下一步。我们声称,精确控制特定于应用程序的,动态执行和功能组件的交互行为-即明确的计算和通信语义的模型级别没有隐藏的代码定义的部分-是一个关键因素。在本文中,我们提出了这些语义建模的概念,并提出了一个元模型,(一)使组件开发人员实现组件功能,而不假定特定于应用程序的,系统级的属性,和(ii)使系统集成商的原因组件之间的因果依赖关系以及系统级的数据流特性。这允许在系统集成期间控制数据传播语义和系统属性,例如端到端延迟,而不会破坏组件封装。
2016-01-11 cs.RO cs.SE
Engineering Trustworthy Self-Adaptive Software with Dynamic Assurance Cases
自适应软件基于控制理论中的概念,通过动态调整其架构和参数来应对工作负载变化和组件故障等事件,从而处理环境和内部不确定性。自适应软件越来越多地被期望满足来自制造业、医疗保健和金融等不同领域的应用程序的严格功能和非功能需求。为了满足这一需求,我们介绍了一种方法的可信的自适应软件(ENTRUST)的系统工程。ENTRUST结合使用(1)设计时和运行时建模和验证,以及(2)行业采用的保证过程,以开发值得信赖的自适应软件和保证案例,论证软件对其预期应用的适用性。为了评估我们的方法的有效性,我们提出了一个工具支持的ENTRUST的实例,并使用它来开发概念验证自适应软件的嵌入式和基于服务的系统,分别从海洋监测和电子金融领域。实验结果表明,ENTRUST可以用于工程不同应用领域的自适应软件系统,并为这些系统生成动态保证案例。
2018-11-22 cs.SE
Context Oriented Software Middleware
我们的中间件方法,面向上下文的软件中间件(COSM),支持上下文相关的软件具有自适应性和可靠性在移动计算环境。COSM中间件是一个通用的和平台无关的适应引擎,它执行的运行时组成的软件的上下文相关的行为的基础上的执行上下文。我们的中间件区分上下文相关和上下文无关的软件系统的功能。这使得COSM中间件能够通过组成一组面向上下文的组件来适应应用程序的行为,这些组件实现了软件的上下文相关功能。因此,通过考虑COSM中间件的功能和适配影响/成本来实现软件可靠性。COSM中间件使用一个动态的基于策略的引擎来评估适应输出,并验证适应输出与应用程序的目标,目标和架构质量属性的适应性。这些能力是通过一个案例研究实施的实证评估证明的。
2019-01-13 cs.NE cs.SE
Rigorous Description Of Design Components Functionality: An Approach Based Contract
当前的软件构件模型使得基于构件的软件工程成为现实。然而,这些模型是有限的,在这个意义上说,他们的支持特性/规格的设计组件主要处理语法问题。为了避免组件的错配和误用,需要更全面的软件组件规范。在本文中,我们提出了一种基于契约的方法来分析和建模的两个方面(功能和非功能)属性的设计组件和他们的组合,以检测和纠正组合错误。这种方法允许表征设计组件的结构,界面和行为方面。为了实现这一点,我们提出了一种模式契约语言,它捕获了与一系列模式相关的结构和行为需求,以及作为结果得到保证的系统属性。此外,我们建议使用的LOTOS语言作为正式这些方面的ADL。我们通过将其应用于标准设计来说明该方法
2014-02-13 cs.SE
A Preliminary Study for the development of an Early Method for the Measurement in Function Points of a Software Product
Albrecht的功能点分析(FPA)是一种确定软件产品功能规模的方法。国际功能点用户组(IFPUG)制定了FPA作为软件功能规模度量的标准。IFPUG [3] [4]方法遵循Albrecht的方法,并在其扩展版本中对规则和提示进行了修改,旨在改进它[7]。应用该方法所需的文件级别是功能规范,对应于Rudolph分类[8]中的I级。对于那些致力于为第三方开发软件的公司来说,当他们必须为这种开发准备适当的预算时,这些文档是有困难的。然后,我们需要开发一种早期方法[6] [9]来度量软件产品的功能大小,我们将其命名为早期方法或EFPM(早期功能点方法)。应用EFPM所需的文件是用户需求或一些类似的文件。这是奥维耶多大学目前正在进行的一项研究工作的一部分。在这篇文章中,我们只显示了以下结果:从一组项目的测量使用IFPUG方法v.4.1,我们得到的线性相关系数的功能点的总数为每个项目和ILF的数量,ILF + EIF的数量和EI + EO + EQ的数量计数器。使用初步结果,我们计算回归函数。这一结果,我们将使我们能够确定的因素要考虑的发展EFPM和估计的功能点。
2004-02-09 cs.SE
Towards Maintainable Platform Software -- Delivery Cost Control in Continuous Software Development
现代平台软件交付成本迅速增加,因为它通常需要与许多硬件和芯片的TTM保持一致,功能演变并涉及数百名工程师。本文以一个超大规模软件-- Intel Media Driver为例,分析了软件持续开发过程中导致交付成本增加的热点问题、软件设计所面临的挑战以及针对目标设计改进降低软件交付成本的经验。我们期望所确定的热点可以帮助更多的研究人员形成相应的研究议程,分享的经验可以帮助以下从业者应用类似的增强。
2022-03-29 cs.SE
A Parametric Analysis of Project Management Performance to Enhance Software Development Process
项目管理过程在软件项目的有效开发中起着重要的作用。项目管理过程中的关键挑战是对时间、成本、缺陷数量的估计,以及随后对apt开发人员的选择。因此,对上述因素的准确估计决定了项目的成功程度。本文通过对一家服务型软件公司开发的几个项目的实证研究,来理解项目管理过程。分析揭示了存在的变化,在上述因素之间的估计和观察结果。它进一步抓住了需要改善项目管理过程中的估计和资源分配,以实现高质量的软件产品。因此,本文旨在提高软件工程人员的认识,更好地估计和准确分配资源的重要性和意义,以开发成功的项目。
2014-07-20 cs.SE
Lila: Decentralized Build Reproducibility Monitoring for the Functional Package Management Model
Institut Polytechnique de Paris(巴黎理工学院)
Lila是一个面向功能包管理模型的去中心化系统,用于解决大规模构建可重复性监控问题,通过分布式报告和数据库聚合提升软件分发的透明性和信任。
2026-01-28 cs.SE
Reliable Mining of Automatically Generated Test Cases from Software Requirements Specification (SRS)
编写需求是一个双向的过程。在本文中,我们使用分类功能需求(FR)和非功能需求(NFR)的声明,从软件需求规格说明(SRS)文件。这是系统地转化为考虑所有相关信息的状态图。目前的文件概述了如何测试用例可以自动生成这些状态图。状态的应用产生不同的测试用例作为规划问题的解决方案。测试用例可用于系统级的自动或手动软件测试。提出了一种利用挖掘方法对测试用例进行约简的方法,从而方便了测试用例的挖掘和知识提取。
2010-02-05 cs.SE
Does Functional Package Management Enable Reproducible Builds at Scale? Yes
LTCI, Télécom Paris Institut Polytechnique de Paris(巴黎电信学院,巴黎理工学院)
本文通过大规模研究Nix功能包管理器,验证了大规模可重复构建的可行性,发现位级可重复性率高达69%-91%,重新构建率超过99%。
2025-05-07 cs.SE
Monolith to Microservices: Representing Application Software through Heterogeneous Graph Neural Network
IBM Research(IBM研究院);Amazon(亚马逊);Google(谷歌)
单片软件将所有功能封装到单个可部署单元中。但随着对新功能需求的增长,管理它变得越来越困难。微服务架构被视为一种替代方案,因为它提倡通过一组松散耦合的小型服务构建应用程序,其中每个服务拥有单一的功能责任。但是,与功能模块分离相关的挑战减缓了将单片代码迁移到微服务的速度。在这项工作中,我们提出了一个基于表示学习的解决方案来解决这个问题。我们使用异构图来共同表示软件工件(如程序和资源)以及它们共享的不同关系(函数调用,继承等),并通过一种新的异构图神经网络进行基于约束的聚类。实验研究表明,我们的方法是有效的不同类型的整料。
2022-05-20 cs.AI cs.SE
Slicing functional aspects out of legacy applications
面向方面的软件开发建立在面向对象开发的基础上,它提供了额外的抽象边界,帮助我们将不同类型的需求分离为所谓的方面。给定一个遗留OO应用程序,识别现有的方面以帮助理解应用程序的结构,并可能将这些方面提取到可以单独维护和重用的单独软件模块中是值得的。我们提出了一种方法来提取功能方面使用程序切片。我们首先描述我们的意思是功能方面,并探讨在何种程度上,程序切片技术可以改善现有的方面挖掘和功能定位方法等方面。然后,我们描述了我们的方法应用到两个中等规模的开放源程序的结果。我们的初步结果表明,程序切片可以产生定义良好的功能方面时,适当的切片标准。最后,我们探讨了候选功能方面的设计质量的影响。
2021-09-24 cs.SE
Code Coverage Based Test Case Selection and Prioritization
回归测试的目的,是在对现有软件作出多项修订或改动后,确保软件能达到预期的功能。回归测试或可透过隐藏软件在功能性及非功能性应用方面的回归或软件错误,以证明经修订的软件的质素。事实上,测试用例集的维护是巨大的,因为它需要在大规模的测试用例上投入大量的时间和金钱。因此,最小化测试集成为减少回归测试预算的必要条件。准确地说,这篇研究论文希望提出一种创新的方法,有效地选择和优先级的测试用例,作为回报,可能会获得最大的代码平均。
2013-12-07 cs.SE
GitReq: A Gold Standard Dataset for Software Quality Requirements
Lamar University(拉玛尔大学)
提出GitReq数据集,包含6302条专家验证的软件质量需求,覆盖8个ISO/IEC 25010:2011质量类别,通过三重信号挖掘和人工标注构建,零样本评估GPT-5.2达到最高宏平均F1为0.641。
2026-06-23 cs.SE
On the Interplay between Non-Functional Requirements and Builds on Continuous Integration
持续集成(CI)意味着整个开发团队在软件项目的主线上一起工作。CI系统自动化软件的构建。有时开发人员签入代码,这会中断构建。一个损坏的构建本身可能不是问题,但它有可能扰乱同事,因此它会影响团队的性能。在这项研究中,我们调查了1,283个软件项目的非功能需求(NFR)和构建状态之间的相互作用。我们发现NFR相关构建状态之间存在显着差异。因此,可以提出一些工具来改进CI,重点是防止CI失败的新方法,特别是与效率和可用性相关的构建。此外,将中断的构建恢复到正常状态所需的时间表明,所有NFR都呈双峰分布,一天内的峰值较高,六周内的峰值较低。我们的研究结果表明,Ruby的可维护性和Java的功能性和可靠性的计划时间表将减少与中断构建相关的延迟。
2017-03-29 cs.SE
Requirements Perception Gap across Stakeholders: A Comparative Survey of Aged Care Digital Health Software
Monash University(莫纳什大学);Deakin University(迪肯大学)
本文通过比较老年人、护理人员和数字健康软件开发者对关键功能和非功能需求的看法,揭示了不同利益相关者之间在需求优先级上的差距,并提出了未来协同设计和产品决策的指导。
2026-04-16 cs.HC cs.SE
Multi-objective Software Architecture Refactoring driven by Quality Attributes
针对架构优化任务难度高、耗时长且资源消耗大的问题,提出了一种质量属性驱动的多目标软件架构重构优化框架,测试了多种遗传算法的性能,并通过两个不同特征的案例研究完成了框架验证。
2023-01-18 cs.SE
Enhance accuracy in Software cost and schedule estimation by using "Uncertainty Analysis and Assessment" in the system modeling process
准确的软件成本和进度估计是软件项目成功的关键。由于其复杂性和不确定性,软件评估通常被称为“黑色艺术”,但它并不像人们想象的那样困难或令人困惑。事实上,一旦您了解了建模过程的不确定性强度和框架,生成准确的估计是很简单的。成功软件评估的奥秘:将学术信息和真实世界的经验提炼成软件专业人员的实用指南。而不是《双城之战》论文和僵化的建模技术,这将指导突出一组经过验证的程序,可理解的公式和技巧,个人和开发团队可以应用到他们的项目,以帮助实现估计熟练与选择适当的开发方法在软件生存周期的早期阶段,项目经理是低效的估计工作,进度,成本估算及其开发方法。这反过来又会使管理人员对软件项目进行有效的投标,并选择不正确的开发方法。这将直接影响生产力周期并增加不确定性。这成为项目失败的重要原因。因此,了解模型设计中不确定性的程度和来源,可以指导开发人员设计出准确的软件成本和进度估算,这对软件项目的成功至关重要。然而,一旦估计了所需的努力,几乎没有做任何工作来重新校准和减少初步估计的不确定性。
2012-01-13 cs.SE
A Prompt-based Few-shot Learning Approach to Software Conflict Detection
软件需求规范(SRS)文档是软件开发生存周期的重要组成部分,概述了开发中的软件程序必须满足的需求。该文档通常由不同的利益相关者群体指定,并且会不断变化,因此维护文档和检测需求之间的冲突是软件开发中的一项重要任务。值得注意的是,早期没有在SRS文档中解决冲突的项目在开发生存周期的后期会面临相当多的问题。这些问题在时间和金钱方面产生了巨大的成本,这些成本往往成为不可逾越的障碍,最终导致软件项目的终止。因此,早期发现SRS冲突对项目的可持续性至关重要。冲突检测任务以多种方式进行,其中许多方式需要来自开发者的大量人工干预,或者需要访问大量标记的、特定于任务的训练数据。在这项工作中,我们提出了使用一个基于样本的学习方法来执行少样本学习的冲突检测。我们将我们的结果与使用预训练语言模型(如BERT及其变体)的监督学习方法进行了比较。我们的研究结果表明,仅用32个标记的示例进行提示,就可以在许多关键指标上达到与监督学习在训练集上的性能相似的性能水平。与许多其他冲突检测方法相比,我们对底层需求的类型没有任何假设,允许我们分析功能和非功能需求的配对。这使我们能够省略从数据集中过滤掉非功能性需求的潜在昂贵任务。
2022-11-04 cs.SE
The Software Genome Project: Venture to the Genomic Pathways of Open Source Software and Its Applications
受人类基因组计划启发,提出软件基因组计划,将源代码视为软件DNA,通过构建基因组图谱实现开源软件的安全监控与治理,以应对复杂性和多样性挑战。
2023-11-16 cs.CR cs.SE
MANAi -- An IntelliJ Plugin for Software Energy Consumption Profiling
开发节能软件解决方案是一项繁琐的任务。我们既需要认识到能源效率在现代软件开发中起着关键作用,也需要工具和技术来支持参与软件开发生命周期的利益相关者。因此,我们提出了MANAi插件,它有助于使单元测试方法的能源消耗明确的集成开发环境(IDE)IntelliJ的插件提供视觉反馈。我们的工具旨在将软件能耗作为软件开发中一个重要的非功能性质量方面。此外,通过MANAi,我们为从学术界到工业界的广泛用户提供了简化软件能量实验过程的工具。
2022-05-06 cs.SE
Intelligent UNIT LEVEL TEST Generator for Enhanced Software Quality
单元级测试是提高软件质量的重要手段,因为它可以在开发阶段早期暴露软件缺陷。然而,手动单元级测试开发通常是乏味和不足的。此外,开发人员很难自己精确地识别出最容易出错的代码块,这些代码块应该得到最好的测试覆盖率。在本文中,我们提出了自动单元级测试框架,我们用于英特尔媒体驱动程序的开发。它可以帮助我们识别最关键的代码块,提供测试覆盖率建议,并自动生成>80%的可重用代码(约40万行测试代码)以及约35%的测试用例(约7K测试用例)。它可以帮助我们将平均每1000行驱动程序源代码的开发工作量从大约24个工时减少到大约3个工时。
2022-06-01 cs.SE
Mathematical Principles in Software Quality Engineering
数学对于开发复杂的软件系统有许多有用的特性。一个是它可以准确地描述对象的物理情况或行为的结果。数学支持抽象,这是一个很好的建模媒介,因为它是一个精确的媒介,有一点模糊的可能性。本文表明,数学提供了一个高层次的验证时,它被用作软件媒介。它还概述了基于被测程序源代码的结构测试的显着特点。结构测试方法非常适合于严格的定义,数学分析和精确的测量。最后还讨论了功能测试和结构测试的争论,以使测试有完整的意识。任何程序都可以被认为是一个函数,因为程序输入形成了它的域,程序输出形成了它的范围。一般来说,离散数学更适用于功能测试,而图论更适用于结构测试。
2010-04-10 cs.SE
Bridging the Socio-Emotional Gap: The Functional Dimension of Human-AI Collaboration for Software Engineering
Chalmers University of Technology and University of Gothenburg(查尔姆斯理工大学和哥德堡大学)
本文研究了人机协作中社会情感鸿沟问题,提出通过功能等效设计实现有效协作,而非复制人类情感智能特征。
2026-01-27 cs.HC cs.SE
Enhancing software module reusability using port plug-ins: an experiment with the iCub robot
Istituto Italiano di Tecnologia (IIT)(意大利技术研究院)
系统地开发高质量的可重用软件组件是一项艰巨的任务,需要仔细设计,以找到潜在的重用,功能和易于实现之间的适当平衡。可扩展性是软件的一个重要属性,它有助于降低软件开发成本,提高软件的可重用性。这项工作介绍了一种方法,以提高组件的可重用性,通过扩展其功能,使用插件的连接点(端口)的水平。诸如数据监视和仲裁之类的依赖于应用的功能可以使用传统的脚本语言来实现,并插入组件的端口。我们的方法的主要优点是,它避免了引入应用程序相关的修改现有的组件,从而减少了开发时间和促进更简单的,因此更可重用的组件的发展。我们的方法的另一个优点是,它减少了通信和部署开销,因为可以在不引入额外模块的情况下添加额外的功能。
2014-11-04 cs.RO cs.SE
The analysis of the IFPUG method sensitivity
J.Albrecht的功能点分析(FPA)是一种确定软件产品功能规模的方法。国际功能点用户组织(IPFUG)将FPA作为软件功能规模度量的标准。在Albrechts方法之后是IPFUG方法,该方法包括一些修改以改进它。该方法的局限性是指FPA不够灵敏以区分小增强中的功能尺寸的事实。这影响了生产力分析,其中需要软件产品功能大小。为了给功能尺寸测量提供更大的功率,A. Abran,M. Maya和H. Nguyeckim提出了一些改进方法,将这些改进方法应用到IPFUG v4.1中,命名为IFPUG v4.1 extended。在这项工作中,我们设置的条件,从非颗粒功能划分颗粒,我们计算的静态校准和灵敏度图的测量一组项目的颗粒功能的百分比高,然后测量的IFPUG v 4.1方法和IFPUG v 4.1扩展。最后,我们介绍了一个统计分析,以确定是否存在显着差异,这两种方法或没有。
2002-06-14 cs.SE
Why feature dependencies challenge the requirements engineering of automotive systems: An empirical study
汽车软件系统中的功能依赖和功能交互是错误和缺陷行为的主要来源。为了克服这些问题,存在许多方法,专注于在系统设计的早期阶段对这些功能依赖性进行建模。然而,只有很少的实证研究,报告在工业软件系统中的这种依赖性的程度,以及如何在工业发展的背景下考虑它们。在本文中,我们分析了一个真正的汽车软件系统的功能架构,旨在评估未来车辆的功能之间的相互作用的程度,意识和重要性。我们的研究结果表明,在功能架构中,至少有85%的分析车辆功能相互依赖。它们还表明,当开发人员仅在架构级别上建模时,他们并不知道大量的这些依赖关系。因此,开发人员提到需要更精确的功能交互规范,例如,进行全面的影响分析。这些结果挑战了目前的开发方法,并强调需要一个广泛的建模功能及其依赖关系的需求工程。
2017-08-29 cs.SE
Impermanent Identifiers: Enhanced Source Code Comprehension and Refactoring
本文针对当代软件开发挑战提出以临时标识符为核心的创新代码增强方法,通过实证检验评估其在开发者中的采用与接受度,为代码增强开辟新方向并推动软件开发实践改进。
2024-06-14 cs.SE