Adopting Microservices and DevOps in the Cyber-Physical Systems Domain: A Rapid Review and Case Study
网络物理系统(CPS)领域最近出现了强劲的增长,例如,由于物联网(IoT)在工业领域的兴起,通常被称为“工业4.0”。然而,CPS的挑战,如强大的硬件重点可能会影响现代软件开发实践,特别是在现代化遗留系统的背景下。虽然微服务和DevOps已被广泛研究用于企业应用程序,但CPS领域的覆盖范围不足。因此,我们的目标是分析这些系统在使用和迁移到微服务和DevOps方面的挑战和实践的特殊性。我们根据146篇科学论文进行了快速审查,随后在西门子公司不同业务部门的9名CPS专业人员的基于访谈的案例研究中验证了我们的发现。综合结果描绘了CPS领域中微服务和DevOps的具体情况。虽然发现了一些差异,可能需要调整方法,但许多挑战和实践都与典型的企业应用程序相同。我们的研究支持CPS研究人员和从业人员总结挑战,解决这些问题的做法和研究机会。
2022-10-13 cs.SE
SoK: Security of Microservice Applications: A Practitioners' Perspective on Challenges and Best Practices
由于微服务的出现,基于云的应用程序部署在企业中越来越受欢迎。然而,保护这种架构是一项具有挑战性的任务,因为传统的安全概念由于其分布式性质而无法直接应用于微服务架构。这一领域的从业人员和组织所倡导的准则和最佳做法的分散性使情况更加恶化。这篇研究论文旨在揭示隐藏在灰色文献(GL)来源中的当前微服务安全讨论。特别是,我们确定了在保护微服务架构时出现的挑战,以及从业者推荐的解决这些问题的解决方案。为此,我们对互联网中存在的微服务安全挑战和最佳实践进行了系统的GL研究,目的是在博客、白皮书和标准中捕捉相关讨论。我们收集了312个GL源,其中57个进行了严格的分类和分析。这项分析一方面验证了过去在微服务安全领域的学术文献研究,但也确定了对现有方法的改进,指明了未来的研究方向。
2022-09-02 cs.CR cs.SE
Automated Identification of Security Discussions in Microservices Systems: Industrial Surveys and Experiments
缺乏对微服务特定安全挑战和解决方案的认识和了解,通常会导致微服务系统开发中的安全决策不明智。我们声称,识别和利用分散在现有微服务系统中的安全讨论可以部分弥补这一差距。我们将安全讨论定义为“开发人员讨论中的一段,其中包括与安全相关的设计决策、挑战或解决方案”。我们首先调查了67名从业者,发现保护微服务系统是一项独特的挑战,并且能够参与安全讨论对于做出安全决策非常有用。该调查还证实了可以自动识别此类安全讨论的潜在工具的实用性。我们开发了15个机器/深度学习模型来自动识别安全讨论。我们将这些模型应用于手动构建的数据集,该数据集包括4,813个安全讨论和12,464个非安全讨论。我们发现,所有的模型都可以有效地识别安全讨论:平均准确率为84.86%,召回率为72.80%,F1得分为77.89%,AUC为83.75%,G均值为82.77%。DeepM 1是一种深度学习模型,表现最好,在所有指标中均达到84%以上,并显著优于三个基线。最后,从验证调查中收集的从业者反馈显示,DeepM 1确定的安全讨论在实践中具有很好的应用前景。
2021-07-21 cs.SE
Microservice API Evolution in Practice: A Study on Strategies and Challenges
本文通过17次半结构化访谈研究了实践中微服务API演进的策略与挑战,识别出6种策略和6项挑战,并指出紧密的组织耦合与消费者锁定两个关键问题,提出自动化变更影响分析与有效沟通作为未来研究方向。
2023-11-14 cs.SE
Failure Diagnosis in Microservice Systems: A Comprehensive Survey and Analysis
该综述梳理了2003年至今98篇微服务故障诊断相关论文,阐释核心概念与架构,分析现有实践与未来方向,并整理公开数据集、工具及指标,助力领域发展与从业者应用。
2025-01-14 cs.SE
Microservices: a Language-based Approach
微服务是一种新兴的开发范式,其中软件是通过组成自治实体(称为(微)服务)来获得的。然而,微服务系统目前是使用通用程序设计语言开发的,这些通用编程语言没有为服务组合提供专用的抽象。相反,目前的实践集中在微服务的部署方面,特别是通过使用容器化。在本章中,我们提出了一种基于语言的微服务架构工程方法,我们认为这是对当前实践的补充。我们一般地讨论这种方法,然后用Jolie程序设计语言实例化它。
2017-04-26 cs.PL cs.SE
Insights on Microservice Architecture Through the Eyes of Industry Practitioners
本研究通过对53名国际软件从业者的混合方法研究,分析了单体系统向微服务迁移的驱动力、实施活动、数据一致性策略及挑战,揭示了相关实践痛点与云技术的支撑作用。
2024-08-19 cs.SE
A Microservice Architecture for Online Mobile App Optimization
在过去的十年中,出现了大量用于分析和优化移动应用程序的技术。然而,众所周知,这些技术的组件很难在其原始工具之外提取和重用。本文介绍了MAOMAO,一个基于微服务的参考架构,用于重用和集成这些组件。MAOMAO的两个目标是(1)在实践中采用可用的应用程序优化技术,(2)改进新技术的构建和评估。本文使用几种现有的应用程序优化技术来说明MAOMAO背后的动机及其从根本上改变这一领域的潜力。
2019-02-24 cs.SE
A Survey of Timing Variability in Microservice-Based Software-Defined Vehicles
Eindhoven University of Technology(埃因霍温理工大学)
该综述以软件定义车辆为示例,探究基于微服务系统的时序可变性,对比时序模型类别并总结其在软件定义车辆中的局限性。
2026-08-26 cs.DC cs.SE
Energy Efficiency in Microservice Architectures: A Systematic Literature Review
University of Groningen(格罗宁根大学)
本研究通过系统文献综述分析40项相关研究,发现微服务能效多聚焦运行时优化,设计时集成不足,测量依赖基础设施导向的方法,需加强架构层面的早期集成。
2026-08-06 cs.SE
Microservice Transition and its Granularity Problem: A Systematic Mapping Study
微服务在软件行业中获得了广泛的认可和接受,作为自主,可扩展和更可靠计算的新兴架构风格。向微服务的过渡受到了更好地调整技术设计决策与提高架构价值潜力的需求的高度推动。尽管微服务很受欢迎,但研究仍然缺乏对过渡的纪律性理解,以及对“微”架构背后的原则和活动的共识。在本文中,我们报告了一项系统的映射研究,该研究整合了通常有助于向微服务过渡的各种视图、方法和活动。这项研究旨在提供一个更好的理解的过渡,它也有助于过渡和技术活动的工作定义,它的基础。我们的过渡和技术活动导致微服务架构作为微服务化。然后,我们阐明了微服务化的一个基本问题:微服务粒度及其作为第一类实体的适应性推理。这项研究回顾了与微服务粒度推理相关的最新技术和实践;它回顾了建模方法,考虑的方面,用于推理微服务粒度的指南和流程。这项研究确定了未来与微服务粒度推理相关的研究和开发机会。
2019-03-27 cs.SE
A curated Dataset of Microservices-Based Systems
基于微服务的架构基于一组模块化、独立和容错的服务。近年来,软件工程社区提出了一些研究,调查基于微服务的架构中潜在的、经常性的、有效的架构模式,因为它们对于维护和扩展基于微服务的系统非常重要。事实上,这种系统的组织结构应该反映在所谓的微服务架构模式中,最适合项目和开发团队的需求。然而,缺乏共享开源项目微服务模式和实践的公共存储库,这可能有利于教学目的和未来的研究调查。本文试图通过共享数据集来填补这一空白,第一次策划基于微服务的项目列表。具体来说,该数据集由20个开源项目组成,所有项目都使用特定的微服务架构模式。此外,该数据集还报告了有关上述项目的服务间调用或依赖关系的信息。为了进行分析,我们使用了两种不同的工具(1)SLOCcount和(2)MicroDepGraph来获取微服务数据集的不同参数。微服务数据集和分析工具都可以在线公开获得。我们相信,这个数据集将被研究界广泛使用,以了解更多关于微服务架构和依赖模式的信息,使研究人员能够比较常见项目的结果。
2019-09-07 cs.SE
Large scale reuse of microservices using DevOps and InnerSource practices -- A longitudinal case study
本文通过 Ericsson 的两阶段纵向案例研究,分析 DevOps 与 InnerSource 支持微服务大规模复用的成本、收益与挑战,并指出扩大 InnerSource 与自动化合规检查可提升复用成熟度。
2023-09-26 cs.SE
Design, Monitoring, and Testing of Microservices Systems: The Practitioners' Perspective
微服务架构(MSA)在软件行业受到了极大的关注。然而,很少有关于微服务系统的设计、监控和测试的经验证据。目的:本研究旨在深入了解微服务系统是如何在行业中设计、监控和测试的。方法:一项混合方法的研究进行了106个调查响应和6个微服务从业者的访谈。结果如下:主要调查结果如下:(1)领域驱动设计和业务能力的组合是将应用程序分解为微服务的最常用策略,(2)超过一半的参与者在设计微服务系统时使用架构评估和架构实现,(3)API网关和前端后端模式是最常用的MSA模式,(4)资源使用和负载均衡作为监控指标,日志管理和异常跟踪作为监控实践被广泛使用,(5)单元和端到端测试是最常用的测试策略,以及(6)微服务系统的复杂性对其设计,监控和测试提出了挑战,对此没有专用的解决方案。结论:我们的研究结果表明,需要更多的研究来(1)在设计层面处理微服务的复杂性,(2)处理微服务系统中的安全性,以及(3)通过专用解决方案解决监控和测试挑战。
2021-08-21 cs.SE
An Empirical Study on Challenges of Event Management in Microservice Architectures
本文通过挖掘超8000个Stack Overflow问题并人工分析628个样本,首次系统刻画了微服务中事件管理的实践与挑战,识别出大型事件负载、事件模式建模、事件流审计及顺序约束等关键问题,并为开发者、技术提供商和研究人员提出可操作的改进建议。
2024-08-01 cs.DB cs.SE
Toward Organizational Decoupling in Microservices Through Key Developer Allocation
该研究提出一种识别微服务项目中关键开发者的方法,并探讨其与组织耦合的联系,以通过检测和缓解组织耦合来维护和优化微服务架构,防止退化。
2025-01-29 cs.SE
Microservices in IoT Security: Current Solutions, Research Challenges, and Future Directions
近年来,物联网(IoT)技术在不同的重要领域(包括医疗保健,教育,农业,能源管理等)中出现了多种智能应用,物联网旨在通过互联网将多个智能设备(如传感器,监控系统和智能家电)互连,以控制,存储,交换和分析收集的数据。物联网环境中的主要问题是,它们可能存在潜在的漏洞,被恶意用户非法访问,这威胁到收集数据的安全和隐私。为了面对这个问题,最近已经使用基于微服务的架构进行了一些工作,以最大限度地减少与物联网数据相关的安全威胁和攻击。通过使用微服务,这些作品提供了可扩展,可重用和可重新配置的安全功能。在本文中,我们的目标是提供一个关于基于微服务的方法来保护物联网应用程序的调查。该调查将帮助从业者了解物联网安全领域持续存在的挑战,并探索新的和有前途的研究机会。据我们所知,本文是第一份调查使用微服务技术保护物联网应用的调查。
2021-05-17 cs.CR cs.SE
Fostering Microservice Maintainability Assurance through a Comprehensive Framework
本项目提出一个针对微服务架构的自动化评估框架,整合架构可视化、耦合检测、测试覆盖率测量和语义克隆识别等功能,有效提升了微服务系统的可维护性保障能力。
2024-07-23 cs.SE
Gamifying Architectural Governance to Reduce Organizational Coupling in Microservice Systems
Free University of Bozen-Bolzano(博尔扎诺自由大学)
本文提出通过游戏化手段影响开发者行为,减少微服务系统中的组织耦合,采用游戏化框架持续挖掘代码库数据以检测架构边界违规,提升架构可维护性。
2026-04-24 cs.SE
On Representing Resilience Requirements of Microservice Architecture Systems
随着DevOps实践和容器技术的传播,微服务架构近年来已成为主流架构风格。弹性是微服务架构系统(MSA系统)的一个关键特性,它显示了应对各种导致服务降级的系统干扰的能力。然而,由于软件领域对弹性的定义缺乏共识,尽管人们对MSA系统的弹性做了大量的工作,但开发人员仍然不清楚MSA系统应该有多大的弹性,以及需要什么样的弹性机制。本文在借鉴其他科学领域已有的弹性研究成果的基础上,给出了微服务弹性的定义,并提出了一个度量服务弹性的微服务弹性度量模型。并给出了一个描述MSA系统弹性需求的需求模型。需求模型使用KAOS中的元素来表示度量模型中的概念,并将服务弹性目标分解为可由系统组件执行的系统行为。作为概念的证明,一个案例研究进行MSA系统,以说明如何应用所提出的模型。
2020-10-09 cs.SE
Designing Microservice Systems Using Patterns: An Empirical Study on Quality Trade-Offs
提高敏捷性、自主性、可扩展性和可重用性的承诺使微服务架构成为开发大规模和云原生商业应用程序的\textit{de facto}标准。软件模式是一种重要的设计工具,通常它们的选择和组合的目标是获得一组期望的质量属性。然而,从研究的角度来看,许多模式还没有得到广泛的验证,对行业实践,使他们没有更多的有趣的理论。为了解决这个问题,我们调查了从业者如何看待14种模式对7个质量属性的影响。因此,我们进行了9次半结构化的访谈,以收集有关以下方面的行业专业知识:(1)软件模式的知识和采用,(2)模式的感知架构权衡,以及(3)专业人员用于测量质量属性的指标。我们发现,我们研究中报告的许多权衡与每个模式的文档相匹配,并确定了一些尚未报告的收益和痛苦,从而对微服务模式产生了新的见解。
2022-01-10 cs.SE
Architectural Anti-Patterns in Student-Developed Microservice Architectures: An Exploratory Study
University of Naples Federico II(那不勒斯费德里科二世大学)
本研究通过分析学生开发的微服务架构,发现常见反模式并提出教学建议,旨在提升微服务教学与行业实践的契合度。
2026-02-11 cs.SE
A Microservices Identification Method Based on Spectral Clustering for Industrial Legacy Systems
本文提出一种基于谱聚类的自动化微服务分解方法,通过静态与动态分析提取依赖并构建图结构,利用图聚类识别高内聚低耦合的微服务候选,实验证明其性能优于现有方法且无需领域专家。
2023-12-20 cs.SE
An Infrastructure Cost Optimised Algorithm for Partitioning of Microservices
针对现有微服务划分方法未考虑基础设施成本优化、迁移复杂度高且工具支持不足的问题,本文提出一种面向基础设施优化的预测算法,用于将单体软件划分为微服务,并指明了该领域的未来研究方向。
2024-08-13 cs.SE
Benchmarking Data Management Systems for Microservices
针对现有微服务基准缺失实际数据管理挑战的问题,本文提出新型基准Online Marketplace,覆盖真实微服务核心数据管理需求,实验验证其可支撑关键特性测试,助力新型数据管理系统研发。
2024-05-19 cs.DB cs.SE
Software Design Pattern Model and Data Structure Algorithm Abilities on Microservices Architecture Design in High-tech Enterprises
Solbridge International School of Business(松桥国际商学院)
本研究通过定性访谈发现,软件设计模型与数据结构算法能力显著提升企业微服务架构的可扩展性、性能和灵活性,并指出未来需关注新兴技术整合。
2024-11-05 cs.CL cs.SE
SoK: Microservice Architectures from a Dependability Perspective
本文从可靠性视角综述微服务架构可能引入的故障与漏洞,重点探讨运行时检测与恢复机制,以弥补现有文献在故障和漏洞覆盖分析上的不足。
2025-03-05 cs.DC cs.SE
Microservice Vulnerability Analysis: A Literature Review with Empirical Insights
该研究综述62篇文献并识别126个微服务安全漏洞,提出按架构特征划分的漏洞分类法,且用三种工具扫描四个基准应用加以验证和映射分析。
2024-07-31 cs.CR cs.SE
Mono2Micro: A Practical and Effective Tool for Decomposing Monolithic Java Applications to Microservices
在将生产工作负载迁移到云端时,企业通常面临着将单片应用程序向微服务架构发展的艰巨任务。在IBM,我们开发了一个名为Mono2Micro的工具来帮助完成这项具有挑战性的任务。Mono2Micro执行时空分解,利用定义良好的业务用例和运行时调用关系来创建应用程序类的功能内聚分区。我们对Mono2Micro的初步评估显示了有希望的结果。Mono2Micro与其他分解技术相比表现如何,从业者如何看待该工具?本文介绍了Mono2Micro的技术基础,并给出了回答这两个问题的结果。为了回答第一个问题,我们在一组开源和专有Java应用程序上评估了Mono2Micro对四种现有技术的影响,并使用不同的指标来评估分解的质量和工具的效率。我们的研究结果表明,Mono2Micro在为问题领域定义的特定指标方面显着优于最先进的基线。为了回答第二个问题,我们对21位使用过Mono2Micro的不同行业的从业者进行了调查。这项研究突出了几个好处的工具,有趣的从业者的看法,并进一步改进的范围。总的来说,这些结果表明,Mono2Micro可以为从业者提供有价值的帮助,帮助他们创建功能内聚和可解释的微服务分解。
2021-09-14 cs.SE
A Reference Architecture for Blockchain-based Traceability Systems Using Domain-Driven Design and Microservices
可追溯性系统对于解决全球供应链规模日益扩大所带来的问题,如食品安全危机和市场混乱,具有重要意义。区块链作为一种不可变和去中心化的账本,能够通过确保系统数据的透明性和可靠性来优化传统的可追溯系统。然而,区块链技术的使用可能会导致系统设计和开发的复杂性迅速增加。在实践中,解决广泛而复杂的业务,多变的流程和海量数据是具有挑战性的,这是限制基于区块链的可追溯系统(BTS)广泛应用的主要因素。因此,在本文中,我们回顾了相关的研究,并提出了一个参考架构的基站。所提出的参考架构可以通过域驱动设计(DDD)和微服务来提高BTS的内聚性、可维护性和可扩展性。考虑到海量数据和复杂数据结构带来的效率降低,我们进一步将传统的单区块链框架改为多子链网络,可以提高开发效率和系统性能。在架构权衡分析方法(ATAM)的指导下,我们评估了我们的参考架构,并在鲑鱼供应链场景中实现了一个原型。实验结果表明,该方案是有效的,能够满足基站的需求。
2023-02-13 cs.SE
A Comprehensive Survey on Root Cause Analysis in (Micro) Services: Methodologies, Challenges, and Trends
Southeast University(东南大学)
本文系统综述了微服务场景下基于指标、追踪、日志及多模型数据的根因分析方法,梳理现有挑战与未来趋势,为智能运维和自动化故障诊断提供研究方向指引。
2024-07-23 cs.AI cs.CE cs.SE
AI Techniques in the Microservices Life-Cycle: A Systematic Mapping Study
Tampere University(塔尔皮奥大学);University of Oulu(奥卢大学);Technical University of Denmark(丹麦技术大学);University of Bologna/INRIA(博洛尼亚大学/INRIA);Inria(法国国家信息与自动化技术研究院);Vrije Universiteit Amsterdam(阿姆斯特丹自由大学);Pegaso Digital University(佩加索数字大学);University of Pisa(比萨大学);KU Leuven(鲁汶大学)
本研究通过系统映射方法,全面梳理了AI技术在微服务生命周期各DevOps阶段中改进质量属性的应用,识别出16个研究主题,并指出多数研究旨在开发可自动化原型以服务关键行业。
2025-08-02 cs.AI cs.SE
DevOps and Microservices in Scientific System development
现代软件工程和科学计算在科学信息系统开发中存在着差距。从历史上看,软件工程方法被认为是计算科学家在科学系统开发中不想要的偶然复杂性。最近的趋势,如摩尔定律的终结和随后硬件平台的多样化,加上科学本身越来越多的多学科性,加剧了这个问题,因为自学成才的“最终用户开发人员”不熟悉解决这种增加的复杂性所需的学科。从更积极的方面来看,敏捷编程方法已经接近软件开发实践,以生产科学软件的方式。在这项工作中,我们介绍了一个多年行业研究项目的经验,其中应用了敏捷方法,微服务和DevOps。我们的目标是验证一个假设,即微服务的使用将允许计算科学家以他们喜欢的更简约的面向原型的方式工作,而软件工程团队将处理集成。因此,科学的多学科系统将以双重方式获益:(i)主题专家(SME)使用他们首选的工具来开发系统的特定科学部分;(ii)软件工程师为系统交付提供高质量的软件代码。
2021-12-22 cs.CE cs.SE
Applying Model-Driven Engineering to Stimulate the Adoption of DevOps Processes in Small and Medium-Sized Development Organizations
目的:微服务架构(MSA)是一种越来越流行的架构风格,其中业务功能被包装到可自主开发和部署的软件组件中,称为微服务。微服务应用程序由多个DevOps团队开发,每个团队拥有一个或多个服务。在本文中,我们将探讨中小型组织(SMO)中的DevOps团队如何应对MSA以及如何支持它们。研究方法:我们通过对包括六个案例的探索性访谈研究的二次分析表明,MSA带来的组织和技术复杂性对中小型组织(SMOs)构成了特殊的挑战。我们应用模型驱动工程来应对这些挑战。结果如下:作为第二个分析的结果,我们确定了构建和维护共同的体系结构理解以及处理部署技术的挑战领域。为了支持SMO的DevOps团队应对这些挑战,我们提出了一个基于LEMMA的模型驱动工作流-用于建模微服务架构的语言生态系统。为了实现工作流,我们扩展了LEMMA的功能,以(i)从API文档中生成模型;(ii)引用其他团队拥有的远程模型;(iii)生成部署规范;(iv)生成整体架构的可视化表示。结论:我们通过一个案例研究验证了模型驱动的工作流程和我们对LEMMA的扩展,该案例研究表明,LEMMA的新增功能可以为DevOps团队带来效率提升。为了开发应用我们的工作流程以最大限度地提高SMOs效率的最佳实践,我们计划将来在该领域进行更多的实证研究。
2021-07-26 cs.SE
Industrial Practice of LLM-Based Test Case Carving and Assertion Generation (Experience Paper)
Fudan University(复旦大学);ByteDance(字节跳动)
针对微服务系统回归测试因文档问题面临的挑战,提出NL2Test工具,通过自然语言描述和流量捕获生成可执行API回归测试,经大语言模型和确定性算法完成测试用例提取与断言生成等任务,在工业场景中效果良好,减少人工并提升自动化程度。
2026-07-28 cs.SE
Analysis of Service-oriented Modeling Approaches for Viewpoint-specific Model-driven Development of Microservice Architecture
微服务架构(MSA)是一种新的基于服务的分布式软件系统架构风格。与面向服务的体系结构(SOA)相比,MSA更加关注服务的自包含。每个微服务都负责实现一个与其他服务功能不同的业务或技术功能。此外,在实现和操作层面,微服务是独立的,因为它们是相互独立地开发、测试、部署和操作的。除了区分MSA和SOA的这些特征之外,这两种架构风格都依赖于服务作为分布式软件架构的构建块,因此面临着类似的挑战,例如,服务识别、组合和供应。然而,与MSA相反,SOA可能依赖于广泛的知识体系来应对这些挑战。因此,由于这两种架构风格都是基于服务的,因此出现了一个问题,即MSA可以在多大程度上利用SOA研究和实践的现有发现。在本文中,我们解决了这个问题,在该领域的模型驱动开发(MDD)的设计和基于服务的体系结构的操作。因此,我们提出了一个现有的MDD方法SOA的分析,其中包括SOA设计和操作的建模概念的识别和语义聚类。对于每个概念集群,分析评估其适用性的MDD的MSA(MSA-MDD),并将其分配给一个特定的建模的观点。本文分析的目的是为MSA-MDD元模型提供一个概念性的基础。
2018-04-26 cs.ET cs.PL cs.SE
A Survey of Software Engineering Practices in Turkey (extended version)
背景:了解行业中使用的软件工程实践和技术的类型是很重要的。在每个软件团队和公司中进行的软件工程实践的类型和成熟度方面有很宽的范围。为了描述在软件公司中进行的软件工程实践的类型,在不同的国家和地区进行了各种调查。土耳其有一个充满活力的软件行业,重要的是要描述和了解该行业的软件工程实践的状态。目标:我们的目标是描述和掌握土耳其软件行业软件工程实践类型的高级观点。在这项研究中,我们调查的软件工程实践包括:软件需求、设计、开发、测试、维护、配置管理、发布计划和支持实践。目前的调查是在土耳其软件行业背景下进行的最全面的调查。方法:为了实现上述目标,我们系统地设计了一个在线调查46个问题,根据我们过去的经验,在加拿大和土耳其的背景下,并使用软件工程知识体系(SWEBOK)。来自土耳其软件行业的202名执业软件工程师参加了调查。我们分析和报告在本文中的问题的结果。只要有可能,我们还会将我们的调查趋势和结果与2010年在加拿大软件行业进行的类似调查结果进行比较。
2014-12-16 cs.SE
Hook-in Privacy Techniques for gRPC-based Microservice Communication
针对 gRPC 缺乏高级隐私机制的问题,本文利用 gRPC interceptor 构建可配置、可扩展的原生隐私拦截方案,支持数据最小化与目的限制,并通过外卖场景和初步评估验证其可行性。
2024-04-08 cs.CR cs.CY cs.DC
A Survey on Software Engineering Practices in Brazilian Startups
今天的重大技术进步使早期软件创业公司能够在市场上快速构建和推出创新产品。然而,他们中的许多人在他们的道路的早期死亡,由于市场条件,对客户需求的无知,缺乏资源,或重点,如滥用既定的做法。这项研究的动机是从从业者的角度分析创业公司的软件工程实践。我们的目标是确定初创公司在日常工作中使用的实践和工具。我们对来自不同领域的140名软件开发人员进行了专家调查研究。结果表明,初创公司在初始和验证阶段选择的做法和工具的特设的基础上,并根据开发团队的先验知识。当他们进入增长阶段时,他们意识到他们可以预先采用更好的实践来支持更成熟的团队的产品扩展。结果还表明,选择支持工具的基础上,他们与其他工具的集成和自动化业务活动的能力。
2021-08-01 cs.SE
A Survey of Software Code Review Practices in Brazil
软件代码评审的目的是尽早发现代码异常,并在成本较低时进行代码改进。然而,不定期应用代码审查实践的开发人员所面临的问题和挑战尚不清楚。目标:调查开发人员在应用代码审查实践时所面临的困难,而不将目标受众限制在已经经常使用此实践的开发人员。方法:我们进行了一项基于网络的调查,350名巴西从业人员从事软件开发行业。结果:代码审查实践在巴西从业者中很普遍,他们认识到其重要性。然而,没有适用这些做法的例行程序。此外,他们还报告了在软件开发过程中使用静态分析工具的困难。从业者认识到的一个可能的原因是,这些工具中的大多数使用单一的度量阈值,这可能不足以评估所有的系统类。结论:改进指南以使代码审查实践适应软件开发过程,有助于使其广泛使用。此外,未来的研究应该调查是否考虑到源代码上下文的多个度量阈值减少了静态分析工具的假警报。最后,这些工具应该允许在软件开发过程的不同阶段使用。
2020-08-02 cs.SE
Software Test Automation Maturity -- A Survey of the State of the Practice
软件行业对测试自动化越来越感兴趣。在本文中,我们提出了一个测试自动化成熟度调查作为一个自我评估的从业者。基于来自25个国家的101个组织的151名从业者的回应,我们对测试自动化成熟度的实践状态进行了观察:a)不同组织的测试自动化成熟度水平由他们采用的实践区分; b)从业者报告了不同实践的不同情况,例如,85%的从业者认为他们的测试团队有足够的测试自动化专业知识和技能,47%的从业者承认缺乏设计和执行自动化测试的指导方针; c)一些实践是强相关的和/或紧密聚集的; d)自动化测试案例的百分比以及敏捷和/或或DevOps开发模型是更高测试自动化成熟度水平的良好指标;(e)从业者的角色可能会影响响应变化,例如,QA工程师给出了最乐观的答案,顾问给出了最悲观的答案。我们的研究结果提供了一个深入了解目前的测试自动化过程和实践,并指出在目前的行业进一步改进的机会。
2020-04-20 cs.SE
On the Practices of Autonomous Systems Development: Survey-based Empirical Findings
本文通过2019年专家在线调查,系统梳理自主系统开发的实践现状、挑战收益、过程标准及验证与确认实践,为后续纵向追踪其演进奠定基础。
2025-06-04 cs.SE
An Exploratory Pilot Survey on Technical Quality Control Practices in Agile R&D Projects
Venturus R&D Institute(Venturus 研发研究所)
本研究通过问卷调查探索敏捷研发项目中技术质量控制实践的现状,发现实践应用不一致及指标监控不足,提出区域创新生态中的管理特点。
2026-01-10 cs.SE
State of the Practice in Software Effort Estimation: A Survey and Literature Review
工作量估计是软件项目成功的关键因素,定义为在时间表和预算内交付商定质量和功能的软件。传统上,工作量估计用于计划和跟踪项目资源。基于这些目标的工作量估计方法通常专注于提供精确的估计,并且通常不支持最近在软件行业中变得重要的目标,例如因果工作依赖关系的系统和可靠分析。本文介绍了从工业的角度来看,软件工作量估计的研究结果。该研究调查的工业目标,软件组织的能力,以应用某些估计方法,并实际应用的软件工作量估计的做法。最后,在调查中确定的努力估计方法的要求进行比较,对现有的估计方法。
2014-01-23 cs.SE
A survey on agile practices and challenges of a global software development team
敏捷宣言描述了向开发团队传达信息以及在开发团队内部传达信息的最有效和最有效的方法是通过面对面的对话。然而,当团队在全球软件开发(GSD)环境中工作时,这并不总是可能的。基于这种情况下,本研究提出了一个探索性的数据分析,使用调查结果,探索敏捷实践和挑战的全球软件开发团队,使用ScaledAgile框架(SAFe),这是专为大型组织的需要。本研究的目的是了解团队在某些敏捷实践中的知识水平,以及通常优先考虑哪些类型的沟通。由于在GSD环境中,团队成员在地理上分布在多个地区和时区,因此我们的目标是确定该环境可能存在的挑战。作为这种探索性分析的结果,它已被确定,通信是GSD环境中的主要挑战之一,电话被认为是最有效的通信类型。此外,我们还发现专业人士对敏捷实践的信心程度不同,并得出结论,专业人士之间的知识转移可以帮助那些对某些敏捷实践不自信的团队成员提高他们的整体信心和知识。
2019-10-20 cs.SE
Requirements Engineering Practice and Problems in Agile Projects: Results from an International Survey
需求工程(RE)在敏捷开发中与传统的开发过程有很大的不同。然而,在敏捷RE的实践和当代问题的状态很少有经验的知识。作为一个更大的调查计划(消除需求工程中的痛苦)的一部分,我们在敏捷RE的这些方面建立了一个经验基础。基于来自92个不同组织的代表的响应,我们发现敏捷RE专注于各种技术引起的需求的自由文本文档。通常,需求和代码之间的跟踪是明确管理的,并且软件测试和RE是一致的。此外,由于内在动机,RE的持续改进被执行。重要的经验问题包括不明确的要求和沟通缺陷。总的来说,我们发现大多数组织以我们期望的方式进行RE,并且敏捷RE在几个方面与其他开发过程中的RE没有太大的不同。
2017-03-24 cs.SE
Embedded DevOps: A Survey on the Application of DevOps Practices in Embedded Software and Firmware Development
本综述综合20个来源,探讨DevOps原则在嵌入式系统与固件开发中的适应性,分析工具、测试、自动化与安全实践,并指出部署与可观测性局限,提出未来研究路线图。
2025-07-01 cs.SE
Modern Code Reviews -- Survey of Literature and Practice
本研究结合系统映射、Q方法调查与影响力分析,梳理244项MCR研究并发现研究主题与从业者重视方向存在错位,进而提出未来研究议程。
2024-02-29 cs.SE
Agile requirements engineering practices: a survey in Brazilian software development companies
需求工程(RE)是软件开发的主要领域之一。由于敏捷软件开发包含了几种新兴技术,并倡导持续改进,因此它迫切需要解决以下问题:目前最常用的敏捷RE实践,它们的特征以及使用中的挑战。这项工作的目的是调查和分类的收集和规范的敏捷需求实践的基础上,专业人士如何看待他们的重要性,软件项目,应用敏捷方法。因此,对46名巴西软件开发专业人员进行了一项调查,询问哪些方法用于收集和规范敏捷需求,以及采用这些方法时的功能,优点和困难。这些回复使我们能够进行数据分析,并确定受访者的经验与收集方法和敏捷需求规范的观点之间的关系。此外,有人指出,这些方法的采用仍然是最近的事。它们主要使用了不到五年。此外,有人指出,对大多数答复者来说,在提高应用知情方法的效率方面仍存在重大挑战和有待取得的进展。
2022-03-03 cs.SE
Adoption and Effects of Software Engineering Best Practices in Machine Learning
越来越多地依赖于具有机器学习(ML)组件的应用程序,需要成熟的工程技术来确保这些组件以稳健和面向未来的方式构建。我们的目标是凭经验确定团队如何使用ML组件开发、部署和维护软件的最新技术水平。我们挖掘了学术和灰色文献,并确定了29个ML应用的工程最佳实践。我们对313名从业者进行了调查,以确定这些做法的采用程度,并验证其感知效果。使用调查响应,我们量化了实践采用,并根据人口统计特征(如地理或团队规模)进行了区分。我们还测试了相关性,并使用各种统计模型研究了实践与其感知效果之间的线性和非线性关系。例如,我们的研究结果表明,较大的团队倾向于采用更多的实践,而传统的软件工程实践的采用率往往低于ML特定的实践。此外,统计模型可以准确地预测感知效果,如敏捷性,软件质量和可追溯性,从采用特定的实践集的程度。结合实践采用率与实践的重要性,如统计模型所揭示的,我们确定了重要但采用率低的实践,以及被广泛采用但对我们研究的效果不太重要的实践。总的来说,我们的调查和对收到的回复的分析为ML团队评估和逐步改进实践提供了定量基础。
2020-07-29 cs.SE
A Survey on the State of the Practice in Distributed Software Development: Criteria for Task Allocation
任务的分配可以被看作是分布式开发项目中成功关键的管理活动。然而,这样的任务分配仍然是全球软件开发的主要挑战之一,由于对影响任务分配决策的标准的理解不足。本文提出了一个定性研究,旨在确定和理解这些标准,在实践中使用。基于对选定的软件开发组织的管理人员的访谈,确定了目前在行业中应用的标准。例如,一个重要的结果是,采购战略和要开发的软件类型对所适用的标准有重大影响。本文介绍了研究的目标,设计和结果,以及相关和未来工作的概述。
2013-11-05 cs.SE
PRADA Applicability in Industrial Practice
Android设备的激增带来了碎片化问题。选择和优先考虑主要设备型号对于移动应用程序开发人员选择测试平台和优化各种问题(如质量保证、发布计划、收入等)至关重要。PRADA是我们在之前的工作中提出的一种方法,旨在帮助为应用程序优先考虑Android设备。在本文中,我们进行了一项调查,在两个IT公司,研究PRADA的适用性。调查结果显示,PRADA吸引了工业Android开发者的兴趣。
2017-07-21 cs.SE
A Survey of Code Review Benchmarks and Evaluation Practices in Pre-LLM and LLM Era
University of Manitoba(曼尼托巴大学);Huawei Canada(华为加拿大);Concordia University(康考迪亚大学)
本文综述了预LLM和LLM时代代码审查基准和评估实践,提出多级分类法,揭示了审查任务的转变及未来研究方向。
2026-02-13 cs.SE
Impact of Software Engineering Research in Practice: A Patent and Author Survey Analysis
关于软件工程(SE)研究的实际影响的现有工作考察了工业相关性,而不是采用研究结果,因此,结果如何实际应用的问题仍然是开放的。为了回答这个问题并调查有影响力的研究成果,我们对1975年至2017年期间在四个主要SE场所发表的4,354项SE专利进行了定量和定性分析,引用了1,690篇SE论文。此外,我们还对593篇被引和获奖论文的475位作者进行了调查,回复率为26%。总的来说,研究人员为从业者提供了各种工具,流程和方法,并改进了许多现有产品。SE实践重视寻求知识的研究,并受到各种跨学科SE领域的影响。面向从业者的出版场所似乎比面向研究人员的出版场所更有影响力,而会议中与行业相关的轨道可以增强其影响力。一些研究工作没有达到广泛的足迹,由于有限的资金资源或不利的成本效益权衡所提出的解决方案。通过专门的实证研究,可以证实需要更高的SE研究资金。一般而言,影响评估须遵守其定义。因此,学术界和工业界可以共同商定一个正式的说明,为以后关于这一专题的研究奠定共同基础。
2022-09-22 cs.SE