The Challenges of CASE Design Integration in the Telecommunication Application Domain
电信软件行业面临的问题的严重性目前正处于软件工程师应该深入参与的阶段。本文介绍了欧洲正在进行的一项关于先进电信技术的研究计划--BOOST(Broadband Object-Oriented Service Technology)。该项目涉及几个国家的电信公司、研究中心和大学之间的合作。讨论了在电信应用领域集成CASE工具以支持支持软件开发所面临的挑战。一个软件过程模型,鼓励组件的可重用性,命名为X模型,被描述为电信软件行业的软件生存周期模型的一部分。
2015-07-24 cs.SE
ARTENOLIS: Automated Reproducibility and Testing Environment for Licensed Software
动机:自动测试代码变更是持续集成的一个基本特性。对于开源代码,没有许可的依赖关系,存在各种持续集成服务。基于约束的重建和分析(COBRA)是一套用于计算建模的开源代码,依赖于许可软件。一个新的自动化框架的持续集成在半许可证的环境中需要开发的COBRA社区和相关工具的COBRA。结果如下:ARTENOLIS是一个通用的基础设施软件应用程序,它实现了开源软件与许可依赖项的持续集成。它使用主从框架,在多个操作系统和多个版本的许可软件依赖项上测试代码。ARTENOLIS确保COBRA工具和相关工具中代码的稳定性、完整性和跨平台兼容性。可用性和实施:可通过artenolis.lcsb.uni.lu免费访问持续集成服务器,该服务器是再现性和测试基础设施的核心。持续集成框架代码位于/.ci目录中,位于存储库的根目录下,可在github.com/opencobra/cobratoolbox上免费获得。
2017-12-01 cs.SE
XML Entity Architecture for Efficient Software Integration
提出了一种基于xml实体的架构实现方法,以改善具有不兼容xml模式的多个第三方软件系统之间的集成。xml实体架构实现表明,在内部软件和其他三个供应商模式之间映射模式所需的代码更改减少了5.2%,表明质量有所提高。模式映射开发时间减少了3.8%,总体发布时间减少了5.3%,这表明生产力有所提高。所提出的技术证明,使用XML实体和XML转换是更有效的编码工作和部署的复杂性相比,使用面向对象的脚本语言,如C#映射模式。
2016-06-25 cs.SE
Top-down Paradigm in Engineering Software Integration
本文研究了自顶向下的工程软件集成方法。一组这种方法的优点,通过例子。所有示例都是由开放源代码提供的。
2009-08-06 cs.CE cs.SE
Enhancing Agile Software Development Sustainability through the Integration of User Experience and Gamification
本文提供了关于如何增强敏捷开发过程的可持续性的丰富讨论。特别是,我们专注于最近开发的一个框架,名为GLUX,它将精益UX集成到Scrum中。GLUX的主要目标是通过使用游戏化来激励敏捷团队采用以用户为中心的思维方式,并在整个开发过程中协作开展UX活动,从而促进敏捷和用户体验(UX)之间的无缝集成。我们作为软件研究人员的角色是为提高软件的可持续性做出贡献,并为软件工程社区提供工具和技术,以提高软件开发的人力、经济和环境可持续性。我们发现,GLUX通过赋予自给自足,以问题为中心的团队,建立一个激励和参与的环境,并发展团队合作来解决人类的可持续发展问题。经济可持续性是通过最大限度地减少用户体验债务和使用游戏化技术来引导敏捷团队的行为和思维集中于价值创造来解决的。最后,通过鼓励敏捷团队构建最小可行产品(MVP)来促进环境可持续性。
2022-09-28 cs.SE
Teaching Software Engineering with LLM and MCP Integration: From Classroom to Industry Practice
City University of Hong Kong(香港城市大学);HSBC(汇丰银行);Hong Kong Metropolitan University(香港都会大学)
本研究将LLM和MCP集成到软件工程协作教学模式中,通过嵌入驱动工具到教学、代码辅助和工程模拟,弥合传统教学与工业流程的差距,提升学生编程、问题解决和智能工具使用能力。
2026-06-18 cs.SE
Towards the integration of formal specification in the Áncora methodology
有一些非正式的方法论,如RUP,OpenUP,敏捷方法论,如SCRUP,XP和技术,如UML提出的那些,它们允许软件开发。软件行业一直在努力开发高质量的软件,因为工程需求并不重要,导致需求规格不佳,软件质量差。为了产生的贡献,规范的要求,本文介绍了一种方法的建议,实施正式的方法的结果的过程中的需求分析的方法Áncora。
2011-11-04 cs.SE
Designing Adaptive Developer-Chatbot Interactions: Context Integration, Experimental Studies, and Levels of Automation
针对软件开发复杂度高、上下文多样且相关交互研究不足的问题,本研究探索基于上下文的开发者-聊天机器人自适应交互设计,以形成支持开发者工作的方案与知识。
2023-05-01 cs.SE
Visual Integration of Static and Dynamic Software Analysis in Code Reviews via Software City Visualization
针对现有代码评审可视化工具仅支持静态分析、与工作流集成不足的问题,提出基于Web的软件城市可视化方法,整合静动态分析数据并对接Git服务,通过扩展ExplorViz实现,可提升分布式系统代码评审效率。
2024-08-15 cs.SE
Integration of Security Modules in Software Development Lifecycle Phases
信息保护正在成为在高度集成的技术环境中设计、创建和实施软件应用程序的焦点。许多工业IT安全标准和政策都要求在软件开发过程中使用安全编码技术。尽管目前的网络保护措施和最佳实践,漏洞仍然很强,并成为每个开发软件的巨大威胁。了解安全软件开发在安全管理中的地位至关重要,它受到人为安全相关因素等原因的影响。尽管开发人员通常要对安全漏洞负责,但实际上,许多问题往往是由于在开发任务期间缺乏组织支持来处理安全性而产生的。虽然抽象的安全编码准则得到了普遍认可,但针对各种程序设计语言的低级安全编码准则却有限。需要一种好的技术来为软件开发人员标准化这些指南。本文的目标是通过确定一组安全的软件开发指南,为软件设计人员和开发人员提供方向,以解决这一差距。此外,概述了安全编码指南的选择标准,并调查了安全编码的适当意识方法。
2020-12-10 cs.SE
A Systematic Literature Review on Trust in the Software Ecosystem
我们对全球软件生态系统中的信任概念进行了系统的文献综述。我们承认信任是软件生态系统中两个参与者之间的事情,我们研究了信任在最终用户与(1)软件产品,(2)软件包管理员,(3)软件生产组织和(4)软件工程师之间的关系中扮演的角色。系统性文献综述中出现了两个主要发现。首先,我们提供了一个软件生态系统中的信任的定义,包括一个理论框架,分解和表示信任的理论理解。其次,我们提供了一个信任因素的列表,可用于组装软件信任的概述。
2022-02-14 cs.SE
Introducing High School Students to Version Control, Continuous Integration, and Quality Assurance
针对软件工程教学起步晚的问题,本文记录了面向有AP计算机科学基础的高中生设计小组项目,教授版本控制、持续集成等技能,使其能为开源科学计算项目编写有效自动化测试的实践经验。
2023-10-05 cs.SE
Code Generator Composition for Model-Driven Engineering of Robotics Component & Connector Systems
用于机器人应用的工程软件需要多领域和特定于应用的解决方案。模型驱动工程和建模语言集成为开发专门的、可重用的机器人软件架构模型提供了方法。代码生成器将这些独立于平台的模型转换为特定于机器人平台的可执行代码。多领域应用的生成式软件工程不仅需要集成建模语言,还需要集成验证机制和代码生成器。在本文中,我们勾勒出一个概念模型的代码生成器组成,并显示了一个实例,这个模型中的MontiArc自动机框架。MontiArcAutomaton允许使用不同的组件行为建模语言将软件架构建模为组件和连接器模型。代码生成器集成的有效手段是基于模型的机器人软件工程中applicationspecific语言的事后集成的必要条件。
2015-05-05 cs.SE
AUTOFRAME -- A Software-driven Integration Framework for Automotive Systems
本文提出AUTOFRAME框架,通过硬件抽象层和动态软件部署实现软件定义汽车的集中式软件与硬件集成,并在仿真中验证了车道检测、运动规划和车辆控制等能力,为未来汽车架构设立了新标准。
2025-03-06 cs.SE
Systematic Mapping Protocol: Variability Management in Dynamic Software Product Lines for Self-Adaptive Systems
上下文:动态可变性管理在动态软件产品线中的重要性。目的:定义进行系统映射研究的协议,以总结和综合自适应系统中动态软件产品线动态可变性管理的证据。方法:应用该方案,按照K.彼得森结果:一个经过验证的方案,进行系统的映射研究。结论:第一个研究结果表明,有必要可视化的新方法来管理动态软件产品线的可变性。
2022-06-29 cs.SE
No Free Lunch: Research Software Testing in Teaching
本研究探讨将科研软件测试集成到教学中对科研软件的影响,通过体内实验发现该方式能改善文档并减少依赖,但因精力投入大及学生代码知识产权不确定性,学生代码未能直接整合入科研软件。
2024-12-19 cs.SE
The Role of Generative AI in Software Development Productivity: A Pilot Case Study
本文通过试点案例研究探讨了生成式AI工具在软件开发中的整合,重点分析了其对不同角色从业者生产力的影响,发现这些工具对个人生产力有积极促进作用,但也存在需要解决的局限性。
2024-06-01 cs.SE
Requirements Engineering, Software Testing and Education: A Systematic Mapping
本文通过系统性映射研究,梳理教育情境中需求工程与软件测试被结合探讨的方式。
2023-04-26 cs.SE
Employing Continuous Integration inspired workflows for benchmarking of scientific software -- a use case on numerical cut cell quadrature
Technical University of Darmstadt(达姆施塔特工业大学);University of the Bundeswehr Munich(慕尼黑联邦国防军大学);Technical University of Graz(格拉茨工业大学)
本文提出利用持续集成工具自动化科学软件基准测试,通过数值切割单元求积用例展示方法有效性。
2025-05-21 cs.SE
Integration of the OpenIGTLink Network Protocol for Image-Guided Therapy with the Medical Platform MeVisLab
我们提出了集成的OpenIGTLink网络协议的图像引导治疗(IGT)与医疗原型平台MeVisLab。OpenIGTLink是一种新的、开放的、简单的、可扩展的IGT网络通信协议。该协议提供了一种标准化的机制,通过传输坐标变换、图像和状态消息来连接硬件和软件。MeVisLab是一个用于开发图像处理算法以及可视化和交互方法的框架,重点关注医学成像。通过使用C++程序设计语言开发软件模块,实现了OpenIGTLink与MeVisLab的集成。因此,使用MeVisLab的研究人员可以将他们的软件连接到已经支持OpenIGTLink协议的硬件设备,例如NDI Aurora磁跟踪系统。此外,OpenIGTLink模块还可用于直接与Slicer通信,Slicer是一个免费的开源软件包,用于可视化和图像分析。该集成已通过在线跟踪客户端和真实跟踪系统进行了测试。
2013-09-07 cs.SE
Efficient Integration of cross platform functions onto service-oriented architectures
针对汽车软件架构复杂化导致的异构平台集成难题,提出一种与硬件和平台无关的应用开发与集成概念,通过标准化接口、机器可读描述及半自动化工具,实现应用在AUTOSAR Adaptive和ROS 2等平台的高效集成。
2025-10-31 cs.SE
Continuous Integration and Software Quality: A Causal Explanatory Study
本文运用因果有向无环图并结合文献综述与软件仓库挖掘,分析70个开源项目,揭示了持续集成对软件质量的直接和间接因果效应及项目年龄的混杂作用。
2023-09-18 cs.SE
ADEPT: A Socio-Technical Theory of Continuous Integration
在软件开发工作流程中依赖自动化的持续实践已经被工业界广泛采用了十多年。尽管这种广泛的使用,软件开发仍然是一个主要的人类驱动的活动,是高度创造性和协作。关于持续实践如何依赖于自动化及其对软件质量和开发速度的影响,已经有了广泛的研究,但对于自动化如何影响开发人员的行为和协作,研究相对较少。在本文中,我们介绍了一个关于持续实践的社会技术理论。ADEPT理论结合了包括人、过程、文档、自动化和项目环境在内的结构,并描述了与这些结构相关的命题。该理论是从以前的实证研究中观察到的现象中得出的。我们展示了ADEPT理论如何解释和描述软件开发中现有的连续实践,以及如何使用它来生成新的命题,以便将来的研究了解连续实践及其对软件开发的社会和技术方面的影响。
2021-04-06 cs.SE
Chatbot integration in few patterns
聊天机器人是能够用自然语言与人类交互的软件代理。他们的直观交互模式预计将显著重塑未来的软件格局,而今天聊天机器人已经入侵了众多的场景和上下文。本文从开发人员的角度出发,确定了一组捕获不同聊天机器人集成场景的架构模式,并回顾了最先进的开发辅助工具。
2020-09-18 cs.SE
A systematic mapping on quantum software development in the context of software engineering
本文通过系统性映射研究,综述了量子计算机软件的特殊性与特征,基于24篇论文回答了三个研究问题,填补了量子软件工程领域的研究空白。
2024-03-15 cs.SE
Software Engineering Process and Methodology in Blockchain-Oriented Software Development: A Systematic Study
软件工程是一个系统的、有纪律的、可量化的方法的过程,对大规模和复杂的软件开发有重要影响。在软件开发的生存周期中,已经有许多成熟的软件过程模型被广泛采用,这些模型将利益相关者推向最终软件产品开发的完成。在先进技术的范围内,各种新兴的和未来的技术正在发展,这确实需要软件工程社区的关注,传统的软件过程技术是否能够继承到未来的软件开发的核心基础。在本文中,我们研究了现有软件工程流程和模型的影响,包括敏捷和面向区块链的软件工程中的DevOps。我们还研究了采用最先进的概念和发展面向区块链系统的当前软件工程过程的重要性。我们讨论的洞察力的软件项目管理实践中的BOS开发。这项研究的结果表明,利用国家的最先进的技术在软件过程中的未来技术将是具有挑战性的和有前途的研究,需要广泛解决和改善国家的最先进的软件工程过程和方法的新技术。
2022-07-02 cs.SE
Initial and Eventual Software Quality Relating to Continuous Integration in GitHub
对新功能和错误修复的持续需求迫使软件项目缩短周期并更快地交付更新,同时保持软件质量。廉价的虚拟化云计算的可用性通过支持按需持续集成(CI)帮助缩短了时间表。像GitHub这样的平台支持云中的CI。在使用CI的项目中,用户提交拉取请求会触发CI步骤。除了加速构建和测试之外,这还意外地创建了大量构建和测试成功和失败的档案。CI是一个相对较新的现象,这些档案允许对CI进行详细的研究。暴露出多少问题?它们发生在哪里?哪些因素会影响CI失败?CI确定的“初始质量”是否能预测代码中以后会出现多少bug(“最终质量”)?在本文中,我们对这些记录进行了大规模的精细分辨率研究,以更好地了解CI过程,CI失败的性质和预测因素,以及CI失败与代码最终质量的关系。我们发现:a)CI失败似乎集中在几个文件中,就像正常的bug一样; b)CI失败与最终失败的相关性不是很高; c)在pull请求中使用CI并不一定意味着该请求中的代码质量良好。
2016-06-02 cs.SE
A Systematic Methodology for Developing Discrete Event Simulation Models of Software Development Processes
到目前为止,已经有几个开发软件过程模拟器的努力。然而,开发模拟器的方法似乎是临时的,没有系统的方法存在。由于支持软件开发的建模和仿真应该变得更加流行(有迹象表明它确实如此),因此需要将建模从工艺迁移到工程。本文提出了这样一个系统的方法,专注于离散的基于仿真的决策模型的开发,但可扩展到其他建模方法。
2014-03-14 cs.SE
A Systematic Literature Review of Modern Software Visualization
我们报告的国家的最先进的软件可视化。为了确保重现性,我们采用了系统性文献综述方法。也就是说,我们分析了来自IEEE Xplore和ACM数字图书馆数据库的1440个条目。我们选择了2013-2019年发表的105篇相关论文全文,我们根据支持的软件系统方面(即,结构、行为和进化)。对于每篇论文,我们提取了表征软件可视化的主要维度,如软件工程任务、用户角色、信息可视化技术和用于显示可视化的媒体。我们为该领域的研究人员提供了软件可视化的最新技术概述,并突出了研究机会。我们还通过将软件可视化与开发关注点和具体细节进行匹配,以获得可用的可视化工具,从而帮助开发人员为其特定环境确定合适的可视化。
2020-03-02 cs.SE
Scaling Agile Development in Mechatronic Organizations - A Comparative Case Study
敏捷软件开发原则使公司能够成功和快速地交付软件,满足客户的期望,同时专注于高质量。许多使用纯软件系统的公司已经采用了这些原则,但是在处理非纯软件产品的公司中实现它们是具有挑战性的。我们确定了一组目标和实践,以支持开发软件密集型机电一体化系统的公司的大规模敏捷开发。我们使用了归纳法的基础上收集的实证数据在纵向研究与北欧地区的六家公司。数据汇集是在两年多的时间里通过焦点小组讲习班、个人现场访谈和补充调查进行的。大规模敏捷开发的主要好处是提高质量,通过支持交付软件、硬件和机制的团队之间的定期或持续集成的实践来实现。在这方面,最有利的交付集成周期是每四周一次;虽然每天的持续集成有利于软件团队,但其他学科似乎并没有从更快的集成周期中受益。我们确定了108个目标和开发实践,支持公司之间的敏捷原则,其中大多数与集成有关;因此,26个敏捷实践是机电一体化领域独有的,以支持采用敏捷超越纯软件开发团队。其中16项做法被视为关键推动因素,并得到我们的控制案例的证实。
2017-03-02 cs.SE
Testing Scientific Software: A Systematic Literature Review
内容:科学软件在关键决策中发挥着重要作用,例如根据气候模型进行天气预测,以及为研究出版物计算证据。最近,由于软件故障导致的错误,科学家不得不撤回出版物。系统测试可以识别代码中的此类错误。目的:本研究旨在确定测试科学软件时面临的具体挑战,提出的解决方案和未解决的问题。方法:采用系统的文献检索法,对相关文献进行分析。我们确定了62项研究,提供了有关测试科学软件的相关信息。结果如下:我们发现,测试科学软件时面临的挑战分为两大类:(1)由于科学软件的特性(如Oracle问题)而发生的测试挑战,以及(2)由于科学家和软件工程社区之间的文化差异而发生的测试挑战,如将代码和模型视为不可分割的实体。此外,我们确定了可能克服这些挑战及其局限性的方法。最后,我们描述未解决的挑战,以及如何软件工程研究人员和从业人员可以帮助克服它们。结论:科学软件对测试提出了特殊的挑战。具体来说,科学家开发人员和软件工程师之间的文化差异,以及科学软件的特点,使测试更加困难。现有的技术,如代码克隆检测,可以帮助改善测试过程。软件工程师在开发测试技术时,应该考虑科学软件带来的特殊挑战,例如Oracle问题。
2018-04-05 cs.SE
Fail Fast - Fail Often: Enhancing Agile Methodology using Dynamic Regression, Code Bisector and Code Quality in Continuous Integration (CI)
敏捷实践作为传统软件开发方法的替代方案,正受到业界的广泛关注。然而,在将敏捷[2]与测试驱动开发(TDD)[10]实践、云部署、持续集成(CI)、不间断性能、负载、安全和可访问测试相结合方面存在许多挑战。在这些挑战中,持续集成是一种在软件测试中被广泛讨论和实践的方法。本文描述了一种在持续集成中使用代码质量、代码平分线和动态回归来改进敏捷方法的方法。用于此分析、设计和开发的工具集是Jenkins、Robot Framework [4]、Perforce和Git。
2015-06-29 cs.SE
A Road Map to Bio-inspired Software Engineering
软件生产研究正在两种并行的方法上快速发展:传统和生物启发。生物启发的方法通常被开发和呈现为常规方法的增强。传统的方法通过软件工程方法学与全局环境相结合而具有优势,而生物启发方法与生物启发软件工程方法学的结合将丰富传统方法,使其无可辩驳地成为最好的方法。本文分析了这种仿生软件工程出现的原因,提出了第一种方法,并给出了路线图和一些挑战,最后给出了第一种方法在不同软件系统类别上的应用及其简要评价。然而,工业规模的评价仍然是一个挑战。
2019-09-11 cs.SE
Quality Assurance And Integration Testing Aspects In Web Based Applications
集成测试是软件测试生存周期的重要阶段之一。随着互联网和Web服务的快速发展,基于Web的应用也在迅速增长,其重要性和复杂性也在不断增加。分布式组件、应用程序的异构性和多样性,以及它们对多平台的支持和协作性,使得这些应用程序变得更加复杂,规模也在迅速增长。这些应用程序的质量保证变得越来越重要。测试是实现和确保这些软件或基于Web的产品质量的关键过程之一。在基于Web的应用程序中涉及到许多测试挑战。但最重要的是,集成是与基于Web的应用程序相关的最关键的测试。在集成测试工作中涉及到许多具有挑战性的因素。这些因素对基于Web的应用程序的整体质量有近70%到80%的影响。在软件行业中,不同类型的测试方法被从业者用来解决与集成相关的问题,这些问题是由于基于Web的应用程序的复杂性不断增加。
2012-07-13 cs.SE
Architectural Support for Software Performance in Continuous Software Engineering: A Systematic Mapping Study
本研究针对持续软件工程中性能评估的难点,采用系统性映射方法从215篇相关论文中筛选66项核心研究,对面向性能的持续软件工程架构支持的研究现状进行分类梳理,为领域研究重点和未来方向提供参考。
2023-04-05 cs.SE
Cognitive Biases in Software Engineering: A Systematic Mapping Study
软件项目挑战和失败的一个来源是由人类认知偏见引入的系统性错误。虽然在认知心理学中得到了广泛的探讨,但有关认知偏差的调查只是最近才在软件工程(SE)研究中得到普及。因此,本文系统地映射,汇总和综合的文献认知偏见在软件工程产生一个全面的知识体系,了解国家的最先进的研究,并为未来的研究和实践提供指导。我们重点关注偏见的前因、影响和缓解技术,确定了1990年至2016年间发表的65篇文章,其中调查了37种认知偏见。尽管人们对认知偏差的兴趣越来越浓厚,但研究结果显示,在理解和解释认知偏差方面,对缓解技术的研究很少,理论基础也很薄弱。虽然偏见相关的研究已经产生了许多新的见解,在软件工程社区,具体的偏见缓解技术仍然需要软件专业人员克服认知偏见对他们的工作的有害影响。
2018-10-23 cs.SE
Concerns in Software Development: A Systematic Mapping Study
内容:成功地解决与软件系统开发和运行相关的利益相关者的关注对于实现开发目标至关重要。随着越来越多的系统被用来处理关键任务,在整个软件开发生存周期中使用系统化方法来解决这些问题的重要性也在不断增加。目的:本研究的目标是提供一个概述,以解决整个软件开发生存周期中的问题。方法:使用预定义的方案进行系统的映射研究。在四个数字数据库中检索研究文献,并在多名研究人员进行三轮选择过程后选择主要研究。结果:对提取的数据进行处理,并从不同的角度报告结果。我们的研究目标也对结果进行了分析。结论:我们发现,在软件开发生存周期的不同阶段,术语的使用和解决问题有相当大的变化。
2023-02-13 cs.SE
Continuous Integration Theater
背景:持续集成(CI)系统现在是一些软件开发实践的基础。一些工具,如TravisCI,CircleCI和Hudson,实现CI实践,通常被软件工程师采用。然而,软件工程师使用这些工具的方式可能会导致我们所说的“持续集成剧场”,即软件工程师不能有效地使用这些工具,从而导致不健康的CI实践。目的:本文的目标是了解这些不健康的持续集成实践在实践中的普遍程度。方法:通过检查1,270个使用TravisCI(最常用的CI服务)的开源项目,我们定量研究了使用CI的常见程度(1)不频繁提交,(2)在测试覆盖率差的软件项目中,(3)长期保持中断的构建,以及(4)运行时间过长的构建。结果:我们观察到748个($sim$ 60%)项目面临不频繁的提交,这基本上使合并过程更加困难。此外,我们能够找到51个项目的代码覆盖率信息。平均代码覆盖率为78%,尽管Ruby项目的代码覆盖率高于Java项目(分别为86%和63%)。然而,我们也发现了一些覆盖率非常小的项目($sim$ 4%)。尽管如此,我们观察到85%的研究项目至少有一个损坏的构建,需要超过四天的时间才能修复。有趣的是,非常小的项目(多达1,000行代码)是修复损坏的构建所需时间最长的项目。最后,我们注意到,对于大多数被研究的项目,构建都是在10分钟的经验法则下执行的。结论:我们的研究结果是很重要的软件工程师越来越多的社区,采用CI的做法,每天的基础…
2019-07-02 cs.SE
Sustainability in Software Architecture: A Systematic Mapping Study
可持续性在一般的软件工程中,特别是在软件架构中,是一个越来越多的研究主题。已经有一些二级研究解决软件工程的可持续性,但没有这样的研究明确侧重于软件架构。这项工作旨在通过对可持续性和软件架构研究之间的交叉点进行系统的映射研究来填补这一空白,其目的是(i)反映当前的技术水平,以及(ii)确定进一步研究的需求。我们的研究结果表明,总体而言,现有的作品不成比例地集中在可持续发展的具体方面,特别是最技术和“内向”的。这是以牺牲解决可持续性等多方面问题所需的整体视角为代价的。此外,更多的反思导向的研究工作,并更好地覆盖在建筑生存周期的活动需要进一步成熟的领域。基于我们的研究结果,我们提出了一个可持续性感知的软件架构的研究议程。
2022-04-25 cs.SE
Managing Object-Oriented Integration and Regression Testing
面向对象软件的系统测试比传统软件的测试要复杂得多。特别是高度增量和迭代的开发周期需要更多的更改和部分实现。重新实现的类。在开发过程中,必须进行更多的集成和回归测试,以达到稳定的阶段。在这个演示文稿中,我们提出了一个图表捕捉所有可能的依赖关系和面向对象的程序中的相互作用。然后,我们给出了算法和覆盖标准,以确定集成响应。回归测试策略和所有测试用例将在一些实施后执行。修改活动。最后总结了一些实践经验和体会。
1999-02-05 cs.SE
Software Analytics to Software Domains: A Systematic Literature Review
软件分析(SA)是最近出现的大数据分析的一个新分支(2011年)。SA与直接软件分析的区别在于,它将从许多不同软件工件中挖掘的数据链接起来,以获得有价值的见解。这些见解对于贯穿软件生命周期的不同阶段的决策过程是有用的。由于SA是目前一个热门和有前途的话题,我们进行了系统的文献综述,在本文中提出,以确定在SA的知识和开放的研究领域的差距。由于许多研究人员仍然对SA的真正潜力感到困惑,我们不得不筛选出可用的研究论文,以获得与SA最相关的工作供我们审查。在135项研究中,筛选出19项研究。我们的系统评价基于四个主要因素:软件从业者SA的目标,SA所涵盖的领域,SA提取的工件,以及这些工件是否有联系。我们的审查结果表明,大部分可用的SA研究只服务于开发人员的需求。此外,许多可用的研究只使用一个工件,这反过来意味着工件之间的联系更少,见解更少。这表明,现有的SA研究工作仍然是胚胎留下了大量的空间,为未来的研究在SA领域。
2015-11-12 cs.SE
Software Architectures for Robotics Systems: A Systematic Mapping Study
软件体系结构相关的问题是机器人系统的重要。二十多年来,以架构为中心的机器人系统软件开发和演化一直吸引着研究人员的关注。这项工作的目标是系统地识别,分类和整体映射现有的解决方案,研究进展和趋势,影响架构驱动的建模,开发和机器人软件的演变。我们进行了一项系统映射研究,以确定和分析基于56篇同行评审论文的相关文献。我们从选定的论文中提取和综合数据,对现有的研究进行分类,并系统地映射解决方案,框架,符号和评估方法,以突出软件架构在机器人系统中的作用。我们已经确定了八个不同的研究主题,支持架构解决方案,以实现机器人软件的操作,进化和开发特定活动。在这一领域的研究已经从面向对象的组件为基础,现在服务驱动的机器人代表不同的体系结构代。自2005年以来,报告的解决方案利用模型驱动,面向服务和逆向工程技术。一个新兴的趋势是云机器人技术,它利用服务驱动架构的基础来支持机器人互联网。该SMS的结果促进了知识转移,使研究人员和从业人员受益,重点是利用软件架构来建模,开发和发展机器人系统。
2017-01-19 cs.SE
Devops And Agile Methods Integrated Software Configuration Management Experience
本研究通过集成DevOps和敏捷方法改进软件配置管理,与传统方法相比,在构建部署时间、自动化报告、版本管理、系统控制及工作效率等方面取得显著提升。
2023-06-24 cs.SE
Carbon-Efficient Software Design and Development: A Systematic Literature Review
本文通过系统性文献综述梳理65项碳高效软件设计与开发研究,提出5W1H分类法并总结现有方法、挑战与未来方向。
2025-04-09 cs.SE
Blockchain software patterns for the design of decentralized applications: A systematic literature review
软件模式是一种可重用的解决方案,用于在设计软件时解决给定上下文中经常出现的问题。使用模式是软件架构师确保软件质量的常见做法。许多模式集合已被提出用于大量的应用程序域。然而,由于该技术的新近发展,只有少数可用的集合在工业区块链应用中缺乏广泛的测试。软件架构师也很难在其应用程序中充分应用区块链模式,因为它需要深入了解区块链技术。通过系统的文献综述,本文确定了120种独特的区块链相关模式,并提出了一种由多个类别组成的模式分类法,该分类法是从提取的模式集合中构建的。该集合的目的是映射、分类和描述文献中所有可用的模式,以帮助读者在区块链模式选择方面做出适当的决定。本研究还展示了这些模式的潜在应用,并确定了区块链模式与其他非区块链软件模式之间的关系。
2022-01-12 cs.SE
Software Architecture for Quantum Computing Systems -- A Systematic Review
量子计算系统依赖于量子力学的原理,比经典计算系统更有效地执行大量具有计算挑战性的任务。软件密集型系统的架构可以使架构师能够利用以架构为中心的过程、实践、描述语言等,在更高的抽象层次上对量子计算软件(简称量子软件)进行建模、开发和进化。我们进行了系统的文献综述(SLR),以调查(i)架构过程,(ii)建模符号,(iii)架构设计模式,(iv)工具支持,以及(iv)量子软件架构的挑战性因素。SLR的结果表明,量子软件代表了一种新的软件密集型系统;然而,可以定制现有的过程和符号来导出量子软件的架构活动和开发建模语言。映射到量子门(Qugates)的量子比特(Qubits)可以表示为实现量子软件的架构组件和连接器。工具链可以包含可重用的知识和人类角色(例如,量子域工程师、量子代码开发人员)来自动化和定制架构过程。该SLR的结果可以帮助研究人员和从业人员开发新的假设进行测试,导出参考架构,并利用以架构为中心的原则和实践来设计新兴的和下一代的量子软件。
2023-03-22 cs.SE
A Systematic Mapping Study of Empirical Studies performed with Collections of Software Projects
内容:在软件工程实验中,软件项目是常见的资源,尽管这些资源通常是在没有遵循特定策略的情况下选择的,这降低了结果的代表性和可复制性。一种选择是使用软件项目的保留集合,但这些集合必须是最新的,并有明确的指导方针来保证它们在很长一段时间内的更新。目标:对实证研究中选择软件项目的策略进行了系统的二次研究,以发现考虑的指导方针,项目集合的使用程度,提取的元数据以及随后进行的统计分析。方法:一项系统性映射研究,以识别2013年1月至2020年12月发表的研究。结果:122项研究被确定,其中72%使用自己的指南进行项目选择,27%使用现有的项目集合。同样,也没有证据表明项目选择过程有一个标准化框架,也没有应用与样本收集战略有关的统计方法。
2021-09-15 cs.SE
Towards Mixed-Criticality Software Architectures for Centralized HPC Platforms in Software-Defined Vehicles: A Systematic Literature Review
Daimler Truck AG(戴姆勒卡车股份公司);Technical University of Munich(慕尼黑工业大学)
本文通过系统文献综述探讨软件定义车辆集中HPC平台中混合关键性软件架构的整合方法,提出面向实践的指南,评估现有研究的系统性和实证性,并提出示例SWA设计。
2025-06-06 cs.SE
Software Engineering Practices for Scientific Software Development: A Systematic Mapping Study
背景资料:科学软件应用程序的开发远非微不足道,因为这些应用程序的必要复杂性不断增加,它们的规模不断增加,并且需要密集的维护和重用。目标:为此,科学软件开发人员(通常缺乏正式的计算机科学背景)需要使用适当的软件工程(SE)实践。本文介绍了一个系统的映射研究的结果,使用SE的科学应用开发和它们对软件质量的影响。方法:为了实现这一目标,我们进行了系统的映射研究的359篇论文。我们首先描述了一个目录中使用的科学软件开发的SE实践。然后,我们讨论了驱动这些实践应用的感兴趣的质量属性,以及将实践应用于质量的尝试性副作用。结果如下:主要研究结果表明,科学软件开发人员正在关注提高实现生产力的实践,如代码重用,使用第三方库,以及应用“好”的编程技术。此外,除了发现性能是许多这些应用程序的关键驱动力之外,科学软件开发人员还发现可维护性和生产力也很重要。结论:研究结果与现有文献进行了比较,解释下的软件工程棱镜,研究人员和从业人员提供的各种影响。该研究的主要发现之一,被认为是推动未来研究工作的重要因素,是缺乏在应用软件实践时需要做出权衡的证据,即,对其他质量属性的负面(间接)影响。
2020-10-19 cs.SE
Exploring Factors and Metrics to Select Open Source Software Components for Integration: An Empirical Study
开源软件(Open Source Software,OSS)目前被广泛使用并集成在大多数商业产品中。然而,选择开放源码软件项目进行整合并不是一个简单的过程,主要是由于缺乏明确的选择模式和缺乏来自开放源码软件门户的信息。[目的]探讨目前从业人员在选择OSS时所考虑的因素和衡量标准。我们还调查了可用于评估因素的信息和门户网站的来源,以及使用API自动提取此类信息的可能性。[方法]通过对23名经常在软件中集成OSS的有经验的开发人员进行问卷调查,得出OSS评估和比较所采用的因素和指标。此外,我们还调查了用于评估GitHub中最受欢迎的10万项目的OSS提取信息的门户的API。[结果]我们确定了一个由8个主要因素和74个子因素组成的集合,以及170个相关指标,企业可以使用这些指标来选择要集成到其软件项目中的OSS。出乎意料的是,只有一小部分因素可以自动评估,在170个指标中,只有40个可用,其中只有22个返回了所有10万个项目的信息。因此,我们建议项目维护者和项目存储库注意为他们托管的项目提供信息,以增加被采用的可能性[结论] OSS选择可以部分自动化,通过从门户API提取选择所需的信息。OSS生产商可以从我们的结果中受益,检查他们是否提供了潜在采用者通常需要的所有信息。
2022-02-04 cs.SE
A Systematic Literature Review on Intertemporal Choice in Software Engineering - Protocol and Results
当在软件项目中做出选择时,工程师和其他利益相关者参与了涉及不确定未来结果的决策。心理学、行为经济学和神经科学的研究已经质疑了许多关于如何做出这些决定的经典假设。这篇文献综述的目的是描述支持软件工程中这些决策研究的假设。我们确定了关于这个问题的实证研究,并分析了时间的作用是如何在SE的决策研究的特点。文献综述的目的是支持跨期决策的实证研究在实践中的描述性框架的发展。
2017-01-28 cs.SE
State-of-the-Art in Software Security Visualization: A Systematic Review
本文系统综述了软件安全可视化研究,构建了包含图形、符号、矩阵和隐喻四类的分类体系,并指出开发适应安全态势演变的创新可视化技术对增强威胁检测和指导未来研究至关重要。
2025-09-22 cs.SE
Data Preparation for Software Vulnerability Prediction: A Systematic Literature Review
软件漏洞预测(SVP)是一种数据驱动的软件质量保证技术,近年来在软件工程研究领域得到了广泛的关注。然而,准备软件漏洞(SV)相关数据的困难被认为是工业采用SVP方法的主要障碍。鉴于关于这一主题的文献越来越多,但分散,因此需要及时系统地选择,审查和综合报告现有SV数据准备技术和挑战的相关同行评审论文。我们对SVP研究进行了系统性文献综述(SLR),以开发数据准备挑战,解决方案和所需研究的系统化知识体系。我们对61篇相关论文的回顾使我们能够为SVP相关挑战制定一个数据准备分类。我们已经分析了识别的挑战和可用的解决方案,使用建议的分类。我们对最先进技术的分析使我们能够确定未来研究的机会。这篇综述还为SVP方法的研究者和实践者提供了一套建议。
2022-04-27 cs.SE
Integration of Communication Analysis and the OO-Method: Rules for the manual derivation of the Conceptual Model
企业信息系统可以按照模型驱动的范例开发。通过这种方式,代表组织工作实践的模型被用来产生代表信息系统的模型。当前的软件开发方法开始为概念模型的构建提供指导,并将需求模型作为输入。本文提出了两种方法的集成:通信分析(面向通信的需求工程方法[España,González et al. 2009])和OO方法(模型驱动的面向对象的软件开发方法[Pastor and Molina 2007])。为此,提出了一种从业务过程和需求模型中导出OO方法概念模型的系统技术。处理业务过程规范(包括消息结构)是为了获得计算机化信息系统的静态和动态视图。然后,使用OLIVANOVA框架,可以自动生成软件源代码[CARE Technologies]。
2011-06-21 cs.SE