Architectural Approaches to Overcome Challenges in the Development of Data-Intensive Systems
本文针对数据密集型系统的构建与维护难题,综述其架构设计挑战,并梳理主流软件架构风格在应对这些挑战方面的潜力。
2023-12-05 cs.SE
Requirements variability specification for data intensive software
目前,特征建模技术在软件需求规约中的应用,增加了对数据密集型软件产品线(DISPLs)需求建模的变化支持。它被认为是表达不同产品需求之间的共性和可变性的最简单和最有效的方法。最近的几项工作,在DISPL的要求,处理数据的变化,不同的模型,这是远离现实世界的概念。这导致了分析、设计、实现和维护这种可变性的困难。然而,这项工作提出了一个软件需求规格说明方法的基础上的概念更接近的性质,这是遗传学的启发。基于遗传学的方法学在DISPL的需求变异性描述中取得了重要的成果,特征模型中的特征和关系丰富了需求变异性管理,这在目前的相关研究中还没有得到考虑,基于遗传学的方法学在数据密集型软件需求变异性描述中有着广阔的应用前景。
2019-04-28 cs.SE
Towards a Cross-Domain Software Safety Assurance Process for Embedded Systems
在这项工作中,我们概述了嵌入式系统中的安全相关的软件的跨域保证过程。该过程旨在应用于各种不同的应用领域,并与任何开发方法相结合。通过这种方法,我们计划通过在不同领域的产品开发中重用安全分析技术和工具,来减少嵌入式系统中日益增长的安全评估工作。
2021-06-03 cs.SE
How Do Practitioners Perceive Assurance Cases in Safety-Critical Software Systems?
安全关键型软件系统是指其故障或失灵可能导致人员伤亡和/或严重财务损失的系统。在这样的系统中,安全保证案例(SAC)是一种新兴的方法,采用积极主动的策略来产生结构化的安全理由和论据。虽然在许多软件密集型安全关键域中建议使用SAC,但缺乏关于从业人员使用SAC的观点的知识阻碍了这种方法的有效采用。为了获得这些知识,我们采访了九位专注于安全关键软件系统的从业者和安全专家。总的来说,我们的参与者发现SAC方法有利于在多学科环境中沟通安全论点和管理安全问题。他们在使用SAC时面临的挑战主要与以下方面有关:(1)缺乏工具支持,(2)流程集成不足,以及(3)缺乏有经验的人员。为了克服这些挑战,我们的参与者提出了专注于创造直接安全论点的策略。还需要对流程和组织进行调整,以简化SAC的分析和创建。最后,我们的参与者强调了在软件密集型安全关键领域共享有关SAC的知识的重要性。
2018-03-21 cs.SE
Model-Based Testing of Safety Critical Real-Time Control Logic Software
本文介绍了作者在安全关键的实时的【形】控制逻辑软件的基于模型的测试方面的经验。它描述了相应的工业设置的细节,并讨论了在这些设置中使用基于UniTESK模型的测试技术的技术细节。最后,我们讨论了安全关键软件开发过程的未来可能的方向和基于模型的测试技术在其中的地位。
2012-02-28 cs.SE
Safety Factories - a Manifesto
针对软件快速演进与安全工程脱节的问题,本文倡导安全工厂,将安全工具和方法集成到开发流水线,通过前期形式化投入实现自动化检查与文档生成。
2025-10-07 cs.SE
Psychological Safety and Norm Clarity in Software Engineering Teams
在当今的软件工程行业中,公司主要以团队的形式开展工作。为了提高组织的生产力,了解影响团队效率的因素至关重要。最近,两个与团队相关的概念变得突出起来:心理安全和团队规范。然而,很少有研究存在,探讨这些在软件工程的背景下。因此,为了扩展这些概念的知识,我们研究了心理安全和团队规范清晰度是否与软件开发人员的自我评估团队绩效和工作满意度(有效性的两个重要因素)呈正相关。我们收集了来自五个不同组织的38个开发团队的从业者(N = 217)的行业调查数据。多元线性回归分析的结果表明,心理安全感和团队规范清晰度对团队成员的自评绩效和工作满意度均有预测作用。研究结果还表明,规范的清晰度比心理安全性更强(分别强30%和71%)。这项研究强调了需要更详细地研究社会规范和软件开发之间的关系。这项研究的结果可以作为今后工作的经验基线。
2018-02-05 cs.SE
Dealing with Data Challenges when Delivering Data-Intensive Software Solutions
数据密集型解决方案开发需求的预期增长推动了软件、数据和领域专家在多学科数据密集型软件团队(MDST)中进行有效协作的需求。我们通过采访MDST中的24位从业者进行了一项社会技术基础理论研究,以更好地了解这些团队在提供数据密集型软件解决方案时面临的挑战。访谈提供了不同类型角色的观点,包括领域,数据和软件专家,并涵盖了从团队成员,团队经理到执行领导的不同组织级别。我们发现,这些团队的主要关注点是处理与数据相关的挑战。在本文中,我们提出了处理数据挑战的理论,解释了MDST面临的挑战,包括获取数据,对齐数据,理解数据,解决数据质量问题;这些挑战发生的背景和条件、导致挑战的原因以及相关后果,如必须开展补救活动,无法实现预期成果,对交付的解决方案缺乏信任。我们还确定了应对挑战的应急措施或策略,包括实施数据治理等高层次战略方法,实施数据质量可视化和监控工具等新工具和技术,以及通过专注于人员动态、沟通技能发展和交叉技能来建立更强大的团队。我们的研究结果对从业者和研究人员有直接的影响,可以更好地了解数据挑战的情况以及如何应对这些挑战。
2023-03-24 cs.SE
Towards Certified Analysis of Software Product Line Safety Cases
安全关键软件系统在许多情况下被设计和实现为产品系列,通常被称为软件产品线(SPL)。SPL中的产品在其包含的功能方面彼此不同。将现有的分析技术应用于SPL及其安全案例通常具有挑战性,因为产品的数量与支持的功能数量可能呈指数级增长。在本文中,我们提出了一种方法和基础设施认证的\emph{lifting}现有的单一产品的安全分析,产品线。为了确保我们的基础设施认证的安全性,我们实现了它在一个交互式定理证明,包括形式定义,引理,正确性准则定理和证明。我们应用这个基础设施,正式化和升降机的变化影响评估(CIA)算法。我们提出了一个正式的定义,解除算法,概述其正确性证明(与完整的机器检查证明在线),并讨论其实现模型管理框架内。
2021-04-30 cs.SE
AI Safety Subproblems for Software Engineering Researchers
本文从软件工程视角探讨长期AI安全,通过量化文献综述指出SE场所缺乏AI安全讨论,并分类提出传统SE领域的子问题以改善AI与SE未来。
2023-08-31 cs.SE
A New Hierarchical Software Architecture Towards Safety-Critical Aspects of a Drone System
为了提高无人机系统的安全性和可靠性,从源代码的角度提出了一种新的分层软件体系结构。所提出的架构使用形式化验证方法来确保每个模块的实现满足其预期的设计规范,从而防止无人机由于意外的软件故障而坠毁。本研究建立在正式验证的操作系统内核、认证套件操作系统(CertiKOS)之上。由于设备驱动程序被认为是影响无人机系统安全的最重要部分,我们主要集中在验证总线驱动程序,如串行外设接口和内部集成电路驱动程序在无人机系统中使用严格的形式化验证方法。已经进行了实验,以证明在设备异常的情况下的可靠性的改善。
2019-05-03 cs.SE
Understanding Bounding Functions in Safety-Critical UAV Software
无人机(UAV)是一种新兴的计算平台,以其安全关键需求而闻名。在本文中,我们进行了一项实证研究,广泛使用的开源无人机软件框架,狗仔队,从自下而上的开发人员在该领域的角度来理解无人机软件的安全关键问题的目标。我们将重点放在边界函数(Bounding Functions,BF)的使用上,这是狗仔队开发人员在变量范围内注入的运行时检查。通过对Paparazzi自动驾驶仪软件中的BF进行深入分析,我们发现其中大量(109个实例)用于绑定对无人机的网络物理性质至关重要的安全关键变量,例如其推力,速度和传感器值。这项研究的新贡献有两个方面。首先,我们采取一种静态的方法来分类所有BF实例,提出了一种新的基于数据类型的5类分类法,具有细粒度的洞察力的BF在确保无人机系统的安全性的作用。其次,我们动态评估的影响BF使用通过差分方法,建立与无BF的无人机行为差异。静态和动态双管齐下的方法共同阐明了安全关键型无人机软件系统的很少研究的设计空间。
2021-02-13 cs.SE
Leveraging Traceability to Integrate Safety Analysis Artifacts into the Software Development Process
针对安全保证案例与开发过程脱节、难以随系统演进而维护的问题,提出基于软件可追溯性连接系统制品与安全分析模型、可视化变更并提取设计理据的集成方法。
2023-07-14 cs.SE
Model-Based Software Engineering and Ada: Synergy for the Development of Safety-Critical Systems
在本文中,我们概述了一个软件开发过程的安全关键系统,旨在结合一些特定的优势,基于模型的开发与程序设计语言的开发使用的安全关键的Ada子集。基于模型的软件开发和基于模型的测试用例生成技术与代码生成技术和工具相结合,为系统本身及其测试用例提供从模型到代码的转换。这允许开发人员将面向领域的基于模型的技术与基于源代码的验证技术相结合,以符合安全关键软件开发标准,如航空电子标准RTCA/DO-178 B。我们介绍了AutoFocus和Validator建模和验证工具集,并概述了其用于建模,测试用例生成和代码生成的组合方法,这是进一步说明了一个简化的前沿航空航天模型内置的容错。
2002-01-26 cs.SE
Automatically Generating Test Cases for Safety-Critical Software via Symbolic Execution
基于符号执行的自动测试生成有利于系统地测试安全关键软件,方便测试工程师追求认证标准规定的严格测试要求,同时控制测试过程的成本。同时,安全关键软件的开发通常受到禁止被认为降低程序安全性的语言特征的程序设计语言或编码约定的限制,例如,它们不允许动态内存分配和可变长度数组,限制了循环的使用方式,禁止递归,并限制了控制条件的复杂性。事实上,这些语言特征也是最先进的基于符号执行的测试生成方法的主要效率障碍。本文为一类重要的工业安全关键系统提供了新的证据,证明了符号执行生成测试用例的有效性。我们特别关注的SCADE,主要采用基于模型的开发语言的安全关键的嵌入式软件,我们报告的案例研究中,我们利用符号执行自动生成测试用例的一组安全关键的程序在SCADE开发。为此,我们介绍了一种新的测试生成器,我们在最近的工业项目中开发的测试安全关键的铁路软件写在SCADE,我们报告我们的经验,使用此测试生成器测试一组SCADE程序,属于发展的车载信号单元的高速铁路。结果提供经验证据表明,符号执行确实是一种可行的方法,为我们的案例研究中考虑的安全关键程序生成高质量的测试套件。
2022-09-22 cs.SE
ArChes -- Automatic generation of component fault trees from continuous function charts
嵌入式系统中软件的规模和复杂性的不断增长对嵌入式控制系统的安全评估提出了新的挑战。在工业实践中,在对系统进行安全性分析时,控制软件大多被当作黑箱来处理。为了提高安全分析的准确性,软件故障传播的适当表示是一个迫切的需要。然而,它也大大增加了创建和维护安全分析模型(如故障树)的工作量。在这项工作中,我们提出了一种方法来自动生成组件故障树从连续功能图。该方法旨在生成详细软件规格说明的故障传播模型。因此,可以将控制软件纳入安全性分析中,而无需额外的手动工作来构建软件的安全性分析模型。此外,在早期系统规范阶段创建的安全分析可以通过将其与详细规范阶段自动生成的安全分析进行比较来验证。
2021-05-31 cs.SE
Key Stakeholders' Value Propositions for Feature Selection in Software-intensive Products: An Industrial Case Study
许多软件公司正在采用基于价值的决策。然而,价值对关键利益相关者的决策意味着什么?不同的利益相关者群体如何理解价值?如果没有对价值含义的明确理解,决策就会变得模棱两可,这很可能会使决策产生偏见。本案例研究提供了一个深入的分析关键利益相关者的价值主张时,选择功能的大型电信公司的软件密集型产品。利益相关者的价值主张是通过访谈引出的,并使用扎根理论编码技术(开放和选择性编码)进行分析。36个价值主张被确定,并分为六个维度:客户价值,市场竞争力,经济价值/盈利能力,成本效率,技术和架构,公司战略。我们的研究结果表明,虽然在客户价值维度的主张是那些提到最多的,价值的概念,特征选择包括广泛的价值主张。此外,各利益攸关方团体侧重于不同的和互补的价值层面,呼吁让所有关键利益攸关方参与决策进程。虽然我们的研究结果是特别相关的公司类似于这里所描述的,他们的目的是产生一个学习过程中的基于价值的特征选择的从业者和研究人员一般。
2018-10-30 cs.SE
Psychological Safety in Software Engineering Teams: A Systematic Mapping Study of Team Processes and Performance
LUT University(拉彭兰塔-拉赫蒂理工大学);University of Derby(德比大学);University of Limerick(利默里克大学)
本研究通过系统映射分析112项研究,揭示心理安全作为多维、情境依赖的团队构念,与软件工程团队绩效和流程紧密相关,并指出干预措施需纵向、情境化研究。
2026-10-08 cs.SE
A Multi-level Methodology for Behavioral Comparison of Software-Intensive Systems
软件密集型系统不断发展。为了防止软件变更无意中引入代价高昂的系统缺陷,了解其影响以降低风险非常重要。然而,在实践中,当处理具有许多配置和使用场景的大型工业系统时,几乎不可能预见软件更改的全部影响。为了帮助开发人员进行变更影响分析,我们引入了一种新的多层次的方法,用于软件密集型系统的行为比较。我们完全自动化的方法是基于比较软件行为的状态机模型。我们将现有的互补比较方法结合成一种新的方法,通过逐步放大越来越多的细节,逐步引导用户了解相关差异。我们经验性地评估我们的工作,通过定性探索性的实地研究,显示其实用价值,使用多个案例研究在ASML,在开发光刻系统的领先公司。我们的方法显示了巨大的潜力,防止软件变化的系统行为回归。
2022-05-17 cs.FL cs.SE
Clean Code In Practice: Challenges and Opportunities
本文分析软件可靠性、安全与保障的相互作用,提出融合二者的威胁评估框架及实践指南,以提升可靠性预测和系统稳健性。
2025-07-26 cs.SE
Understanding and Modeling AI-Intensive System Development
AI密集型系统的开发人员-即,涉及“传统”软件和“人工智能“的系统正在认识到系统地组织开发并使用工程方法和工具的必要性。由于AI密集型系统(AIIS)严重依赖软件,因此预计软件工程(SE)方法和工具可以提供帮助。然而,AIIS的开发与“传统”软件系统的开发在一些实质性的方面有所不同。因此,传统的SE方法和工具本身并不适合或足够,需要进行调整和扩展。对“SE for AI”方法和工具的探索已经开始。我们认为,在这一努力中,我们应该从经验中吸取教训,避免重复过去几年在寻求可持续发展方面所犯的一些错误。为此,一个基本的工具是一套概念和符号来处理AIIS和表征其开发过程的问题。在本文中,我们建议描述AIIS通过一个符号,提出了SE和嵌入一组概念,适合代表AIIS以及。我们展示了使用的符号建模的一些特点,特别是相关的AIIS。
2021-03-16 cs.SE
Towards Continuous Safety Assessment in Context of DevOps
传统上,在互联网公司的推动下,持续交付越来越吸引那些开发具有安全关键功能的系统的行业。由于安全关键系统必须满足法规要求,并且除了正常的开发步骤之外还需要特定的安全评估过程,因此在安全关键系统中实现软件的持续交付需要交付管道中安全评估过程的自动化。在本文中,我们概述了一个连续的交付管道,实现连续的安全评估,在软件密集型安全关键系统的基础上,基于模型的安全评估方法。
2021-06-14 cs.SE
On the Prevalence, Impact, and Evolution of SQL Code Smells in Data-Intensive Systems
代码气味表明软件设计问题会损害软件质量。频繁访问数据库的数据密集型系统除了传统的气味外,还经常受到SQL代码气味的影响。虽然对传统的代码气味已经有了广泛的研究,但最近,人们对SQL代码气味的兴趣越来越大。在本文中,我们进行了一项实证研究,调查的流行和演变的SQL代码气味在开源,数据密集型系统。我们收集了150个项目,并检查了这些项目中的传统和SQL代码气味。我们的调查提供了几个重要的发现。首先,SQL代码气味在数据密集型软件系统中确实很普遍。第二,SQL代码气味与传统代码气味的共现性较弱。第三,SQL代码气味与bug的关联性比传统代码气味弱。第四,与传统的代码气味相比,SQL代码气味更有可能在项目生命周期开始时引入,并且可能留在代码中而不进行修复。总体而言,我们的研究结果表明,SQL代码气味确实是普遍存在的,并在所研究的数据密集型软件系统持久。开发人员应该意识到这些气味,并考虑使用专用工具分别检测和重构SQL代码气味和传统代码气味。
2022-01-06 cs.SE
Software-Intensive Product Engineering in Start-Ups: A Taxonomy
本文针对软件初创企业工程情境认识不足的问题,提出 Start-Up Context Map 分类法,以梳理工程实践、环境因素与目标,支撑研究和工程决策。
2023-09-28 cs.SE
Practitioners' Perspectives on Change Impact Analysis for Safety-Critical Software - A Preliminary Analysis
安全标准规定了安全关键软件系统演化过程中的变更影响分析(CIA)。虽然CIA是一项基本活动,但缺乏关于它在实践中如何执行的实证研究。我们提出了一个案例研究CIA在不断发展的自动化系统的背景下,在瑞典和印度的14个采访的基础上。我们的分析表明,工程师平均每年花费50-100小时在CIA上,但随着项目的阶段,工作量有很大的不同。此外,受访者提出了不同的内涵CIA和CIA的重要性不同的看法。我们报告了CIA面临的最紧迫的挑战,以及如何支持未来CIA的几个想法。然而,我们表明,测量这种改进解决方案的效果是不平凡的,因为CIA是交织在一起的其他发展活动。虽然本文只报告了初步的结果,我们的工作实际CIA的经验见解。
2016-05-23 cs.SE
A Taxonomy of Assets for the Development of Software-Intensive Products and Services
本文通过系统文献综述和五家公司的实地研究,构建了首个包含57种资产类型的全面、结构化且可扩展的软件资产分类法,为资产识别、资产管理及资产退化研究奠定基础。
2022-10-21 cs.SE
Formalism of Requirements for Safety-Critical Software: Where Does the Benefit Come From?
安全和保证标准通常依赖于这样的原则,即通过更正式地表达需求,可以最大限度地减少需求错误。尽管大量的案例研究表明,将以前非正式的需求形式化的行为会发现需求错误,但这一原则实际上只是一个假设。在形式化和更好的要求之间的一种工业上有说服力的因果关系还有待建立。我们描述了多个相互竞争的解释这一假设,在精度水平,重新制定,专业知识,努力和自动化,通常与正式的要求。然后,我们提出了一个实验来区分这些解释,但不一定排除它们都不正确的可能性。
2014-04-27 cs.SE
What happens to psychological safety when going remote?
心理安全是软件团队学习和成功的先决条件。本文讨论的储蓄银行等公司已经制定了促进心理安全的良好做法,其中大部分依赖于面对面的互动。然而,远程工作时的心理安全会发生什么?在本文中,我们探讨了挪威软件开发人员如何经历大流行和大流行后的远程工作,并描述了与心理安全相关的简单行为和态度。我们特别关注混合工作模式,即团队成员轮流在办公室工作和在家工作。我们的关键结论是,办公室中的自发互动有助于心理安全,而远程工作则增加了自发互动和心理安全的门槛。我们建议软件团队同步他们的办公室存在,以增加在办公室中自发互动的机会,同时在家中受益于专注的工作。
2022-08-26 cs.SE
A comprehensive safety engineering approach for software-intensive systems based on STPA
Institute of Software Technology, University of Stuttgart(斯图加特大学软件技术研究所);Massachusetts Institute of Technology(麻省理工学院)
本文提出基于STPA的综合安全工程方法,结合软件测试和模型检查,用于开发安全软件,通过安全分析确定软件安全需求,以确保潜在危险原因不发生。
2016-12-09 cs.SE cs.SY eess.SY
Key Safety Design Overview in AI-driven Autonomous Vehicles
Mercedes-Benz Research and Development North America(梅赛德斯-奔驰北美研发中心);University of Washington(华盛顿大学)
本文针对搭载AI的SAE 3级、4级自动驾驶汽车的安全需求,探讨软硬件安全架构与系统化方法,提出缓解策略等技术保障软件安全可靠,明确AI在数据全生命周期中的作用。
2024-12-12 cs.AI cs.SE
Development of a Meta-language and its Qualifiable Implementation for the Use in Safety-critical Software
在工业环境中,使用特定领域的建模来开发复杂的(网络物理)系统正在获得越来越多的认可。领域特定的建模允许对复杂的系统和数据进行抽象,以实现更高效的系统设计、开发、验证和配置。然而,没有现有的(Meta)建模框架可以使用合理的努力,在认证的软件,到目前为止,无论是系统的开发,也不为系统功能的执行。对于在安全关键过程或系统中使用来自特定领域建模的(开发)工件,需要通过后续(手动)验证或使用(预)合格软件来确保其正确性。现有的元语言通常包含很难或不可能以可限定的方式实现的建模元素,导致大量的手动,随后的认证工作。因此,我们的目标是开发一个(Meta)建模框架,可用于认证的软件。这可以显著减少安全关键系统的开发工作,并充分发挥特定领域建模的优势。在这篇博士论文中考虑的框架组件包括:(1)一个基本的元语言,(2)一个可限定的运行时环境,(3)一个合适的持久性。基本的\mbox{(meta-)}建模语言主要基于UML标准,但通过多层建模概念(如深度实例化)进行了增强。支持可能的资格,元语言是使用高度限制,但正式可证明的程序设计语言Ada SPARK实现的。
2021-11-08 cs.SE
Demonstrators for Industrial Cyber-Physical System Research: A Requirements Hierarchy Driven by Software-Intensive Design
Faculty of Engineering Technology, University of Twente(特温特大学工程技术学院)
针对研究项目中演示器需求不明确的问题,提出一个演示器需求细化框架,定义五个层次的需求层次,并通过两个研究项目验证其有效性。
2026-05-22 cs.SE
Review and Analysis of The Issues of Unified Modeling Language for Visualizing, Specifying, Constructing and Documenting the Artifacts of a Software-Intensive System
UML允许我们以精确、完整和明确的方式指定模型。特别是,UML解决了关于分析、设计和实现的所有重要决策的规范。尽管UML不是一种可视化编程语言,但是它的模型可以直接连接到各种各样的程序设计语言。这使得软件开发的双重方法成为可能:开发人员可以选择输入的方式。UML可以直接使用,从中可以生成代码;或者另一方面,最好用文本表示的东西可以作为代码输入程序。在一个理想的世界里,UML工具将能够对代码的任何直接更改进行反向工程,并且UML表示将与代码保持同步。然而,如果没有人为干预,这并不总是可能的。在从模型转移到代码时,会丢失某些信息元素。即便如此,程序设计语言代码的某些方面似乎保留了更多的语义,因此允许将代码自动逆向工程回UML模型的子集。
2010-01-23 cs.SE
ct-fuzz: Fuzzing for Timing Leaks
基于测试的方法,如模糊能够分析复杂的软件,这是不服从传统的形式化方法,如验证,模型检验,抽象解释。尽管在许多流行的软件项目中暴露了无数的安全漏洞,但基于测试的方法的应用主要针对检查传统的安全属性,如内存安全。虽然这类属性无疑很重要,但它并不能精确地表征其他重要的安全方面,如信息泄漏,例如,通过侧通道。在这项工作中,我们扩展了基于测试的软件分析方法的两个安全属性,这使得复杂的软件中的信息泄漏的精确发现。特别是,我们提出了ct-fuzzz工具,它使覆盖率指导灰盒模糊检测两个安全属性违规的能力。我们的方法是能够暴露违反任何两个安全属性表示为两个程序的痕迹之间的平等。从经验上讲,我们证明了ct-fuzz迅速揭示流行的加密实现中的时间泄漏。
2019-04-15 cs.SE
A Game-Theoretical Self-Adaptation Framework for Securing Software-Intensive Systems
针对软件密集型系统的安全攻击越来越普遍,这就要求有新的、有效的方法来检测和响应这些攻击。作为一种有前途的方法,博弈论提供了分析工具,系统和敌对环境之间的相互作用建模和设计可靠的防御。在本文中,我们提出了一种使用严格的博弈理论框架来保护软件密集型系统的方法。首先,自适应框架部署在基于组件的软件密集型系统,定期监测系统的异常行为。提出了一种基于学习的方法来检测系统组件上可能正在进行的攻击,并预测组件的潜在威胁。然后,一个算法被设计成自动建立一个\emph{Bayesian game}的基础上的系统架构(其中的一些组件可能已经受到损害),一旦检测到攻击,其中的系统组件被建模为独立的球员在游戏中。最后,通过求解贝叶斯博弈来计算最优防御策略,以实现最佳的系统效用,即最小化攻击的影响。我们进行了两组实验上的两个一般的基准任务的安全域。此外,我们系统地介绍了一个真实世界的水处理试验台,即安全水处理系统的案例研究。实验结果表明了该方法的适用性和有效性。
2021-12-12 cs.GT cs.SE
A Systematic Mapping Study on Software Architecture for AI-based Mobility Systems
本文通过系统映射研究,分析了38篇相关文献,概述了AI安全关键系统中软件架构的现状、安全贡献与成熟度,并识别了应用领域的空白以指导未来研究。
2025-06-02 cs.SE
Psychological safety in software workplaces: A systematic literature review
该综述系统梳理软件工程中心理安全感的研究,识别其前因(如团队自主性、敏捷方法、领导行为)与后果,指出研究空白,强调PS对创新、学习和团队绩效的促进作用。
2025-08-05 cs.SE
Managing Technical Debt in a Multidisciplinary Data Intensive Software Team: an Observational Case Study
本研究通过观察性案例研究,揭示多学科数据密集型团队的技术债务管理实践,识别数据组件和管道债务,并强调需新的实现模式与工具支持。
2025-06-23 cs.SE
Software Logging for Machine Learning
系统日志在软件密集型系统中执行关键功能,因为日志记录系统的状态和系统中重要时间点的重要事件。不幸的是,日志条目通常以临时、非结构化和不协调的方式创建,限制了它们对分析和机器学习的有用性。在本文中,我们提出了当代方法的主要挑战,以生成和存储系统日志数据的大型,复杂的,软件密集型系统的基础上,在一个世界领先的电信公司的深入的案例研究。其次,我们提出了一个系统的和结构化的方法来生成日志数据,不遭受上述挑战,并优化用于机器学习。第三,我们根据专家访谈对该方法进行了验证,确认该方法解决了已确定的挑战和问题。
2020-01-24 cs.SE
Safety-Critical Systems and Agile Development: A Mapping Study
在过去的几十年里,敏捷方法对软件开发的方式产生了巨大的影响。在许多情况下,这带来了显著的好处,例如向客户交付软件的质量和速度。然而,安全关键型系统已经被广泛地从敏捷方法中受益。因此,包括安全关键方面的产品面临着这样一种情况,即安全关键部件的开发可以通过敏捷方法显著限制整个产品的潜在加速,但也包括非安全关键部件。对于此类产品,以敏捷方式开发安全关键软件的能力将产生竞争优势。为了使未来的研究在这一重要领域,我们在本文中提出了一个映射的实践现状的基础上{混合方法的方法}。从与来自瑞典六家大型产品开发公司的专家的研讨会开始,我们开发了一种用于分析的镜头。然后,我们提出了一个系统的映射研究安全关键系统和敏捷开发通过这个镜头,以映射潜在的好处,挑战和解决方案候选人,以指导未来的研究。
2018-08-03 cs.SE
Supporting the monitoring of the verification process of critical systems'software
关键软件系统由于其操作环境的原因,在安全性、可靠性和可靠性方面面临着严格的要求。由于硬件与软件密集型部署的集成,安全性和安全性多年来逐渐变得重要,这引入了额外的错误源。因此,有必要遵循高质量的详尽的软件开发过程,除了必要的开发活动,以提高安全性和安全性,还集成技术,以提高软件开发过程本身的可靠性。然而,在实践中,使用自动化技术核查核查进程的情况并不十分普遍。这主要是由于所需技术成本高,而且在适应不同的规范和条例时很复杂。这项工作提出了一种全面管理验证过程的方法;该方法允许工程师监测和控制有关适用标准的项目状态。这种方法已通过在工具中的实现及其在实际项目中的应用得到验证。
2015-12-15 cs.SE
A controlled experiment for the empirical evaluation of safety analysis techniques for safety-critical software
University of Stuttgart(斯图加特大学)
本文通过对比三种安全分析技术在有效性、适用性、可理解性、易用性和效率方面的差异,发现STPA在识别软件安全需求方面更有效,但需更多时间,尤其对缺乏经验的分析人员而言。
2016-12-01 cs.SE cs.SY eess.SY
Generating Automotive Code: Large Language Models for Software Development and Verification in Safety-Critical Systems
Technical University of Munich(慕尼黑技术大学)
本文提出将生成式AI与大语言模型集成到汽车软件开发生命周期的新框架,通过静态验证、测试驱动开发和迭代细化实现安全关键代码自动生成,并以自适应巡航控制系统验证其合规性与可靠性。
2025-06-04 cs.AI cs.SE
How to Secure Existing C and C++ Software without Memory Safety
本文提出利用现有低开销编译器和运行时机制,组合使用以消除内存损坏软件的大多数执行交错,从而在不修改代码或建立内存安全的前提下,显著提升C/C++软件抵御远程代码执行攻击的安全性。
2025-03-27 cs.CR cs.SE
Beyond Tradition: Evaluating Agile feasibility in DO-178C for Aerospace Software Development
本文分析 DO-178C 对安全关键航空航天软件采用敏捷开发的可行性,指出该标准并不强制瀑布方法,而是支持通过适当证据满足安全与认证目标。
2023-11-07 cs.SE
Impacts of the Space Technology Evolution in the V\&V of Embedded Software-Intensive Systems
CubeSat-based超小型卫星由商用现货组件组成,并依赖于其结构和标准化接口。超小型卫星方面的一个挑战是调整验证和确认过程,以应对嵌入式软件日益增加的重要性,减少拟交付的人工制品,以降低成本和时间,同时仍符合国际标准。这项工作提出了一个真正的纳米卫星的OBDH软件嵌入在NanosatC-BR 2任务的发展所采取的战略分析。目的是讨论立方体卫星结构和接口的标准化对卫星综合系统验证和确认过程的影响,并强调“新空间时代”对使用现有验证和确认技术和方法的挑战。
2020-11-26 cs.OH cs.SE
Using Bayesian Modelling to Predict Software Incidents
传统上,故障树或事件树分析或FMEA已用于估计安全关键设备产生危险状况的概率。然而,这些分析技术对于主要依赖于软件的系统不太有效,并且可能在预期功能安全(SOTIF)环境中最不有效,其中即使所有组件都按设计运行,也会发生故障或危险情况。本文介绍了我们在BlackBerry QNX中考虑的一种方法:使用贝叶斯置信网络来预测嵌入式软件中的缺陷,并报告了我们研究的早期结果。
2021-01-30 cs.SE
The Impact of Operational-Data Fidelity when Assessing Safety-Critical Autonomous-Vehicle Software
Centre for Software Reliability, City St. George’s, University of London(伦敦大学城市圣乔治学院软件可靠性中心)
本文扩展保守贝叶斯推理技术,提出检查运营数据不足时可靠性断言稳健性的统计方法,阐明保守使用低保真数据的幼稚性,给出数据保真度对自动驾驶汽车安全评估影响的首批保守估计。
2026-10-08 cs.RO cs.SE
Domain Knowledge Discovery Guided by Software Trace Links
软件密集型项目使用领域术语进行指定和建模。领域术语的知识对于执行许多软件工程任务是必要的,例如影响分析、遵从性验证和安全认证。然而,发现高技术软件和系统工程领域的领域术语和推理它们之间的相互关系是一项复杂的任务,需要大量的领域专业知识和人力。在本文中,我们提出了一种新的方法,利用软件密集型系统中的跟踪链接,以指导挖掘过程中包含领域知识的事实。驱动我们挖掘过程的跟踪链接定义了法规和要求等工件之间的关系,并通过高收益的领域术语组合进行引导搜索。我们的概念验证评估表明,我们的方法有助于发现领域事实,即使在高度复杂的技术领域。这些领域事实可以为各种软件工程活动提供支持。作为一个用例,我们展示了挖掘的事实如何促进项目Q&A的任务。
2018-08-15 cs.SE
A Systematic and Semi-Automatic Safety-Based Test Case Generation Approach Based on Systems-Theoretic Process Analysis
Institute of Software Technology, University of Stuttgart(斯图加特大学软件技术研究所)
本文提出一种基于STPA的安全测试方法,通过生成测试用例来识别和降低软件风险,并提供开源工具STPA TCGenerator支持该方法。
2016-12-09 cs.SE cs.SY eess.SY
Automatic Platform Configuration and Software Integration for Software-Defined Vehicles
针对软件定义汽车平台配置与软件集成依赖人工、周期长且灵活性不足的问题,提出结合 MBSE、代码生成、虚拟化和容器编排的运行时集成管理器,并通过模拟平台完成概念验证。
2024-08-04 cs.SE
Combination of component fault trees and Markov chains to analyze complex, software-controlled systems
故障树分析是一种广泛使用的故障分析方法,用于在许多工业应用领域中评估系统的安全性或可靠性。然而,与故障树方法,有没有可能表达的事件或状态相关的行为的软件控制系统的时间序列。与此相反,马尔可夫链是一种基于随机模型的基于状态的分析技术。但由于马尔可夫链模型的规模呈指数爆炸式增长,使其在复杂安全关键系统失效分析中的应用受到限制。在本文中,我们提出了一个概念,将马尔可夫链的组件故障树模型。基于马尔可夫链的组件概念,它使马尔可夫链与系统开发元素(如组件)相关联,可以分析复杂或软件控制的系统。以模块化和组合的方式实现安全性或可靠性。我们说明了这种方法使用的案例研究,从汽车领域。
2021-06-01 cs.SE
Psychological Safety Framework in Pull-based Open Source Projects
University of Groningen(格罗宁根大学);University College London(伦敦大学学院)
本文提出基于心理安全理论的框架,通过分析拉取请求互动中的10种可观察行为,构建心理安全指数,并验证其对贡献者短期和长期持续参与的影响。
2026-11-04 cs.SE
The Double-Edged Sword of Diversity: How Diversity, Conflict, and Psychological Safety Impact Software Teams
本研究基于分类-阐述模型,分析161个软件团队的多样性对效能与冲突的影响,发现年龄多样性提升效能、性别多样性增加冲突,心理安全有直接积极作用但无调节效应,指出多样性影响具有复杂性。
2023-11-16 cs.SE