Control software analysis, Part I Open-loop properties
随着数字世界进一步进入日常生活,人们对实时软件与物理设备的交互所带来的日益严峻的挑战提出了质疑。在医疗系统、运输系统或武器系统等不同领域遇到的许多事故和事件最终都归因于“软件故障”。由于与物理系统交互的实时软件也可以被称为控制软件,因此由于实时软件故障而导致的长时间的事故可能被视为控制系统工程的机会。在本文中,我们只感兴趣的运行时的错误,这些软件是一个直接实现的控制系统规范:对于定义良好,理解良好的控制体系结构,如目前在数字控制系统的标准教科书,理论计算机科学的现状是装备精良,足以解决和分析控制算法。看来,这些分析的一个核心要素是李雅普诺夫稳定性理论,在计算机实现中转化为不变理论。
2008-09-28 cs.SE
Monitoring Software Reliability using Statistical Process Control An Ordered Statistics Approach
在过去的几十年里,软件的性质和复杂性发生了重大变化。随着计算能力的容易获得,进行了更深入和更广泛的应用。首先,生产出高质量、高可靠性的软件是非常必要的。旧时代的软件错误和缺陷在软件开发的后期阶段得到了修复。今天,生产高质量可靠的软件并保持特定的时间表是一个很大的挑战。为了应对这一挑战,软件工程的许多概念、方法和实践已经发展为开发可靠的软件。控制软件生产过程的更好方法正在研究中。控制图是评估软件可靠性的方法之一。本文提出了一种基于NHPP的控制机制,该机制利用了失效数据观测值间累积量的顺序统计量,其均值价值函数为指数分布。
2012-05-29 cs.SE
Towards Maintainable Platform Software -- Delivery Cost Control in Continuous Software Development
现代平台软件交付成本迅速增加,因为它通常需要与许多硬件和芯片的TTM保持一致,功能演变并涉及数百名工程师。本文以一个超大规模软件-- Intel Media Driver为例,分析了软件持续开发过程中导致交付成本增加的热点问题、软件设计所面临的挑战以及针对目标设计改进降低软件交付成本的经验。我们期望所确定的热点可以帮助更多的研究人员形成相应的研究议程,分享的经验可以帮助以下从业者应用类似的增强。
2022-03-29 cs.SE
Model-Based Testing of Safety Critical Real-Time Control Logic Software
本文介绍了作者在安全关键的实时的【形】控制逻辑软件的基于模型的测试方面的经验。它描述了相应的工业设置的细节,并讨论了在这些设置中使用基于UniTESK模型的测试技术的技术细节。最后,我们讨论了安全关键软件开发过程的未来可能的方向和基于模型的测试技术在其中的地位。
2012-02-28 cs.SE
Visualization of Software and Systems as Support Mechanism for Integrated Software Project Control
许多软件开发组织仍然缺乏支持,无法对其软件开发过程进行智能控制,也无法确定其过程的性能和所生产产品的质量。通常缺少对关键过程和产品状态的检测和反应以实现计划目标的系统支持。在明确模型的基础上使度量制度化的一种方法是开发和建立一个所谓的软件项目控制中心(SPCC),用于系统的质量保证和管理支持。SPCC相当于控制室,这是机械生产领域的一个众所周知的术语。SPCC的一项关键任务是系统地可视化测量数据,以便为所有利益相关者提供面向背景、目的和角色的信息(例如,项目经理、质量保证经理、开发人员)。本文将概述SPCC概念,一个支持面向目标的数据可视化的具体实例,以及实际应用中的示例和经验。
2014-01-09 cs.SE
MICOSE4aPS: Industrially Applicable Maturity Metric to Improve Systematic Reuse of Control Software
自动化生产系统(aPS)是高度复杂的机电一体化系统,通常必须可靠地运行数十年。控制软件模块的标准化和重用是在越来越短的开发周期内实现所需系统质量的核心先决条件。然而,在aPS领域的工业案例研究表明,许多aPS公司仍然挣扎在战略重用软件。本文提出了一种基于度量的方法来客观地衡量基于IEC 61131的工业控制软件在aPS(MICOSE 4aPS)中的成熟度,以识别潜在的弱点和质量问题,阻碍系统的重用。机器和设备制造行业的模块开发人员可以直接受益,因为度量计算被集成到软件工程工作流程中。在一家食品包装行业顶级机器制造公司进行的深入行业评估以及与不同公司进行的专家评估证实了有效管理控制软件质量的好处。
2022-12-09 cs.SE
Uncertainty Quantification and Software Risk Analysis for Digital Twins in the Nearly Autonomous Management and Control Systems: A Review
一个近乎自主的管理和控制(NAMAC)系统的目的是提供建议,运营商实现特定目标的基础上NAMAC的知识库。作为NAMAC系统中的一个关键组成部分,数字孪生(DT)用于从知识库中提取信息,以支持在所有核电厂运行模式下的反应堆控制和管理决策。随着人工智能和数据驱动方法的进步,机器学习算法被用于构建NAMAC系统中各种功能的DT。为了评估DT的不确定性及其对反应堆数字仪表和控制系统的影响,需要进行不确定性量化(UQ)和软件风险分析。作为先前研究的综合概述和新调查的起点,本研究选择并审查了可能适用于NAMAC系统中DT的相关UQ技术和软件危害和软件风险分析方法。
2021-01-28 cs.SE
Measuring the Overall Complexity of Graphical and Textual IEC 61131-3 Control Software
软件实现了工厂自动化中很大一部分功能。因此,有效的开发和软件部分(即所谓的单元)的重用提高了竞争力。因此,复杂的控制软件单元更难以理解,导致开发、测试和维护成本增加。然而,测量复杂性是具有挑战性的,因为许多不同的,主观的观点。本文比较了文献中不同的复杂性定义,并考虑了一个定性的问卷调查研究领域专家的复杂性感知,谁确认的重要性,客观的措施来比较复杂性。本文提出了一套度量标准,衡量各种类别的软件复杂性,以确定最复杂的软件单元作为重构的先决条件。这些度量包括由大小、数据结构、控制流、信息流和词法结构引起的复杂性。与大多数文献方法不同,这些指标符合IEC 61131-3标准的图形和文本语言。此外,一个概念,用于解释的度量结果。一个全面的评估与工业软件从两个德国工厂制造商验证了指标的适用性来衡量复杂性。
2022-12-09 cs.SE
Semantic Linkage of Control Systems
控制系统是一组相互连接的硬件和软件组件,用于调节过程的行为。现代控制系统的软件由于对灵活性和功能性的要求而上升了几年。因此,创新的力量在企业中增长,因为必须在更短的时间间隔内提供更新的产品。与此相关的是产品生存周期的关键缩短,其影响表现在对软件和备件库存的减少。的目的,这里提出的概念,并在建模环境中开发,证明,并确保软件组件的最小功能。在运行时通过框架替换验证功能的控制系统的软件组件,并且如果必要,软件条件将变得适应。这种实现的精髓是使用了抽象语法树。在其层次结构中Meta信息被附加到节点并由框架处理。随着软件构件语义证明概念的发展,软件产品的生命周期不断延长。
2009-04-23 cs.SE
Goal-oriented Data Visualization with Software Project Control Centers
许多软件开发组织仍然缺乏支持,无法对其软件开发过程进行智能控制,也无法确定其过程的性能和所生产产品的质量。通常缺乏系统的支持,以检测和应对关键的项目状态,以实现计划的目标。在明确模型的基础上使度量制度化的一种方法是开发和建立一个所谓的软件项目控制中心(SPCC),用于系统的质量保证和管理支持。SPCC相当于控制室,这是机械生产领域的一个众所周知的术语。其任务包括收集、解释和可视化测量数据,以便为所有利益相关者(例如,项目经理、质量保证经理、开发人员)。本文将介绍SPCC概念的概述,支持面向目标的数据可视化(G-SPCC方法)的具体实例,以及实际应用的经验。
2014-03-17 cs.SE
Combinatorial Modeling and Test Case Generation for Industrial Control Software using ACTS
组合测试被认为是一种以较低成本创建测试用例的有效方法。然而,用于建模和组合测试生成的工业实用工具仍然稀缺。作为一个直接的影响,组合测试在工业上的应用有限,这使得人们对其实际用途提出了质疑。如果我们考虑将组合测试生成用于工业安全关键控制软件,例如在火车、飞机和发电厂中发现的软件,这种证据的缺乏就特别麻烦。为了研究组合测试的工业应用,我们评估了组合建模和测试生成的流行工具,在工业规模的IEC 61131-3工业控制软件上运行的可编程逻辑控制器(PLC)的适用性和测试效率。我们评估了IEC 61131-3工业软件组合建模的直接适用性,以及在生成时间和测试套件大小方面的效率。我们使用了瑞典庞巴迪运输公司提供的17个工业控制程序,并用于训练控制管理系统。我们的研究结果表明,并不是所有的算法和交互强度的组合可以在一个现实的截止时间内生成一个测试套件。的建模过程和效率评估的结果是有用的从业者考虑使用组合测试的工业控制软件,以及研究人员试图提高使用这种组合测试技术。
2018-06-11 cs.SE
Goal-Oriented Setup and Usage of Custom-Tailored Software Cockpits
软件驾驶舱,也称为软件项目控制中心,支持软件和系统开发项目的管理和控制,并提供基于定量测量的项目控制手段。目前,许多公司正在开发简单的控制仪表板,主要基于电子表格应用程序。或者,他们使用的解决方案提供了一组固定的项目控制功能,无法根据他们的特定需求和目标进行充分定制。Specula是一种系统化的方法,用于定义可重用的、可定制的控制组件,并根据不同的组织目标和特征,基于质量改进范式(QIP)和GQM将它们实例化。本文概述了Specula方法,包括基本概念模型,面向目标的测量,以及基于显式声明的测量目标的控制组件的组成。相关的方法进行了讨论,并使用镜面工业案例研究的一部分。
2014-01-21 cs.SE
Implementing Software Project Control Centers: An Architectural View
在工业实践中,建立有效和高效的软件和系统开发项目控制机制仍然具有挑战性。一方面,往往缺乏必要的先决条件,如既定的发展进程、对相关指标的因果关系的理解以及衡量方案的充分可持续性。另一方面,有更根本的方法缺陷有关的控制过程本身和适当的工具支持。保证控制数据的有用性、完整性和精确性的其他活动普遍缺失。本文提出了一个所谓的软件项目控制中心(SPCC),解决这些挑战的概念架构。该架构包括获取足够准确和完整的数据以及支持不同利益攸关方信息需求的机制。此外,该体系结构的实现,所谓的镜面工程支持环境,勾勒,并从评估在工业环境中实现的结果。
2014-01-07 cs.SE
Framework for Version Control & Dependency Link of Components & Products in a Software Product Line
软件产品线涉及从现有核心资产(通常称为组件)组装产品,并在生产过程中不断增加核心资产。这个思想在基于组件的体系结构的软件开发方面已经变得至关重要。由于在软件产品线上,人们必须同时处理大量的产品和组件,因此需要制定一种策略,这将有助于存储组件和产品信息,以便可以轻松地跟踪它们,以便进一步开发。这种存储策略应反映产品和组件之间的关系,以便可以追溯与组件相关的产品历史,反之亦然。本文提出了一种基于树结构的软件产品线中构件和产品的存储策略。该策略将使我们能够存储有关组件和产品的重要信息,以及它们的组成和使用关系。我们实现了这一概念,并模拟了软件产品线环境。
2015-07-24 cs.SE
Modular Software for Real-Time Quantum Control Systems
实时控制软件和硬件对于操作量子计算机至关重要。特别是,该软件在弥合量子程序和量子系统之间的差距方面发挥着至关重要的作用。不幸的是,目前的控制软件往往是针对特定的系统进行优化,其代价是灵活性和便携性。我们提出了一个系统的设计策略,模块化的实时量子控制软件,并证明模块化的控制软件可以减少内核的执行时间开销平均63.3%,而不增加二进制大小。我们的分析表明,两个明显不同的系统的模块化控制软件可以共享49.8%和91.0%的覆盖代码语句。为了证明我们的软件架构的模块化和可移植性,我们运行一个便携式随机基准测试实验两个不同的离子阱量子系统。
2022-10-25 cs.SE quant-ph
Functional Simulation of Real-Time Quantum Control Software
现代量子计算机在很大程度上依赖于实时控制系统进行操作。由于需要更多的功能和更多的实时设备来控制,这些系统的软件变得越来越复杂。不幸的是,测试实时控制软件往往是一个复杂的过程,现有的仿真软件是不可用的或实用的软件测试。为此,我们实现了一个交互式的模拟器,模拟信号的应用程序编程接口的水平。我们表明,我们的模拟基础设施模拟内核6.9倍,平均速度比在硬件上执行,而时间轴光标的位置模拟时,选择适当的配置,平均准确率为97.9%。
2022-10-25 cs.SE quant-ph
Control software analysis, part II: Closed-loop analysis
对闭环控制软件属性的分析和适当的文档与对运行开环的同一软件的分析有许多不同的方面。出现了物理系统表示的问题,并且期望这样的表示保持独立于控制程序的表示。为此,提出了一个并发程序表示的工厂和控制过程,虽然闭环系统是足够的串行化,使顺序分析。在处理闭环系统特性的同时,还通过示例显示了非线性的特殊处理如何从控制规范分析扩展到代码分析。
2008-12-10 cs.PL cs.SE
Beyond the Control Equations: An Artifact Study of Implementation Quality in Robot Control Software
Ruhr University Bochum(博尔次大学)
本研究探讨了机器人控制软件实施质量的问题,发现实际实现中存在离散化处理不规范、测试不充分等缺陷,需改进指南与验证技术以提升可靠性。
2026-02-04 cs.RO cs.SE
ControlFlag: A Self-Supervised Idiosyncratic Pattern Detection System for Software Control Structures
Intel Labs(英特尔实验室);University of Pennsylvania(宾夕法尼亚大学)
软件调试已经被证明占用了开发人员一半以上的时间。然而,机器编程(MP),与软件(和硬件)开发的自动化有关的领域,最近在研究和生产质量的自动调试系统方面取得了长足的进步。在本文中,我们提出了ControlFlag,一个自我监督MP系统,旨在通过尝试检测软件控制结构中的特殊模式违规来提高调试。ControlFlag还建议在检测到异常模式的情况下可能进行的校正。我们提出了ControlFlag的设计,并提供了一个实验评估和分析其有效性,在生产质量的软件中识别潜在的编程错误。作为提高软件质量的第一个具体证据,ControlFlag已经发现了CURL中的一个异常,该异常已被其开发人员承认并修复。我们还讨论了ControlFlag的未来扩展。
2021-05-17 cs.AI cs.PL cs.SE
Building a Secure Software Supply Chain with GNU Guix
软件供应链正在成为一个广泛的类比,以指定从开发人员发布的源代码到用户运行的可执行程序所采取的一系列步骤。电脑这些步骤中的任何一个安全漏洞都会使用户面临风险,有证据表明,对供应链的攻击变得越来越普遍。在一个依赖于许多相互关联的软件系统的社会中,对软件供应链的攻击可能会造成悲惨的后果,这导致了对供应链安全的研究兴趣和政府激励措施的增加。GNU Guix是一个软件部署工具和软件发行版,支持出处跟踪、可复制的构建和可复制的软件环境。与许多软件发行版不同,它完全由源代码组成:它提供了一组描述如何从源代码构建代码的包定义。这些属性使它与许多以分发二进制文件为中心的部署工具区别开来。本文主要讨论一个研究问题:Guix和类似的系统如何允许用户安全地更新他们的软件?Guix源代码使用Git版本控制系统分发;更新Guix安装的软件包意味着首先更新Guix源代码的本地副本。以前关于安全软件更新的工作主要集中在与Guix非常不同的系统上--如Debian、Fedora或PyPI,其中更新包括获取有关最新二进制工件的元数据--并且在Guix的上下文中基本上不适用。相比之下,Guix的主要威胁是对其源代码存储库的攻击,这可能导致用户运行不真实的代码或降级他们的系统。从Nix到Portage,与Guix更相似的部署工具要么缺乏安全的更新机制,要么存在缺陷。我们的主要贡献是一个模型和工具来验证新的Git版本。我们…
2022-06-28 cs.PL cs.SE
Software supply chain: review of attacks, risk assessment strategies and security controls
本文通过系统文献综述分析了软件供应链的常见攻击趋势与开源及第三方安全风险,并提出了与真实事件关联的独特安全控制措施以缓解网络攻击。
2023-05-23 cs.CR cs.SE
Automatic Control Software Synthesis for Quantized Discrete Time Hybrid Systems
Ufa State Aviation Technical University(乌法国立航空技术大学)
针对离散时间非线性混合系统,提出一种通过线性混合系统过近似原系统动力学的方法,确保为线性系统设计的控制器同样适用于原系统,并在倒立摆基准上验证。
2012-07-17 cs.SE cs.SY eess.SY
Leveraging Software Architectures to Guide and Verify the Development of Sense/Compute/Control Applications
软件体系结构通过指定软件组件及其交互来描述计算系统的结构。将软件架构映射到实现是一个众所周知的挑战。这种映射的一个关键元素是架构对组件之间的数据和控制流交互的描述。这些交互的特征可以是相当抽象的,也可以是非常具体的,提供或多或少的实现指导、编程支持和静态验证。在本文中,我们探讨了一个点之间的抽象和具体的组件交互规范的设计空间。我们引入了行为契约的概念,它表达了组件之间允许的交互,描述了数据和控制流约束。此声明是架构描述的一部分,允许生成广泛的编程支持,并启用各种验证。我们实例化我们的方法在感/计算/控制应用程序的域的架构描述语言,并描述相关的编译和验证策略。
2011-09-13 cs.PL cs.SE
Model Based Synthesis of Control Software from System Level Formal Specifications
Sapienza University of Rome(罗马大学)
提出一种算法及工具QKS,从被控系统的形式化模型、实现规范和系统级形式化规范自动综合出满足安全性和活性要求且最坏情况执行时间与AD位数线性相关的控制软件。
2013-04-27 cs.SE cs.SY eess.SY
Before Autonomy Takes Control: Software Testing in Robotics
Ruhr University Bochum Bochum Germany;University of Bremen Bremen Germany;IT University of Copenhagen Copenhagen Denmark;Chalmers\,|\,Gothenburg University Gothenburg Sweden;Ruhr University Bochum;University of Bremen;IT University of Copenhagen;Chalmers\,|\,Gothenburg University
本文探讨了机器人软件测试的挑战,通过分析247篇相关论文,揭示了机器人测试与传统软件测试的异同,并指出现有研究中的开放问题与经验总结。
2026-02-02 cs.RO cs.SE
Fairer Software Made Easier (using "Keys")
NC State(北卡罗来纳州立大学)
我们可以简化软件分析的解释吗?也许吧最近的研究结果表明,系统往往表现出“关键效应”,即一些关键功能控制其余的功能。显而易见的是,对于由几个键控制的系统,解释和控制只是在键上运行一些“假设”查询的问题。通过利用密钥效应,甚至可以大大简化复杂的解释,例如道德AI系统所需的解释。
2021-07-11 cs.AI cs.SE
On Model Based Synthesis of Embedded Control Software
Sapienza University of Rome(罗马智慧大学);Ufa State Aviation Technical University(乌法国立航空技术大学)
针对嵌入式控制软件,提出一种基于模型的形式化设计方法,通过权衡系统级非功能需求(如最优建立时间、纹波)与软件非功能需求(如内存占用),自动生成正确性保证的控制软件,实验表明在倒立摆基准上小控制器大小仅为时间最优控制器的6%。
2013-02-18 cs.SE cs.SY eess.SY
Maintainability and evolvability of control software in machine and plant manufacturing -- An industrial survey
自动化生产系统(aPS)的使用寿命长达30-50年,在此期间,所需产品的变化越来越频繁。这就需要灵活的、可重复使用的、易于维护和改进的控制软件。为了评估选定的标准,特别是相关的成熟度在软件的可维护性和可进化性的aPS,方法SWMAT 4aPS+建立在一个问卷调查,52个问题。三个主要的研究问题涵盖了软件模块的更新和跨学科开发以及可重用模型的成功因素。本文介绍了68家机械和设备制造(MPM)公司的评价结果。提供自动化设备和/或工程工具的公司将能够识别其客户在MPM中面临的挑战。通过参与公司的反馈和对结果的统计明确性的分析来确保有效性。从软件或系统工程的角度来看,几乎所有的标准都低于预期。
2022-12-07 cs.SE cs.SY eess.SY
Professional Software Developers Don't Vibe, They Control: AI Agent Use for Coding in 2025
Cornell University(康奈尔大学)
本文探讨了2025年经验丰富的软件开发人员如何利用AI代理进行编程,发现开发人员通过保持自主权和专业知识来控制代理行为,以确保软件质量。
2026-08-20 cs.AI cs.HC cs.SE