Contract-Based Specification Refinement and Repair for Mission Planning
UC Berkeley(加州大学伯克利分校);University of Southern California(南加州大学)
我们解决的问题,建模,精炼和修复正式规格的机器人任务使用假设保证合同。我们将展示如何在不同的抽象层次上对任务规范进行建模,并使用一个预实现规范库来实现它们。假设使用库中的组件无法满足规范。在这种情况下,我们计算一个代理,以获得使用库中的元素生成的规范的最佳近似值。之后,我们提出了一个系统的方法,要么1)搜索和完善的“缺失部分”的规范,图书馆不能满足或2)修复当前的规范,使现有的图书馆可以完善it.Our搜索和修复任务需求的方法利用商,分离,合成和合并合同之间的操作。
2022-11-21 cs.FL cs.RO cs.SE
A Parametric Counterexample Refinement Approach for Robust Timed Specifications
鲁棒性分析了模型语义中小扰动的影响。这允许对硬件不精确性进行建模,因此它已被应用于确定时间自动机的可实现性。在最近的一篇论文中,我们将这个问题扩展到基于时间输入/输出自动机的实时系统的规范理论,该理论被解释为两个玩家的游戏。我们提出了一个建设,允许合成一个规范,是强大的在给定的时间扰动下的实现,我们研究这些扰动的影响时,组成不同的规范。为了完成这项工作,我们提出了一种技术,评估最大的容许扰动。它包括在一个迭代过程中,提取一个破坏策略时,游戏是输了,并通过参数分析细化的扰动的容许值。我们证明了这种方法的原型实现。
2012-07-18 cs.FL cs.SE
Bug Report Specification Refinement with Trajectory Guidance for Automated Program Repair
Concordia University(康考迪亚大学);DePaul University(德保罗大学);University of Manitoba(曼尼托巴大学)
研究针对自动程序修复中错误报告规范不完善的问题,提出TrajSpec方法,通过轨迹引导收集证据并组织成三级表示,经审查生成细化报告,实验表明该方法能有效提高修复性能。
2026-07-10 cs.SE
Software Requirements Specification of the IUfA's UUIS -- a Team 3 COMP5541-W10 Project Approach
本文件的目的是规定大学统一库存系统的要求。分析师团队使用反馈瀑布方法来收集需求。诸如用例图、框图、领域模型和接口原型的UML图是用于开发本文档的一些工具。
2010-05-04 cs.SE
Automatic generation of analysis class diagrams from use case specifications
在面向对象的软件开发中,分析建模涉及从软件需求中识别问题级对象以及它们之间的关系的任务。软件需求通常用某种自然语言编写,分析建模通常由有经验的分析人员执行。软件需求是非结构化的文本,而分析模型通常是结构化的UML图,两者之间存在巨大的差距,加上人为的疏忽,不可避免地使转换过程容易出错。此过程的自动化可以帮助减少转换中的错误。在本文中,我们提出了一个工具支持的方法,自动转换的用例规格说明书的英文语言到分析类图。该方法分为四个步骤。它首先将用例的文本规范作为输入,然后使用自然语言解析器为规范中的每个句子生成类型依赖和词性标记。然后,使用一组全面的句子结构规则来识别每个句子的句子结构。接着,它应用一组转换规则的类型依赖和词性标记的句子,发现问题级对象和它们之间的关系。最后,它生成并可视化分析类图。我们进行了一个对照实验,比较的正确性,完整性和冗余的分析类图所产生的方法与现有的自动化方法。实验结果表明,该方法生成的分析类图比其他方法生成的分析类图更正确、更完整、冗余度更低。
2017-08-05 cs.SE
Proceedings 18th Refinement Workshop
精化是软件工程形式化方法的基石之一。细化是从抽象规范通过一系列基于抽象的步骤来开发更详细的设计或实现的过程,这些步骤相对于原始规范保持正确性。对Z、B、VDM和CSP等语言基础的研究使它们在某些工业部门得到了广泛的使用,例如,那些有安全或安全关键问题的人。除了精确的规范,形式化方法还允许精确和可验证的开发的可能性,正如精化的概念所捕获的那样。第18届精炼研讨会作为FLoC 2018的一部分在英国牛津举行。
2018-10-20 cs.LO cs.PL cs.SE
A Refinement Calculus for Logic Programs
现有的精化演算提供了从规范逐步开发命令式程序的框架。本文提出了一种用于推导逻辑程序的精化演算。演算包含一个广谱逻辑程序设计语言,包括可执行结构,如顺序合取、析取和存在量化,以及规范结构,如一般谓词、假设和泛量化。一个声明性的语义定义为这个广谱语言的执行的基础上。执行是从状态到状态的部分函数,其中状态表示为一组绑定。语义用于定义程序和规范的含义,包括参数和递归。为了完成演算,在广谱语言的程序的正确性保持求精的概念被定义和细化法律开发程序的介绍。精化演算说明使用示例推导和原型工具支持进行了讨论。
2002-02-04 cs.LO cs.SE
Intent-aligned Formal Specification Synthesis via Traceable Refinement
Amazon Web Services(亚马逊云服务);Harvard University(哈佛大学)
本文提出VeriSpecGen框架,通过需求级归因和局部修复生成意图对齐的规范,提升规范合成的准确性和效率。
2026-04-12 cs.AI cs.LG cs.LO
Validation Obligations: A Novel Approach to Check Compliance between Requirements and their Formal Specification
传统上,从业者主要将形式化方法用于质量保证过程的一半:验证(我们构建的软件正确吗?)。另一半--验证(我们是否构建了正确的软件?)--相对来说,很少受到关注。虽然验证是基于精化的形式化方法的核心,其中每个新的精化步骤必须保留其抽象模型的所有属性,但验证通常被推迟到开发的最新阶段,此时模型可以自动执行。因此,在需求或其解释中的错误被发现得太晚了:通常在开发过程的最后。在本文中,我们提出了一种新的方法来检查符合性的需求和他们的正式细化为基础的规范在早期阶段的发展。我们提出的方法--“验证义务”--基于一个简单的想法,即验证和验证都是系统所有细化步骤的组成部分。
2021-02-11 cs.FL cs.SE
Refining interfaces: the case of the B method
安全关键应用程序的模型驱动软件设计通常依赖于数学基础技术,如B方法。这些技术包括从抽象规范中派生出具体实现的细化的连续应用。精化理论定义了验证条件,以保证这些操作保持抽象规范的预期行为。然而,其中一个条件要求具体操作与其抽象对应操作具有完全相同的签名,但这并不总是一个实际要求。本文展示了如何改变签名,同时仍然停留在细化理论的范围内。这使得可以利用为当前基于细化的技术(例如B方法)提供的数学保证和工具支持。
2009-07-12 cs.SE
Partition Refinement of Component Interaction Automata: Why Structure Matters More Than Size
基于自动机的建模语言,如组件交互自动机,提供了一种有吸引力的方法来捕获和分析交互组件的行为方面。在这些建模语言的中心,我们发现有限状态机允许细粒度地描述特定服务请求如何以及何时与其他组件或环境交互。不幸的是,基于自动机的方法遭受指数状态爆炸,这是这些形式主义在建模真实世界场景中成功应用的主要障碍。为了应对各个规范的复杂性,我们可以应用分区细化,一种抽象技术,以减轻状态爆炸问题。但这种技术也表现出指数时间和空间复杂度,更糟糕的是,不能提供任何成功的保证。为了更好地理解为什么分区细化在某些情况下成功,而在其他情况下失败,我们进行了一个实证研究的组件交互自动机规范的分区细化算法的性能。因此,我们已经确定了合适的预测分区细化的预期效果。规范的结构而不是大小对分区细化的结果有更大的影响。特别是,用于现实世界系统的组件交互自动机规范能够产生包含结构工件的无标度网络,这些结构工件可以帮助分区细化算法不仅更早地收敛,而且有时还会产生显着的状态空间减少。
2010-10-14 cs.FL cs.SE
Proceedings 15th International Refinement Workshop
精化是软件工程形式化方法的基石之一:从抽象规范通过一系列基于抽象的步骤开发更详细的设计或实现的过程,这些步骤相对于原始规范保持正确性。这个BCS FACS精化研讨会的目的是汇集那些有兴趣从抽象规范中使用正式符号开发更具体的设计或可执行程序的人,正式软件开发的工具支持以及正式精化方法的实践经验。讲习班的目的是提供一个论坛,供交流意见,讨论共同点和主要分歧。这第15次研讨会延续了20年的传统,在英国计算机协会(BCS)的FACS特别兴趣小组的主持下运行的改进研讨会。在英国举办了前七届之后,1998年,它与澳大拉西亚精炼研讨会合并为国际精炼研讨会,在澳大利亚国立大学举办。随后又在不同地点出版了六个版本,所有版本都有电子出版的会议记录和相关的期刊特刊。
2011-06-17 cs.LO cs.SE
Dependability Engineering in Isabelle
在本文中,我们介绍了一个过程中的形式化系统开发支持的交互式定理证明在一个专用的Isabelle框架。这个伊莎贝尔基础设施框架实现规范和验证的循环过程中的攻击树分析密切相关的正式细化的规范。这个过程是循环的:在一个重复的迭代中,细化将更多的细节添加到系统规范中。如何找到下一个细化步骤是一个已知的难题:这个问题是通过使用Kripke结构和CTL逻辑的基于攻击的分析来解决的。我们把这个循环过程称为精炼-风险循环(RR-循环)。它最初是为了物联网医疗保健系统的安全和隐私而开发的,但更普遍地适用于安全性,即一般的可靠性。在本文中,我们提出了扩展的伊莎贝尔基础设施框架实现了一个正式的概念,属性保持细化交织攻击树分析的RR周期。该过程说明了规范的发展和隐私分析的移动冠状病毒预警应用程序。
2021-12-08 cs.CR cs.SE
Proceedings 16th International Refinement Workshop
第16届BCS-FACS精炼研讨会于2013年6月11日在芬兰图尔库与iFM 2013共同举办。本卷载有经同行审查后选定在讲习班上介绍的6篇论文。这些论文涵盖了细化理论和应用方面的广泛主题。精化是软件工程形式化方法的基石之一:从抽象规范通过一系列基于抽象的步骤开发更详细的设计或实现的过程,这些步骤相对于原始规范保持正确性。
2013-05-24 cs.LO cs.SE
Towards Automatically Extracting UML Class Diagrams from Natural Language Specifications
在模型驱动工程(MDE)中,UML类图是开发人员之间进行计划和通信的一种方式。然而,它是复杂和消耗资源的。我们提出了一个自动化的方法提取UML类图从自然语言软件规格说明。为了开发我们的方法,我们在志愿者的帮助下创建了一个UML类图及其英文规范的数据集。我们的方法是一个管道的步骤组成的分割成句子的输入,句子的分类,从句子的UML类图片段的生成,并组成这些片段到一个UML类图。我们开发了一个定量测试框架,具体到UML类图提取。我们的方法产生低精度和召回率,但作为未来研究的基准。
2022-10-27 cs.IR cs.SE
Sequence Diagram Test Case Specification and Virtual Integration Analysis using Timed-Arc Petri Nets
在本文中,我们正式定义测试用例序列图(TCSD)作为一个易于使用的手段来指定测试用例的组件,包括时间约束。这些测试用例是使用UML2语法建模的,并且可以由标准的UML建模工具指定。在基于组件的设计中,可以在实际系统构建之前通过组件的虚拟集成来实现对错误的早期识别。我们定义了这样一个过程,它集成了各个组件的测试用例,根据给定的体系结构的互连和检查,如果所有指定的通信序列是一致的。因此,我们正式定义的转换TCSD到时间弧Petri网和这些网的组合过程。我们的方法的适用性,证明了航空电子用例从ARP 4761标准。
2013-02-21 cs.SE
Desiree: a Refinement Calculus for Requirements Problems
从涉众那里引出的需求通常是非正式的、不完整的、模糊的和不一致的。需求工程的任务是将它们转换为一个合格的(正式的,足够完整的,明确的,一致的,可修改的和可追溯的)功能和质量的需求规范,系统需要操作。为了解决这个需求问题,我们提出了Desiree,一个系统地将利益相关者的需求转化为一个合格的规范的需求演算。在本文中,我们定义了用于建模需求的概念的语义,以及用于细化和操作化需求的操作符的语义。我们提出了一个图形化的建模工具,支持整个框架,包括九个概念,八个运营商和转换方法。我们使用一个会议的例子来说明各种推理任务,我们可以根据给定的语义执行。
2016-05-08 cs.SE
Integrating UML with Service Refinement for Requirements Modeling and Analysis
统一建模语言(UML)是需求建模和系统设计的事实标准。UML作为一种可视化语言,可以极大地帮助客户、项目经理和开发人员指定目标系统的需求。然而,UML缺乏精确描述需求的能力,如系统操作的契约,并验证需求的一致性和细化。这些缺点导致了软件开发过程的早期阶段很难发现软件的潜在缺陷,从而需要在软件测试中付出更多的努力来发现缺陷。服务精化是一种形式化的方法,可以作为对UML的补充。在本文中,我们展示了如何集成UML与服务细化来指定需求,并通过一个在线购物系统的案例研究,验证了一致性和细化的需求。特别地,需求建模通过UML图,其中包括a)用例图,b)系统序列图和c)概念类图。服务精化通过引入契约来增强需求模型。此外,通过服务精化可以验证需求模型的一致性和精化性。我们的方法表明,将UML与服务细化相结合,与仅使用UML进行需求建模相比,实现一致性需求所需的工作量更少。
2018-03-14 cs.SE
From Specification Models to Explanation Models: An Extraction and Refinement Process for Timed Automata
自主系统控制着我们日常生活中的许多任务。为了增加对这些系统的信任和人类与自主系统之间互动的安全性,应向用户、专家和公共当局解释系统行为和自主决策的理由。提供这种解释的一种方法是使用行为模型在运行时生成特定于上下文和用户的解释。然而,这是以更高的建模工作为代价的,因为需要构建更多的模型。在本文中,我们提出了一个高层次的过程中提取系统模型的解释模型,并随后细化这些对特定的用户,解释的目的和情况。通过这一点,我们使规范模型的重用集成到系统的自我解释能力。我们使用自动驾驶领域的一个运行示例来展示我们的方法。
2022-09-28 cs.FL cs.LO cs.SE
Towards Large Language Model Aided Program Refinement
National University of Singapore(新加坡国立大学);Griffith University(格里菲斯大学);Peking University(北京大学);Singapore Institute of Technology(新加坡科技设计大学);Shanghai Jiaotong University(上海交通大学);Singapore Management University(新加坡管理大学)
针对传统程序细化缺乏自动化及LLM生成代码不可靠的问题,提出LLM4PR工具,结合形式化细化演算与LLM自动生成并验证代码,确保代码正确性。
2024-06-26 cs.AI cs.CL cs.SE
Towards Refinement Strategy Planning for Event-B
Event-B是一种面向系统建模和分析的形式化方法。它支持细化机制,使逐步建模和验证的系统。通过使用精化,可以分散和减轻验证的复杂性。在使用Event-B的公共开发中,在建模之前检查用自然语言编写的规范,以便规划建模和细化策略。然后,从一个简单的抽象模型开始,通过逐步引入复杂的结构和概念,构建了几个不同抽象层次的具体模型。虽然Event-B的用户必须计划如何抽象每个模型的构造规范,但尚未建议此类计划的指导方针。具体来说,由于Event-B的语义约束,模型中的某些元素通常要求模型中包含其他元素。由于这种需求同时引入了许多元素,事件B的非专家通常会使细化变得粗糙,尽管粗糙的细化并不能很好地降低验证的复杂性。针对这个问题,提出了一种方法来规划在每个抽象层中构建什么模型。该方法考虑事件B的语义约束和系统中元素之间的关系,计算出降低复杂性的计划。
2012-10-26 cs.SE
Desiree - a Refinement Calculus for Requirements Engineering
来自涉众的需求受到各种各样的困扰,包括非正式性、不完整性、模糊性、不一致性、不一致性等等。需求工程(RE)过程的任务是从这些需求中获得一个合格的(正式的,足够完整的,明确的,一致的,可测量的,可满足的,可修改的和可追溯的)需求规范,真正抓住利益相关者的需求。我们提出了Desiree,一个细化演算系统转换利益相关者的要求,到一个合格的规范。演算的核心是一组丰富的需求操作符,通过加强或削弱它们来迭代地转换利益相关者的需求,从而减少不完整性,消除模糊性和不确定性,消除不可达性和冲突,将它们转化为合格的规范。该框架还包括一个本体的建模和分类的要求,一个基于推理的语言表示的要求,以及应用的概念和运营商的系统方法。此外,我们定义了语义的需求概念和运营商,并开发了一个图形化的建模工具,以支持整个框架。为了评估我们的建议,我们已经进行了一系列的实证评估,包括本体评估分类的大型公共需求集,语言评估重写的大型需求集使用我们的解释为基础的语法,方法评估通过一个现实的案例研究,并通过三个控制实验的整个框架的评估。我们的评估结果表明,我们的本体,语言和方法是足够的捕获在实践中的需求,并提供了强有力的证据,有足够的培训,我们的框架确实有助于人们进行更有效的需求工程。
2016-04-12 cs.SE
GénéSyst : Génération d'un système de transitions étiquetées à partir d'une spécification B événementiel
在正式开发中,最昂贵的错误来源和更难检测的错误是规格说明期间的错误。因此,形式化开发的第一步通常包括展示规范的所有行为的集合,例如使用自动机。从这个观察开始,许多研究都是关于从行为规范(如UML)生成B机器的。然而,不进行向后验证。这就是为什么,我们提出了GeneSyst工具,其目的是生成一个自动机描述至少所有的行为规范。细化步骤被认为是在所产生的SLTS子自动机出现。
2010-04-13 cs.SE
Timed I/O Automata: It is never too late to complete your timed specification theory
本文提出基于 Timed I/O Automata 与 Timed I/O Transition Systems 的完整实时系统规范理论,涵盖精化、一致性、组合、商等构造,并由严格证明和 ECDAR 工具实现支持。
2023-07-13 cs.FL cs.SE
Utilizing API Response for Test Refinement
本文提出一种利用API响应消息的动态测试细化方法,通过智能体迭代添加约束修复测试场景,减少4xx响应并提高覆盖率,优于现有搜索式工具。
2025-01-30 cs.SE
Conformance Verification of Normative Specifications using C-O Diagrams
C-O图作为一种直观表示规范性文本和电子合同的手段而被引入,其中可以表示不同签署人的义务、许可和禁止,以及在不履行其义务和禁止的情况下的处罚。在这样的图中,我们也能够表示绝对和相对的时序约束。在本文中,我们考虑一个正式的语义的C-O图的网络的时间自动机的基础上,我们提出了几个关系,检查合同的一致性的可实现性,分析是否实现满足其合同上定义的要求,并比较几个实现使用的执行权限作为标准。
2012-09-11 cs.FL cs.SE
Interface Theories for (A)synchronously Communicating Modal I/O-Transition Systems
接口规范在基于构件的软件开发中起着重要的作用。接口理论是一种支持接口规范的组合、精化和兼容的形式化框架。我们提出了不同的接口理论,使用模态I/O转换系统作为其基础域的接口规范:同步接口理论,采用同步通信模式,以及一种新的异步通信的接口理论,组件通过FIFO缓冲区进行通信。
2011-01-25 cs.SE
SpecForge: Recursive Self-Improvement for Coding Agents via Behavioral Specifications
Virginia Tech(弗吉尼亚理工大学);NEC Laboratories America(美国NEC实验室)
本研究提出SpecForge多前沿树搜索框架,通过三种机制解决编码智能体递归自我改进中的输出耦合问题,在DevEval+上实现最优性能,且改进后的规范可迁移至跨语言翻译等任务。
2026-10-14 cs.AI cs.SE
A logic for n-dimensional hierarchical refinement
分层转换系统提供了一种流行的数学结构来表示基于状态的软件应用程序,其中不同的抽象层由相互关联的状态机表示。将高级状态分解为内部子状态,并将其转换为内部子转换是许多规格说明形式主义中采用的常见精化过程。本文介绍了k层变迁系统的混合模态逻辑,它的一阶标准翻译,互模拟的概念,和模态不变性的结果。分层和分层的概念细化也讨论了在此设置。
2016-06-07 cs.LO cs.SE
Model exploration and analysis for quantitative safety refinement in probabilistic B
反例在标准系统分析中所扮演的角色是众所周知的;但在概率系统精化中,反例的概念不太常见。在本文中,我们扩展以前的工作,使用反例归纳概率系统的不变性质,演示它们如何可以用来扩展有界模型检验式分析的技术,在概率B语言的定量安全规范的细化。特别是,我们展示了如何适应的方法,以应付结合概率循环的改进。最后,我们展示了技术上的PB模型总结了一个随机算法的一步改进,找到最小的无向图,并为控制器设计的可靠性分析。
2011-06-21 cs.LO cs.SE
Automated Mapping of UML Activity Diagrams to Formal Specifications for Supporting Containment Checking
业务分析师和领域专家经常使用与技术和平台无关的高级模型来勾画软件系统的行为。开发人员将用技术细节来完善和丰富这些高级模型。因此,随着时间的推移,细化的模型可能会偏离原始模型,特别是当两种模型独立演化时。在这种情况下,我们专注于行为模型;也就是说,我们的目标是确保细化的低级别行为模型符合相应的高级别行为模型。基于现有的形式化验证技术,我们提出包含检查作为一种手段,以评估系统的行为所描述的低级别模型是否满足已指定的高级别同行。主要障碍之一是如何减轻创建行为模型的正式规范以及一致性约束的负担,这是一项手动完成的繁琐且容易出错的任务。本文提出的方法旨在通过将行为模型视为验证输入,并将行为模型自动映射到可直接由模型检查器使用的形式属性和描述上,来缓解上述挑战。我们讨论了我们的方法中的各种挑战,并展示了我们的方法在说明性场景中的适用性。
2014-04-03 cs.LO cs.SE
Data Dependency-Aware Code Generation from Enhanced UML Sequence Diagrams
WeChat Pay, Tencent Inc(腾讯公司);The Chinese University of Hong Kong(香港中文大学);Wuhan University(武汉大学)
提出UML2Dep框架,通过增强UML顺序图显式形式化复杂需求,并引入数据依赖推断(DDI)任务构建依赖图,结合静态解析与剪枝降低复杂性,提升LLM代码生成的准确性与效率。
2025-11-05 cs.AI cs.SE
Using Alloy to model-check visual design notations
本文探讨了图形符号的抽象语法的验证过程。我们为发现方法使用的五个UML图定义了一个统一的规范,在本文档中,我们说明了如何在Alloy中表示图,并根据我们的规范进行检查,以了解这些图在发现符号下是否有效。
2008-02-15 cs.SC cs.SE