Specification of Products and Product Lines
近年来,软件开发中的可变性研究变得越来越重要。一个常见的机制来表示产品线中的可变性是通过特征模型。然而,这些模型和UML设计模型之间的关系并不简单。UML状态图被扩展,在其主要组件中引入可变性,以便可以指定产品线的行为。这项工作的贡献是一个基于规则的方法,定义了一个转换策略,从扩展的状态图到具体的UML状态图的建议。这是通过使用特征模型来实现的,以便描述共同的和变化的组件,以这种方式,从不同的特征配置开始并应用基于规则的方法,可以获得对应于生产线的不同产品的具体状态机。
2010-01-25 cs.LO cs.SE
Formalizing UML State Machines for Automated Verification -- A Survey
本文综述了1997至2021年间形式化UML状态机语义以进行模型检查的研究,指出形式化可消除自然语言歧义、支持自动验证,从而在早期发现设计漏洞并降低成本。
2024-07-24 cs.LO cs.SE
Automated Mapping of UML Activity Diagrams to Formal Specifications for Supporting Containment Checking
业务分析师和领域专家经常使用与技术和平台无关的高级模型来勾画软件系统的行为。开发人员将用技术细节来完善和丰富这些高级模型。因此,随着时间的推移,细化的模型可能会偏离原始模型,特别是当两种模型独立演化时。在这种情况下,我们专注于行为模型;也就是说,我们的目标是确保细化的低级别行为模型符合相应的高级别行为模型。基于现有的形式化验证技术,我们提出包含检查作为一种手段,以评估系统的行为所描述的低级别模型是否满足已指定的高级别同行。主要障碍之一是如何减轻创建行为模型的正式规范以及一致性约束的负担,这是一项手动完成的繁琐且容易出错的任务。本文提出的方法旨在通过将行为模型视为验证输入,并将行为模型自动映射到可直接由模型检查器使用的形式属性和描述上,来缓解上述挑战。我们讨论了我们的方法中的各种挑战,并展示了我们的方法在说明性场景中的适用性。
2014-04-03 cs.LO cs.SE
UML Modeling to TM Modeling and Back
当然,统一建模语言(UML)作为建模软件系统的事实标准的成功并不意味着关闭科学探索或在该领域进行建模实验的大门。在这一领域的继续研究可以产生理论结果,加强UML作为主要建模语言。最近,一种新的建模技术已经被提出,称为思维机(TM)建模。本文利用TM来进一步理解UML,有两个目标:(a)研究UML中的精细问题,包括事件,对象,动作,活动等理论概念。具体来说,TM可以用来解决与内部跨图集成相关的问题。(b)TM应用了不同的概念化方法,包括与面向对象范式相比,在一类本体上构建模型。本研究的长期目标是探索TM补充UML方法论中某些方面的可能性,以开发和设计软件系统。因此,我们在UML和TM建模之间交替。在TM中重新设计了一个UML示例模型,然后从TM中提取UML图。结果澄清了两种模型中的许多概念。特别是,TM行为规范似乎适用于UML。
2021-02-05 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
Automatic Debugging Support for UML Designs
大型软件系统的设计需要严格应用涵盖软件过程所有阶段的软件工程方法。在早期的设计阶段进行调试是非常重要的,因为后期的错误修复是昂贵的。在本文中,我们描述了一种方法,便于调试的UML需求和设计。统一建模语言(UML)是一组用于软件系统的面向对象设计的符号。我们已经开发出一种算法,翻译的形式,注释序列图到结构化的状态图的需求规格。该算法检测序列图之间的冲突和领域知识中的不一致。在从序列图合成状态图之后,这些状态图通常受到手动修改和细化。通过使用我们的合成算法的“向后”方向,我们能够将对状态图的修改映射回需求(序列图),并检查那里的冲突。反馈给用户的冲突检测我们的算法是基于演绎的调试的需求和域理论在非常早期的发展阶段的基础。我们的方法允许生成关于为什么存在冲突以及规范的哪些部分受到影响的解释。
2000-11-13 cs.PL cs.SE
To Do or Not to Do: Semantics and Patterns for Do Activities in UML PSSM State Machines
本文系统分析了 UML PSSM 状态机中 doActivity 行为的操作语义,发现并报告了 20 多个规范问题,并提出 11 种使用模式以帮助开发者构建合规工具和设计更可靠的状态机模型。
2024-07-08 cs.SE
The Structure-Behavior Coalescence Method --Toward a Unified View of the Software System in Model-Driven Engineering
在模型驱动工程(MDE)中,统一建模语言(UML)2.0规范包括一个定义语言概念的元模型和一个定义如何表示语言概念的用户模型。在UML2.0中,元模型的一个重要用途是提供一个集成的语义框架,用户模型中的每个图都可以被投影为元模型的视图。然而,大多数现有的UML 2.0元模型缺乏作为统一软件系统的不同视图的基础的能力。为了克服当前UML 2.0元模型方法的缺点,我们开发了基于操作的多队列结构-行为合并过程代数(O-M-SBC-PA),它提供了一个集成的语义框架,能够集成结构和行为构造。使用O-M-SBC-PA作为UML 2.0的元模型,用户模型中的每个图都可以被投影为MDE元模型的视图。
2022-06-27 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
Software Requirements Specification of the IUfA's UUIS -- a Team 3 COMP5541-W10 Project Approach
本文件的目的是规定大学统一库存系统的要求。分析师团队使用反馈瀑布方法来收集需求。诸如用例图、框图、领域模型和接口原型的UML图是用于开发本文档的一些工具。
2010-05-04 cs.SE
Towards the integration of formal specification in the Áncora methodology
有一些非正式的方法论,如RUP,OpenUP,敏捷方法论,如SCRUP,XP和技术,如UML提出的那些,它们允许软件开发。软件行业一直在努力开发高质量的软件,因为工程需求并不重要,导致需求规格不佳,软件质量差。为了产生的贡献,规范的要求,本文介绍了一种方法的建议,实施正式的方法的结果的过程中的需求分析的方法Áncora。
2011-11-04 cs.SE
Verifiable UML Artifact-Centric Business Process Models (Extended Version)
以工件为中心的业务流程模型最近获得了越来越多的动力,这是因为它们能够将结构化(即,数据相关)与动态(即,过程相关)方面。特别是,两个主要的研究方向已经进行到目前为止:一个定制的业务人工制品建模语言和方法,其他的重点是他们的形式化验证的基础。在本文中,我们合并这两条线的研究,通过展示如何最近的理论可判定性验证结果可以卓有成效地转移到一个具体的基于UML的建模方法。特别是,我们确定的方法,在重要的情况下,保证对丰富的一阶时间属性验证所得到的模型的可能性的额外步骤。值得注意的是,我们的结果可以无缝地转移到不同的语言中,用于工件生命周期的规范。
2014-08-26 cs.DB cs.SE
Formal Verification of Ecosystem Restoration Requirements using UML and Alloy
本文提出一种基于UML元模型和Alloy形式化的模型驱动方法,通过Alloy Analyzer验证生态系统的安全性与活性属性,确保生态系统规格说明可靠并满足恢复目标,并以CRESTO实例进行说明。
2024-05-31 cs.SE
A transformation approach for collaboration based requirement models
分布式软件工程被广泛认为是一项复杂的任务。在固有的复杂性是从其全球需求规格获得系统设计的过程。本文涉及这样的转换过程,并提出了一种方法来获得一个给定的系统组件的行为,在分布式有限状态机的形式,从全球系统的需求,在一个增强的UML活动图符号的形式。建议的方法的过程中总结为三个步骤:定义适当的源元模型(需求元模型),目标设计元模型的定义和定义的规则来管理在派生过程中的转换。派生过程将描述为UML图活动(通过协作扩展)的全局系统需求转换为表示为UML有限状态机的系统角色行为。该方法使用Atlas转换语言(ATL)实现。
2012-02-08 cs.SE
Generating Logical Specifications from Requirements Models for Deduction-based Formal Verification
工作涉及自动生成的逻辑规格的需求模型。以这种方式获得的逻辑规范可以使用演绎推理进行形式化验证。形式化验证关注模型行为的正确性。需求工程的可靠性对于软件开发过程的所有阶段都是必不可少的。演绎推理是一种重要的形式化方法。然而,逻辑规范,被认为是一组时序逻辑公式,很难指定手动经验不足的用户,这一事实可以被视为一个重大障碍,实际使用的演绎为基础的验证工具。提出了一种利用UML图建立需求模型的方法,包括逻辑规格说明。将活动图组织到预定义的工作流模式中可以自动提取逻辑规范。所提出的方法的关键方面是集成的需求工程阶段和逻辑规格的自动生成。提出了一种基于演绎的验证系统。推理过程可以基于语义表方法。提供了一个简单的需求获取和验证的示例。
2014-02-09 cs.SE
Using Alloy to model-check visual design notations
本文探讨了图形符号的抽象语法的验证过程。我们为发现方法使用的五个UML图定义了一个统一的规范,在本文档中,我们说明了如何在Alloy中表示图,并根据我们的规范进行检查,以了解这些图在发现符号下是否有效。
2008-02-15 cs.SC cs.SE
Unified Modeling Language Code Generation from Diagram Images Using Multimodal Large Language Models
University of Oklahoma(俄克拉荷马大学);MapLarge(MapLarge公司);Florida State University(佛罗里达州立大学)
针对 UML 图表图像难以逆向生成可执行代码的问题,本文构建合成活动图与序列图数据集,采用标准微调和 LoRA 优化多模态大模型,最佳模型在序列图上取得 BLEU 0.779、SSIM 0.942。
2025-05-15 cs.LG cs.SE
Towards Conceptual Modeling Semantics: Eventizing Tarski's Truth Schema
软件工程中的建模语言(例如,UML)是从软件系统建模发展而来的,在软件系统建模中,指称和操作类型的语义是研究和实践的传统主题。根据一些作者,虽然大部分静态语义(例如,UML)似乎已经达成了共识,活动、交互和状态机的动态语义构成了一个重大挑战。语义学的核心是句子与(实际)世界之间的关系。仔细检查建模语言领域中与语义相关的问题以避免可能影响实际适用性的问题是很重要的。在这方面的一个努力是OMG发布的2020年基础UML(fUML)规范草案,其基本语义指定了与传统程序设计语言中的程序相同意义上的可执行。此外,学术界的努力已经寻求开发一种替代方法来使用形式语义(例如,使用罗素的类型理论和塔斯基的声明语义学)。本文旨在开发语义学的类似探索性冒险,只是为了一种更温和的图形建模语言,称为事物机器模型。该模型促进了对仔细审查的建模语言的深入理解,并导致相当富有成效的问题。构建thinging机器模型似乎有助于这一方向的进展,本文的初步结果表明该方法的可行性。
2020-11-03 cs.SE
Generating Python Code From Object-Z Specifications
Object-Z是一种面向对象的规约语言,它用类、对象、继承和多态性扩展了Z语言,可用于将复杂系统的规约表示为对象的集合。有许多现有的作品将Object-Z映射到C++和Java程序设计语言。由于Python和Object-Z有许多相似之处,都是面向对象的范型,支持集合论和谓词演算,而且Python是一种函数式程序设计语言,自然更接近于形式化规范,因此我们提出了一种从Object-Z规范到Python代码的映射,该映射涵盖了Object-Z的一些结构,并将其规范用Python表示,以验证这些规范。验证用于映射覆盖的前置条件,后置条件和使用lambda函数和Python的装饰器构建的不变量。这项工作发现Python是一种优秀的语言,用于开发库以将Object-Z规范映射到Python。
2018-02-17 cs.SE
How Powerful are LLMs in Generating Formal Program Specifications?
Institute of Software, Chinese Academy of Sciences(中国科学院软件研究所);University of the Chinese Academy of Sciences(中国科学院大学);School of Computer Science & Key Lab. of High Confidence Software Technologies of Ministry of Education, Peking University(北京大学计算机学院及教育部高可信软件工程重点实验室);Zhongguancun Lab.(中关村实验室)
该研究引入基于Rocq的Coins评估框架,在HumanEval数据集上开展大规模研究,发现LLMs生成形式化程序规约仍具挑战,准确的规约评估是理解其能力的核心。
2026-08-14 cs.SE
Automatic generation of analysis class diagrams from use case specifications
在面向对象的软件开发中,分析建模涉及从软件需求中识别问题级对象以及它们之间的关系的任务。软件需求通常用某种自然语言编写,分析建模通常由有经验的分析人员执行。软件需求是非结构化的文本,而分析模型通常是结构化的UML图,两者之间存在巨大的差距,加上人为的疏忽,不可避免地使转换过程容易出错。此过程的自动化可以帮助减少转换中的错误。在本文中,我们提出了一个工具支持的方法,自动转换的用例规格说明书的英文语言到分析类图。该方法分为四个步骤。它首先将用例的文本规范作为输入,然后使用自然语言解析器为规范中的每个句子生成类型依赖和词性标记。然后,使用一组全面的句子结构规则来识别每个句子的句子结构。接着,它应用一组转换规则的类型依赖和词性标记的句子,发现问题级对象和它们之间的关系。最后,它生成并可视化分析类图。我们进行了一个对照实验,比较的正确性,完整性和冗余的分析类图所产生的方法与现有的自动化方法。实验结果表明,该方法生成的分析类图比其他方法生成的分析类图更正确、更完整、冗余度更低。
2017-08-05 cs.SE
How Effective are Large Language Models in Generating Software Specifications?
本文首次实证评估了大型语言模型从软件注释或文档生成软件规约的能力,通过少样本学习在三个公开数据集上比较13个LLMs与传统方法,并诊断失败案例以揭示各自优劣,为改进规约生成提供指导。
2025-02-09 cs.SE
SpecTra: Enhancing the Code Translation Ability of Language Models by Generating Multi-Modal Specifications
Columbia University(哥伦比亚大学);IBM Research(IBM研究院)
SpecTra通过生成多模态规范提升LLM的代码翻译能力,实现高达46%的性能提升。
2025-12-04 cs.SE
LLM Agents for Generating Microservice-based Applications: how complex is your specification?
post.runi.ac.il(runi学院)
本文评估LLM智能体生成微服务应用代码的能力,提出规格说明难度评分标准,发现强模型在中等难度表现尚可但高难度欠佳,并证明细粒度生成方法可提升代码正确性。
2025-10-26 cs.LG cs.SE
ObSynth: An Interactive Synthesis System for Generating Object Models from Natural Language Specifications
Massachusetts Institute of Technology(麻省理工学院)
我们介绍ObSynth,一个交互式系统,利用嵌入在大语言模型(LLM)的领域知识,以帮助用户设计对象模型,从高层次的自然语言提示。这是规范具体化的一个例子,将一个高层次的、潜在的模糊规范具体化为一个更具体的形式。我们通过用户研究评估ObSynth,得出三个关键发现:首先,使用ObSynth设计的对象模型更详细,表明它经常合成用户可能忽略的字段。其次,ObSynth生成的大多数对象、方法和字段都由用户保存在最终的对象模型中,突出了生成组件的质量。第三,ObSynth改变了参与者的工作流程:他们专注于检查合成组件是否正确,而不是从头开始生成它们,尽管ObSynth并没有减少参与者生成对象模型的时间。
2022-10-20 cs.HC cs.LG cs.SE
VerifyThisBench: Generating Code, Specifications, and Proofs All at Once
针对现有代码生成基准饱和且缺乏可信度保障的问题,本文提出VerifyThisBench基准,要求模型从自然语言提取规范、实现并证明,评估显示SOTA模型通过率低于4%,并发布基准与环境以推动形式验证能力。
2025-10-07 cs.SE
Automated Generating Natural Language Requirements based on Domain Ontology
软件需求规格说明对于整个软件生命周期无疑是至关重要的。如今,编写软件需求规格说明主要依赖于人类的工作。虽然已经提出了大量的研究,通过提出先进的启发和分析技术,以加快这一进程,它仍然是一个耗时和容易出错的任务,需要考虑到领域知识和业务信息。在本文中,我们提出了一种方法,命名为ReqGen,它可以提供建议,自动生成自然语言的需求规格说明的基础上,某些给定的关键字。具体来说,ReqGen包括三个关键步骤。首先,从领域本体中选择面向关键词的知识,并将其注入到基本的统一预训练语言模型(UniLM)中进行领域微调。其次,集成了复制机制,以确保关键字在生成的语句中出现。最后,设计了一种需求语法约束的解码方法,以缩小候选规范和参考规范之间的语义和语法距离。在两个来自不同领域和不同群体的公共数据集上的实验表明,ReqGen在关键词(短语)包含的硬约束、BLEU、ROUGE和语法遵从性方面优于六种流行的自然语言生成方法。我们相信ReqGen可以提高软件需求描述的效率和智能性。
2022-11-30 cs.SE
OASBuilder: Generating OpenAPI Specifications from Online API Documentation with Large Language Models
IBM Research(IBM研究院)
OASBuilder利用大语言模型和规则算法,将在线API文档自动转换为机器可读的OpenAPI规范,在数百个API上验证有效,并已在企业环境部署,节省大量人工。
2025-07-07 cs.AI cs.SE
APITestGenie: Generating Web API Tests from Requirements and API Specifications with LLMs
Deloitte(德勤);Faculty of Engineering, University of Porto(波尔图大学工程学院);LIACC, Faculty of Engineering, University of Porto(波尔图大学工程学院 LIACC);INESC TEC, Faculty of Engineering, University of Porto(波尔图大学工程学院 INESC TEC)
本文提出APITestGenie工具,利用LLM、RAG和提示工程从业务需求和OpenAPI规范自动生成API测试,测试覆盖率达89%,发现API缺陷,提升测试与需求的一致性。
2026-04-02 cs.SE
A practical guide to Message Structures: a modelling technique for information systems analysis and design
尽管模型驱动的软件开发(MDD)日益成熟,但在信息系统(IS)领域仍然存在一些研究挑战。例如,有必要改进建模技术,使其以综合方式涵盖若干发展阶段,并促进从分析到设计的过渡。本文介绍了消息结构,规范的IS和组织的演员之间的沟通互动的技术。该技术可用于分析阶段和设计阶段。在分析过程中,它允许从支持IS的技术中抽象出来,并通过组织的通信需求规范来补充业务流程建模技术。在设计过程中,消息结构服务于两个目的:(i)它允许系统地导出IS内存的规范(例如UML类图),(ii)它允许使用抽象模式推理用户界面设计。这种技术是通信分析的一部分,面向通信的需求工程方法,但它可以被采用,以扩展广泛使用的业务流程和功能需求建模技术(例如BPMN,用例)。此外,本文还介绍了两个支持消息结构的工具,一个使用Xtext技术,另一个使用Eclipse建模框架。工业经验表明,该技术可以在复杂的项目中采用和应用。
2011-02-01 cs.SE
Class Model Generation from Requirements using Large Language Models
Monash University(莫纳什大学);University College Dublin(都柏林大学学院)
本文研究了大型语言模型在自动从自然语言需求生成UML类图方面的有效性,通过双验证框架评估模型生成的准确性和一致性。
2026-03-10 cs.SE
AutoReSpec: A Framework for Generating Specification using Large Language Models
Texas State University(德克萨斯州立大学)
本文提出AutoReSpec框架,通过动态选择LLM和提示配置,结合协作模型反馈,提升规范生成的准确性和效率,实验显示其在成功概率和完整性上优于现有方法。
2026-04-04 cs.AI cs.SE
Generating Complete and Finite Test Suite for ioco: Is It Possible?
输入/输出转换系统的测试已经被深入研究。实现和规范之间的一致性通常由所谓的ioco-relation确定。但是,为ioco生成测试通常会受到输入和输出之间冲突问题的阻碍。此外,生成主要是基于不确定性的方法,这可能会提供完整的测试套件,但需要无限数量的执行。在本文中,我们研究是否有可能构建一个有限的测试套件,这是完全的,在一个预定义的故障域的经典ioco关系,即使在存在输入/输出冲突。我们通过提出一种基于为有限状态机开发的传统方法的完整测试生成方法,证明在有关规范和实现的某些假设下这是可能的。
2014-03-28 cs.SE
DesignBIP: A Design Studio for Modeling and Generating Systems with BIP
行为-交互-优先级(BIP)框架,植根于严格的语义,允许系统的建设是正确的设计。BIP已被有效地用于大型系统的构建和分析,如机器人控制器和卫星机载软件。然而,BIP模型的规范是以纯文本的方式完成的,没有任何代码编辑器的支持。为了方便BIP模型的规范,我们提出了DesignBIP,一个基于Web的,协作的,版本控制的设计工作室。为了提高模型的可伸缩性和可重用性的BIP模型,我们使用一个图形化的语言建模的参数化BIP模型具有严格的语义。我们介绍了Design Studio提供的各种服务,包括模型编辑器、代码编辑器、一致性检查机制、代码生成器以及与JavaBIP工具集的集成。
2018-05-31 cs.SE
FLAG: Formal and LLM-assisted SVA Generation for Formal Specifications of On-Chip Communication Protocols
针对从非正式文档生成片上通信协议SVA属性的难题,提出两阶段框架FLAG,结合模板生成与时序图及LLM过滤,有效提升属性生成的正确性。
2025-04-24 cs.AR cs.SE
Leveraging LLMs for Formal Software Requirements -- Challenges and Prospects
本文提出VERIFAI项目,探索结合NLP、本体建模与LLM等方法,从非正式自然语言需求自动生成可验证形式化规格说明,并总结关键挑战与研究方向。
2025-08-28 cs.SE
Automatically Generating Dockerfiles via Deep Learning: Challenges and Promises
容器化允许开发人员定义需要安装其软件的执行环境。Docker是该领域的领先平台,使用它的开发人员需要为他们的软件编写Dockerfile。编写Dockerfiles绝非易事,特别是当系统对其执行环境有不寻常的要求时。尽管有几种工具可以支持开发人员编写Dockerfiles,但考虑到执行环境要求的高级规范,它们都无法从头开始生成整个Dockerfiles。在本文中,我们提出了一项研究,旨在了解深度学习(DL)在多大程度上可用于此特定的编码任务,该深度学习已被证明在其他编码任务中是成功的。我们初步定义了Dockerfile需求的结构化自然语言规范,以及我们用来从目前可用的最大Dockerfiles数据集中自动推断需求的方法。我们使用所获得的数据集(具有670,982个实例)来训练和测试文本到文本传输Transformer(T5)模型,遵循当前最先进的编码任务程序,从结构化规范自动生成Dockerfiles。我们的评估结果表明,T5的表现类似于我们考虑的更平凡的基于IR的基线。我们还报告了在Dockerfile生成的背景下与深度学习应用相关的开放性挑战。
2023-03-28 cs.SE
Logic Mining from Process Logs: Towards Automated Specification and Verification
本文提出结合基于模式转换与自动化推理,从工作流挖掘得到的流程模型生成逻辑规约,并在通用及真实日志上评估噪声影响与多种逻辑性质。
2025-06-10 cs.SE
OSVBench: Benchmarking LLMs on Specification Generation Tasks for Operating System Verification
OSVBench通过长上下文任务评估LLMs在操作系统验证中的规范生成能力,揭示现有模型在复杂代码生成任务中的性能差异。
2025-12-07 cs.AI cs.CL cs.OS
Inverting the Shield: Systematically Generating Safety Tests from Policy Specifications
Shenzhen Campus of Sun Yat-sen University(中山大学深圳校区);National University of Singapore(新加坡国立大学);Independent Researcher(独立研究者)
提出POLARIS框架,通过将非结构化自然语言策略编译为一阶逻辑表示并构建语义策略图,实现覆盖驱动的可重复安全测试,相比基线方法提高了策略覆盖率和攻击成功次数。
2026-05-24 cs.AI cs.CR cs.SE
LLM Assisted Coding with Metamorphic Specification Mutation Agent
York University(约克大学)
CodeMetaAgent通过元形态关系驱动LLM代理,提升代码生成准确性与覆盖率,有效解决规范不一致问题。
2025-11-23 cs.SE
LM2Alloy: Investigating LLM-Generated Formal Specifications for Automated Test Derivation in Production Software
North Dakota State University(北达科他州立大学)
该研究探索用大语言模型从需求文档和生产源代码生成Alloy形式规范及推导可执行测试用例,在Flipper和Cerberus库上评估,发现能揭示约束级缺陷,基于代码的规范方差更低,为生产软件自动测试推导提供了新方法。
2026-07-22 cs.SE
DesignBIP: A Design Studio for Modeling and Generating Systems with BIP
行为-交互-优先级(BIP)框架,植根于严格的语义,允许系统的建设是正确的设计。BIP已被有效地用于大型系统的构建和分析,如机器人控制器和卫星机载软件。然而,BIP模型的规范是以纯文本的方式完成的,没有任何代码编辑器的支持。为了方便BIP模型的规范,我们提出了DesignBIP,一个基于Web的,协作的,版本控制的设计工作室。为了提高模型的可伸缩性和可重用性的BIP模型,我们使用一个图形化的语言建模的参数化BIP模型具有严格的语义。我们介绍了Design Studio提供的各种服务,包括模型编辑器、代码编辑器、一致性检查机制、代码生成器以及与JavaBIP工具集的集成。
2018-07-05 cs.FL cs.LO cs.SE
Coding by Design: GPT-4 empowers Agile Model Driven Development
Honda Research Institute Europe(本田欧洲研究所)
针对大语言模型从自然语言生成代码存在模糊性的问题,提出结合UML、OCL和FIPA本体的敏捷MDD方法,借助GPT-4实现跨语言代码自动生成,验证了生成代码的行为一致性与结构可控性。
2023-10-06 cs.AI cs.FL cs.MA
SilGAN: Generating driving maneuvers for scenario-based software-in-the-loop testing
Volvo Group(沃尔沃集团);Chalmers University of Technology(查尔姆斯理工大学)
汽车软件测试继续在很大程度上依赖于昂贵的现场测试来确保质量,因为基于模拟的测试等替代方法相对不成熟。作为降低对现场测试依赖的一步,我们提出了SilGAN,这是一种深度生成模型,可以简化汽车软件在环测试的规范,刺激生成和自动化。该模型使用现场车辆记录的数据进行训练。在训练时,该模型使用驾驶场景的简明规范来生成在这种场景期间可能发生的真实车辆状态转换。这种内部车辆行为的真实仿真可以用于车辆控制软件的快速、系统和廉价的测试。此外,通过提出一种有针对性的方法来搜索模型学习到的信息,我们展示了如何自动化测试目标,如代码覆盖率。我们提出的数据驱动的端到端测试管道极大地扩展了基于汽车仿真的测试的范围和可信度。这缩短了上市时间,同时有助于保持所需的质量标准。
2021-07-05 cs.LG cs.SE
Towards Code Generation from BDD Test Case Specifications: A Vision
Technische Universität Darmstadt(达姆施塔特工业大学)
本文提出一种新颖的代码生成方法,利用行为驱动开发测试规约作为基于 Transformer 的机器学习模型的输入,为流行的 Angular 框架生成前端组件代码,旨在大幅减少 Web 应用开发时间并提升软件质量。
2023-05-19 cs.AI cs.SE
The Specification Paradox: Rethinking Requirements Engineering in the Age of AI
Rio de Janeiro State University(里约热内卢州立大学)
该研究探讨大型语言模型普及下软件工程从代码中心转向规范驱动开发的趋势,提出规范悖论,指出AI生成软件能力越强,越依赖高质量人类规范,强调需求工程的核心地位。
2026-08-18 cs.PL cs.SE
Evaluating the Ability of Large Language Models to Generate Verifiable Specifications in VeriFast
Purdue University(普渡大学);University of Michigan - Ann Arbor(密歇根大学安娜堡分校)
本文评估 GPT-4o 为 C 程序生成可由基于分离逻辑的 VeriFast 验证的规范的能力,发现其规范能保持功能行为但可验证性差且存在冗余,并探讨了改进方向。
2025-01-03 cs.AI cs.LO cs.PL