Network Motifs in Object-Oriented Software Systems
如今,软件已经成为一项复杂的工作,可能超出了我们的控制范围。了解软件如何随着时间的推移而发展,在控制软件开发过程中起着重要的作用。最近,一些研究人员在软件系统或Web应用程序中发现了结构复制的定量证据,这与生物系统中发现的进化趋势相似。为了探索软件演化的原理或规律,我们将复杂网络的相关理论和方法引入到软件系统的结构演化和变化中。根据我们对网络模体的实验结果,我们发现模体的稳定性与其丰度呈正相关,具有高Z值的模体往往具有稳定的结构。这些发现意味着软件系统的进化是基于功能克隆以及结构复制,并趋于结构稳定。因此,本文的工作将有助于逆向工程中软件系统结构变化的分析。
2008-08-25 cs.SE
Towards a Structural Equation Model of Open Source Blockchain Software Health
本文通过探索性因子分析构建开源区块链软件健康度的结构方程模型,揭示兴趣、参与度与鲁棒性之间的正向影响关系。
2023-10-31 cs.SE
Securing the Dark Matter: A Semantic-Enhanced Neuro-Symbolic Framework for Supply Chain Analysis of Opaque Industrial Software
School of Artificial Intelligence, Shenyang University of Technology(沈阳工业大学人工智能学院);Key Laboratory of Information Security for Petrochemical Industry in Liaoning Province(辽宁省石油化工信息安全重点实验室);School of Information Engineering, Shenyang University of Chemical Technology(沈阳化工大学信息工程学院)
本文提出一种语义增强的神经符号框架,通过直接从opaque二进制中重建行为语义,实现可扩展的全局风险推理,提升供应链分析的准确性和语义映射精度。
2026-05-08 cs.SE
Assessing Semantic Frames to Support Program Comprehension Activities
软件开发人员在构建和处理软件系统时,经常依赖于出现在软件工程工件中的自然语言文本来访问关键信息。例如,开发人员访问需求文档以了解要构建什么,访问源代码中的注释以了解设计决策,访问问答网站上的问题答案以了解API,等等。为了帮助软件开发人员访问和使用这些自然语言信息,软件工程研究人员经常使用自然语言处理中的技术。在本文中,我们探讨框架语义,一般的语言学方法,已被用于需求文本,也可以帮助解决问题时,应用基于词汇分析的技术与程序理解活动的文本。我们评估通用语义框架解析的适用性,并根据结果,我们提出SEFrame定制语义框架解析程序的理解使用。我们评估的正确性和鲁棒性的方法,发现SEFrame是正确的73%和74%的情况下,它可以解析文本从各种软件工件用于支持程序的理解。我们描述了如何使用这种方法来增强现有的方法来确定意图的含义从软件工程文本。
2021-05-12 cs.SE
Stabilization Without Simplification: A Two-Dimensional Model of Software Evolution
University of Toyama(富山大学)
本文提出一个二维模型,探讨软件系统在不简化结构的情况下如何通过稳定化机制提升可预测性,引入基于图的概率框架分离结构负担与不确定性。
2026-07-01 cs.SE
Semantic Linkage of Control Systems
控制系统是一组相互连接的硬件和软件组件,用于调节过程的行为。现代控制系统的软件由于对灵活性和功能性的要求而上升了几年。因此,创新的力量在企业中增长,因为必须在更短的时间间隔内提供更新的产品。与此相关的是产品生存周期的关键缩短,其影响表现在对软件和备件库存的减少。的目的,这里提出的概念,并在建模环境中开发,证明,并确保软件组件的最小功能。在运行时通过框架替换验证功能的控制系统的软件组件,并且如果必要,软件条件将变得适应。这种实现的精髓是使用了抽象语法树。在其层次结构中Meta信息被附加到节点并由框架处理。随着软件构件语义证明概念的发展,软件产品的生命周期不断延长。
2009-04-23 cs.SE
Multilevel Semantic Embedding of Software Patches: A Fine-to-Coarse Grained Approach Towards Security Patch Detection
针对开源软件中安全补丁隐蔽发布导致的漏洞利用风险,本研究提出多层语义嵌入模型MultiSEM,通过细粒度词向量、粗粒度代码行向量结合补丁描述实现鲁棒表示,在PatchDB和SPI-DB数据集上F1指标分别提升22.46%和9.21%,优于现有最优模型。
2023-08-29 cs.SE
scg-cli -- a Tool Supporting Software Comprehension via Extraction and Analysis of Semantic Code Graph
本研究提出命令行工具scg-cli,它提取Java/Scala项目语义信息构建语义代码图,支持度量、关键实体识别等分析,可导出供外部工具分析,并用commons-io项目验证功能。
2023-10-03 cs.SE
Implementation of Function Point Analysis in Measuring The Volume Estimation of Software System in Object Oriented and Structural Model of Academic System
在软件开发中,需要在确定软件的大小或值时具有保真度和准确性,以适应执行的操作。各种计算方法已被广泛应用于估计规模,其中之一是使用功能点分析(FPA)方法。作者将该方法应用于一个学术信息系统的复杂性度量,分别采用面向对象和结构化建模方法。本文中的度量包括几个阶段,即描述将被构建到UML模型中并结构化的信息系统。然后通过计算粗功能点、相对复杂度调整因子对模型进行分析,进而计算其功能点。从使用FPA的计算结果到学术系统软件开发,面向对象模型的FP值为174,64,结构化模型的FP值为180,93。功能点的结果,开发人员将使用它来确定要构建的软件系统的价格和成本。
2013-09-10 cs.SE
A Dynamic Tracing Model for Agile Software Product Lines Domain Engineering from Features to Structural Elements: An Approach Based on Dynamic Routing
即使实施软件产品线的好处已经很好地建立起来,采用这样一个大型系统仍然是一个复杂的选择:很难实施,需要对市场增长有很好的了解,并对企业的长期目标有清晰的认识。因此,许多公司仍然不愿意采取这种做法,除非他们获得灵活性并获得担保。灵活性可以通过采用敏捷软件产品线方法来实现,以确保快速实施更改,并使产品适应市场发展。担保可以通过对要素及其关系的追溯而获得。然而,敏捷软件产品线环境中的跟踪仍然需要获得成熟度,因为它成本高昂,因此很少被采用。在本文中,我们讨论了敏捷软件产品线的可追溯性的附加值,并提出了我们的跟踪模型的灵感来自动态网络路由。
2018-12-13 cs.SE
Semantically Enhanced Software Traceability Using Deep Learning Techniques
在大多数安全关键领域中,认证机构规定了对可追溯性的需求。跟踪链接通常是在需求、设计、源代码、测试用例和其他工件之间创建的,然而,手动创建这样的链接既耗时又容易出错。自动化解决方案使用信息检索和机器学习技术来生成跟踪链接,然而,当前技术未能理解软件工件的语义或将领域知识集成到跟踪过程中,因此倾向于提供不精确和不准确的结果。在本文中,我们提出了一个解决方案,使用深度学习将需求工件语义和领域知识纳入跟踪解决方案。我们提出了一个跟踪网络架构,利用词嵌入和递归神经网络(RNN)模型来生成跟踪链接。词嵌入学习表示领域语料库知识的词向量,RNN使用这些词向量来学习需求工件的句子语义。我们使用正训练控制域中现有的跟踪链路训练了360种不同配置的跟踪网络,并将双向门控递归单元(BI-GRU)确定为跟踪任务的最佳模型。BI-GRU的性能明显优于最先进的跟踪方法,包括向量空间模型和潜在语义索引。
2018-04-06 cs.SE
Semantic Zoom and Mini-Maps for Software Cities
针对3D软件城市的视觉可扩展性难题,提出语义缩放与迷你地图两种方法,经ExplorViz工具实现及用户研究验证,二者对大型软件景观探索等场景有用且可用性良好。
2025-08-26 cs.SE
Rethinking Software Empirical Studies with Structural Causal Models
William & Mary(威廉玛丽学院)
提出CausalSE框架,利用结构因果模型(SCMs)解决混淆偏差,通过Galeras数据集和倾向得分匹配案例,揭示提示工程策略对代码生成的影响,强调因果分析可避免关联分析中的假阳性。
2026-05-27 cs.SE
Bridging Natural Language and Formal Specification--Automated Translation of Software Requirements to LTL via Hierarchical Semantics Decomposition Using LLMs
School of Computer Science and Technology, Xidian University(西安电子科技大学计算机科学与技术学院);Guangzhou Institute of Technology of Xidian University(西安电子科技大学广州研究院);China Academy of Space Technology(中国空间技术研究院)
本文提出Req2LTL框架,通过层次中间表示OnionL将自然语言需求转换为LTL,实现88.4%的语义准确性和100%的语法正确性。
2025-12-19 cs.SE
What You See Is What It Does: A Structural Pattern for Legible Software
针对LLM编码背景下软件不可读和模块化不足的问题,提出一种由独立服务、事件规则和同步领域特定语言组成的结构化模式,以提升增量性、完整性和透明性,并通过RealWorld基准验证其有效性。
2025-08-27 cs.SE
LLM-Guided Genetic Improvement: Envisioning Semantic Aware Automated Software Evolution
针对基于搜索的软件遗传改进(GI)缺乏语义感知、LLM编辑缺乏目标反馈的问题,提出整合语义感知搜索的AI驱动GI研究方向,通过LLM编辑自动聚类增强GI,初步实证显示PatchCat方案可高效分类补丁、检测无操作编辑,为可解释高效绿色GI奠定基础。
2025-08-25 cs.SE
Towards Development of Correct Software using Views
本文的目的是将实际软件开发方法中使用的异构文档集成到一个基于形式化精化的软件开发过程中来描述视图。因此,我们提出了一个集成的语义异构文档的基础上,一个共同的系统模型和一组语法的发展步骤,一个定义良好的语义文档的演变。在一个小例子中演示了开发步骤的使用。
2014-10-15 cs.SE
The Co-Evolution of Test Maintenance and Code Maintenance through the lens of Fine-Grained Semantic Changes
自动化测试是一种被广泛采用的提高软件质量的技术。作为软件开发过程的一部分,以及在初始发布后的演变阶段,软件开发人员添加、删除和更新测试方法和测试类。在这项工作中,我们进行了大规模的研究,61个流行的开源项目,并报告之间的关系,我们已经建立了测试维护,生产代码维护,语义变化(例如,语句添加,方法删除等)。在开发人员的提交中执行。我们建立了预测模型,并表明软件项目中的测试数量可以通过使用代码维护配置文件(即,在每个维护活动中执行了多少次提交:纠正、完善、自适应)。我们的研究结果还表明,开发人员在同一提交中执行代码修复而不执行补充测试维护(例如,更新现有测试或添加新测试)。当开发人员执行测试维护时,很可能会受到他们作为提交的一部分执行的语义更改的影响。我们的工作是基于研究61个流行的开源项目,包括超过240,000个提交,其中包括超过16,000,000个语义更改类型实例,由超过4,000名软件工程师执行。
2017-09-26 cs.SE
SAFE: Advancing Large Language Models in Leveraging Semantic and Syntactic Relationships for Software Vulnerability Detection
本文提出SAFE框架,通过增强大型语言模型对源代码语义与句法关系的学习利用,提升真实复杂数据集上的软件漏洞检测性能。
2024-09-02 cs.SE
Mathematical Principles in Software Quality Engineering
数学对于开发复杂的软件系统有许多有用的特性。一个是它可以准确地描述对象的物理情况或行为的结果。数学支持抽象,这是一个很好的建模媒介,因为它是一个精确的媒介,有一点模糊的可能性。本文表明,数学提供了一个高层次的验证时,它被用作软件媒介。它还概述了基于被测程序源代码的结构测试的显着特点。结构测试方法非常适合于严格的定义,数学分析和精确的测量。最后还讨论了功能测试和结构测试的争论,以使测试有完整的意识。任何程序都可以被认为是一个函数,因为程序输入形成了它的域,程序输出形成了它的范围。一般来说,离散数学更适用于功能测试,而图论更适用于结构测试。
2010-04-10 cs.SE
A Comprehensive Study on the Use of Word Embedding Models in Software Engineering Domain
本研究系统综述了词嵌入模型在软件工程领域的应用,收集181篇论文,回答SE应用、训练策略及与传统方法比较等问题,揭示实践现状与挑战。
2025-05-23 cs.SE
Semantic Code Graph -- an information model to facilitate software comprehension
本文提出语义代码图(SCG)信息模型,通过更贴近源代码的依赖抽象表示提升软件理解能力,并在11个开源项目上与调用图和类协作网络比较,验证其在结构理解、关键实体识别、依赖可视化和代码相似性挖掘方面的优势。
2024-01-01 cs.SE
Characterizing Structural Testability in JavaScript: An Empirical Study
Motorola Solutions(摩托罗拉解决方案);Simon Fraser University(西蒙菲莎大学)
本文针对 JavaScript 结构可测试性展开大规模实证研究,定义七维结构并汇总为 CTS,应用于 30 个开源项目,分析其分布等,发现结构有挑战的函数集中在少量文件且通过多种重复配置出现,为相关研究奠定基础。
2026-07-29 cs.SE
Interaction semantics and its implications for an interaction oriented architecture of IoT-type applications
“物联网(IoT)”一词下的几个协同趋势极大地推动了网络应用的重要性日益增加。在过去,互联网的指数增长主要是由于语义不可知的传输协议。在未来,可以预期的是,由于技术系统的自主性越来越高,有必要更好地理解这些交互网络的语义的性质,以创建适当的网络应用程序。适当意味着这些应用程序的架构允许最小化使这些应用程序适应永久变化的交互网络的工作。提出的面向交互的体系结构是基于交互语义的参考模型。它提供了如何设计网络应用程序的指导原则。交互语义的参考模型提供了:对物理、信息和人类世界中的事物的统一描述;具有直接运行时相关性的交互模型;对层次结构化组件如何松耦合协作的理解;确定有多少语义必须是共同的以使不同语义域的组件能够松耦合协作的概念;和数据类型模型。软件参考体系结构提供了:软件层的定义;表示垂直交互的方法,即划分软件层的交互;表示水平交互的方法,即同一软件层中进程之间的交互;组件的定义以及如何将其与其他实体(如系统或对象)区分开来;以及如何将应用程序功能的可重用部分与不可重用部分分离的模型。
2017-05-16 cs.SE
Structural and Connectivity Patterns in the Maven Central Software Dependency Network
本文利用网络科学方法分析Maven Central依赖图,基于Goblin框架采样构建包含130万节点和2,090万边的图,发现其具有无标度小世界拓扑,少数测试框架和通用工具库等基础设施枢纽支撑多数项目,同时也构成系统性风险。
2025-08-19 cs.SE
On the Effect of Semantically Enriched Context Models on Software Modularization
许多现有的程序理解方法依赖于源代码中的语言信息,如标识符名称和注释。语义聚类就是这样一种系统模块化的技术,它依赖于程序的非正式语义,编码在源代码中使用的词汇表中。将源代码视为标记的集合会丢失标识符中嵌入的语义信息。我们试图克服这个问题,通过引入上下文模型的源代码标识符,以获得一个语义内核,它可以用于派生的主题,通过系统以及它们的聚类。在第一个模型中,我们将标识符抽象为其类型表示,并基于上下文的概念构建源代码的上下文向量表示。上下文的第二个概念是基于标识符之间的数据流来定义的,以将模块表示为依赖关系图,其中节点对应于标识符,而边表示标识符对之间的数据依赖关系。我们已经将我们的方法应用于10个中型开源Java项目,并表明通过引入上下文标识符,软件系统的模块化质量得到提高。这两个上下文模型给出的结果优于普通的矢量表示的文档。在某些情况下,分解的权威性提高了67%。此外,我们的方法JEdit,一个开源的编辑器,更详细的评估表明,推断的主题,通过执行主题分析的上下文表示是更有意义的相比,纯表示的文件。所提出的方法,在引入一个上下文模型的源代码标识符铺平了道路,建设工具,支持开发人员在程序理解任务,如应用程序和领域概念的位置,软件模块化和主题分析。
2017-08-04 cs.SE
Empirical Study for Structured Output Control in LLMs for Software Engineering
University of Luxembourg(卢森堡大学);Luxembourg Institute of Science and Technology(卢森堡科学与技术研究所);King Fahd University of Petroleum and Minerals, Saudi Arabia(沙特阿拉伯国王法赫德国立石油与矿产大学)
针对LLM在软件工程中输出格式不匹配问题,提出TTMG方法消除语法错误,但结构性和语义错误仍存在,表明核心瓶颈超越语法格式化。
2026-06-08 cs.SE
Line-level Semantic Structure Learning for Code Vulnerability Detection
针对现有方法忽略代码结构信息的问题,提出CSLS网络,通过代码行级语义学习捕获结构关系,在Devign和Reveal数据集上取得最优性能。
2024-11-08 cs.SE
ConStaBL -- A Fresh Look at Software Engineering with State Machines
本文提出带局部变量和并发语义的模块化状态图方法,给出可执行仿真算法及冲突判定准则,并首次将模糊测试引入状态图模型验证,发现人工检查难以察觉的问题。
2023-07-11 cs.SE
Formally expressing the semantics of observer-based fault detection software
其目的是创建可靠和可验证的故障检测软件,以检测安全关键动态系统中的突变。故障检测方法在监视和控制系统的数字计算机上以软件的形式实现。我们实现了三个基于故障检测方法的3自由度(3DOF)的实验室直升机,在软件的形式。我们研究这些方法的性能,以检测不同的故障在飞行过程中的闭环设置。所有选定的方法显示出可接受的检测性能。但是,不可能对每种可能的条件、输入和故障情况重复测试。在本文中,我们翻译成一个形式语言,以前用于软件验证和确认的故障检测性能和数学证明。我们将翻译后的属性以不可执行的注释的形式包含在软件中,这些注释可以被机器读取。因此,代码的一些高级功能属性可以通过自动软件验证工具进行验证。这证明了故障检测软件的一组有界数据,并在实践中增加了可靠性。
2013-12-03 cs.SE math.OC
Formal Semantics of Architectural Decision Models
软件架构是软件架构师做出的多个决策的结果。这些决策被称为架构决策,因为它们为架构问题带来解决方案。决策之间的关系可以在架构决策模型中捕获。这样的模型是软件架构师可重用知识的一种形式。文献中已经描述了几种模型,引入了必要的概念和关系。这些概念和关系通常用自然语言来解释。到目前为止,对它们的正式定义还没有做太多的工作。具体来说,这样一个架构决策模型的定义仍然缺失。本文的目的是填补这一空白,在语法和语义两个层次上提供了一个架构决策模型的正式定义。在语法级别,作为模型元素的不同概念和关系已经被数学定义。在语义层次上,模型的意义以指称语义的形式被定义。形式化不仅允许更好地理解架构决策模型,还打开了对这些模型进行推理的可能性,例如,检查它们的一致性-这对于迄今为止提出的模型来说是非常有限的。一个实际的例子,建筑决策模型的语义。
2018-07-08 cs.SE
Identifying change patterns in software history
用于检测源代码中的差异的传统算法关注行之间的差异。因此,很少能够了解项目中随着时间的推移而发生的抽象更改。程序抽象语法树上的结构差异揭示了代码中语法级别的变化,这使我们能够进一步处理差异以理解它们的含义。我们建议,分组的变化由一些度量的相似性,然后通过反统一的模式提取将允许我们识别模式的变化在一个软件项目中包含的版本控制系统(VPS)的变化序列。诸如树编辑距离之类的树相似性度量可以用于对改变进行分组,以便标识可以表示单个改变类的分组(例如,向函数调用添加参数)。通过在每个群中应用反统一,我们能够从具体变化的族推广到结构变化的模式。在结构层面上研究变化模式,而不是逐行地研究,可以让我们深入了解软件的演变。
2013-07-05 cs.SE
The professional's opinion: Suggestions for improving the corporate education training process in Software Engineering
CESAR School(CESAR学院)
研究探讨软件工程师对组织学习过程改进建议,通过分析174份开放性回答,发现需系统性干预以整合实践相关性、结构支持及有利的机构文化。
2026-03-12 cs.SE
Modx: Binary Level Partial Imported Third-Party Library Detection through Program Modularization and Semantic Matching
随着软件的快速增长,使用第三方库(TPL)变得越来越流行。程序库使用的繁荣为软件工程师提供了许多方便和促进程序开发的方法。不幸的是,这也带来了巨大的挑战,因为管理大量的图书馆变得更加困难。已经提出了检测和理解软件中的TPL的研究和学习。然而,大多数现有的方法依赖于句法特征,当这些特征被敌对方改变或故意隐藏时,这些特征是不鲁棒的。此外,这些方法通常将每个导入的库建模为整体,因此不能应用于主机软件仅部分使用库代码段的场景。为了检测完全和部分导入的TPL在语义层面上,我们提出了ModX,一个框架,利用新的程序模块化技术分解成细粒度的功能为基础的模块的程序。通过提取语法和语义特征,度量模块之间的距离,检测程序中相似库模块的重用。实验结果表明,ModX优于其他模块化工具,通过区分更连贯的程序模块,模块质量分数提高353%,并击败其他TPL检测工具,平均精度提高17%,召回率提高8%。
2022-04-18 cs.SE
Beyond Surface Similarity: Evaluating LLM-Based Test Refactorings with Structural and Semantic Awareness
针对LLM测试重构评估难题,提出CTSES复合评分,融合CodeBLEU、METEOR和ROUGE-L,在5000+重构上减少假阴性,更贴近人类判断。
2025-10-18 cs.SE
Toward Semantically-Seeded, Graph-Propagated Impact Analysis Across Software Artifacts: A Vision
提出一种无需训练、可解释的融合方法,结合语义相似性与结构依赖,通过异构制品图与传播机制覆盖两种方法的盲点,实现跨需求-配置-服务-测试链的影响分析。
2026-06-18 cs.SE
Automatically detecting the conflicts between software requirements based on finer semantic analysis
Beihang University(北京航空航天大学)
背景:软件需求之间的冲突给产品开发带来了不确定性。已经提出了一些很好的方法来识别这些冲突。然而,它们通常需要用特定的模板表示的软件需求和/或依赖于其他外部资源,这在实践中通常很难为许多项目构建。目的:本文提出了一种基于语义分析的需求冲突检测器(FSARC),通过分析自然语言功能需求的语义成分,自动检测它们之间的冲突。方法:建立一个统一的八元组形式的功能需求语义元模型。然后,我们提出了算法来自动分析的语言特征的需求和注释的语义元素的语义模型的建设。根据文本模式和语义依赖性,定义了七种冲突类型及其启发式检测规则。最后,设计并实现了冲突检测算法。结果如下:在四个需求数据集上的实验表明,FSARC的冲突检测召回率接近100%,平均准确率为83.88%。结论:我们提供了一个有用的工具来检测自然语言功能需求之间的冲突,以提高最终的需求集的质量。此外,该方法能够将自然语言的功能需求转换为8个语义元组,不仅可以用于需求间冲突的检测,还可以用于需求间关联的构建等任务。
2021-03-03 cs.AI cs.SE
A Comparative Study of Semantic Log Representations for Software Log-based Anomaly Detection
University of Helsinki(赫尔辛基大学);Free University of Bozen-Bolzano(博尔扎诺自由大学)
本文比较了多种语义日志表示方法在不同深度学习模型中的表现,提出QTyBERT平衡了效果与效率,适用于CPU部署。
2026-04-09 cs.SE
Detecting the Root Cause Code Lines in Bug-Fixing Commits by Heterogeneous Graph Learning
本文提出 RC_Detector,通过构建缺陷修复异构图、聚合代码语义并保留跨行依赖,在 87 个项目的 675 个提交上显著提升根因代码行检测性能。
2025-05-13 cs.SE
Automating Structural Analysis Across Multiple Software Platforms Using Large Language Models
University of Miami(迈阿密大学);HBC Engineering Company(HBC工程公司);Hunan University(湖南大学);Lehigh University(里海大学)
本文提出一种多软件平台结构分析自动化方法,通过两阶段多智能体架构实现跨平台建模与分析,实验表明其在多个主流软件中均达到90%以上的准确率。
2026-04-10 cs.AI cs.SE
Automating SBOM Generation with Zero-Shot Semantic Similarity
针对现有SBOM生成方法的不一致性,本文提出将SBOM生成视为语义相似度任务,利用transformer模型进行零样本分类,以自动化生成SBOM并防止供应链攻击,实验验证了其有效性。
2024-02-03 cs.CR cs.SE
Semantically-enhanced Topic Recommendation System for Software Projects
Technical University of Delft(代尔夫特理工大学);University of Waterloo(滑铁卢大学);Bowling Green State University(博林格林州立大学)
软件相关的平台已经使得它们的用户能够协作地用主题来标记软件实体。用相关主题标记软件存储库可以用于促进各种下游任务。例如,为存储库分配一组正确且完整的主题可以提高其可见性。因此,这改善了诸如浏览、搜索、导航和组织存储库等任务的结果。不幸的是,分配的主题通常是非常嘈杂的,并且一些存储库没有良好分配的主题。因此,有努力推荐主题的软件项目,然而,这些主题之间的语义关系还没有被利用到目前为止。我们提出了两个推荐模型标记的软件项目,将主题之间的语义关系。我们的方法有两个主要阶段;(1)我们首先采取协作的方法来策划一个专门针对软件工程和开发领域的质量主题数据集。我们还丰富了这些数据与这些主题之间的语义关系,并封装在一个知识图谱,我们称之为SED-KGraph。然后,(2)我们建立了两个推荐系统;第一个系统只基于分配给知识库的原始主题列表和我们的知识图谱中指定的关系。然而,第二个预测模型假设没有主题可用于存储库,因此它继续基于软件项目的文本信息和SED-KGraph来预测相关主题。我们在一个众包项目中构建了SED-KGraph,有来自学术界和工业界的170名贡献者。实验结果表明,我们的解决方案优于基线,忽略主题之间的语义关系,至少有25%和23%的ASR和MAP指标。
2022-12-07 cs.IR cs.LG cs.SE
LLM-Assisted Workflow for Structural Difference Visualization in Evolving Software Requirements
Charleston Southern University(查尔斯顿南方大学)
提出LLM辅助工作流,在OntologyWeb中构建语义图并并排比较,以可视化演化软件需求的结构差异。
2026-09-24 cs.HC cs.IR cs.SE
Semantic Clone Detection via Probabilistic Software Modeling
Johannes Kepler University Linz(林茨约翰·开普勒大学);Technical University of Braunschweig(布伦瑞克工业大学)
语义克隆检测是寻找具有相似或相同运行时行为的程序元素的过程。例如,检测阶乘计算的递归和迭代实现之间的语义相等。语义克隆检测是克隆检测器事实上的技术边界。近年来,这一界限已被测试使用有趣的新方法。本文提供了一个语义克隆检测方法,检测克隆有0%的语法相似性。我们提出了语义克隆检测通过概率软件建模(SCD-PSM)作为一个稳定和精确的解决方案,语义克隆检测。PSM构建程序的概率模型,该模型能够评估和生成运行时数据。SCD-PSM利用此模型及其模型元素来查找行为上相等的模型元素。这种行为的平等,然后推广到语义平等的原始程序元素。它使用模型元素之间的可能性作为距离度量。然后,它采用似然比显著性检验来决定这个距离是否是显着的,给定一个预先指定的和可控的假阳性率。SCD-PSM的输出是程序元素对(即,方法)、它们的距离以及它们是否是克隆的决定。SCD-PSM可产生出色的结果,马修斯相关系数大于0.9。这些结果是在经典的语义克隆检测问题上得到的,例如检测算法的递归和迭代版本,但也可以在编码比赛中使用的复杂问题上得到。
2022-05-21 cs.AI cs.SE
A Theoretical and Empirical Evaluation of Software Component Search Engines, Semantic Search Engines and Google Search Engine in the Context of COTS-Based Development
基于COTS的开发是一种构件重用方法,有望降低成本和风险,并确保更高的质量。COTS组件在Web上的日益增长的可用性使实现这些目标的可能性具体化。在这众多的,一个经常性的问题是识别的COTS组件,最好地满足用户的需求。找到一个合适的COTS组件意味着在一个广泛的搜索空间内对组件的不同描述进行搜索。因此,需要使用搜索引擎来更有效地识别COTS组件。在本文中,我们调查,理论和经验,COTS组件搜索性能的八个软件组件搜索引擎,九个语义搜索引擎和传统的搜索引擎(谷歌)。我们的实证评估进行精度和归一化召回。我们为评估的搜索引擎定义了十个查询。这些查询被仔细选择,以评估每个搜索引擎处理COTS组件识别的能力。
2012-04-10 cs.IR cs.SE
A Model-Driven Engineering Approach for ROS using Ontological Semantics
FZI Research Center for Information Technology(FZI信息技术研究中心);fortiss GmbH(福蒂斯有限公司);Fraunhofer Institute for Manufacturing Engineering and Automation (IPA)(弗劳恩霍夫制造工程与自动化研究所(IPA))
本文提出了一种新的本体驱动的软件工程方法,用于工业机器人控制软件的开发。它介绍了ReApp架构,该架构将模型驱动工程与语义技术相结合,以促进基于ROS的组件和应用程序的开发和重用。在ReApp中,我们展示了硬件、软件和功能的不同本体分类系统如何帮助开发人员为他们的任务发现合适的软件组件,并正确地应用它们。所提出的模型驱动工具使开发人员能够在更高的抽象级别上工作,并促进自动代码生成。它以本体为基础,以最大限度地减少开发工作流中的不连续性,并提供一个集成的开发环境,为用户提供无缝的界面。第一个结果表明,在搜索或开发软件时,考虑到重用的可行性和所选的方法的协同作用。
2016-01-15 cs.RO cs.SE
When Abstraction Breaks Physics: Rethinking Modular Design in Quantum Software
Kyushu University(九州大学)
本文探讨了量子软件中抽象与物理约束的冲突,提出基于量子语义的模块设计原则及新型类型系统等研究方向。
2026-01-20 cs.SE quant-ph
Dissecting Software Graphs: Structural Insights for Driver-Guided Fuzzing
Utah State University(杨百瑞州立大学);University of Michigan(密歇根大学);Zhejiang Gongshang University(浙江工商大学);University at Buffalo, SUNY(纽约州立大学布法罗分校)
该研究针对多驱动程序模糊测试下的软件结构开展实证研究,提出结构抽象方法,经27个OSS-Fuzz项目验证,多驱动程序模糊测试在相同预算下性能优于单驱动程序,可提升覆盖率并发现更多独特漏洞。
2026-08-14 cs.CR cs.SE
SCARA: A Semantics-Constrained Autonomous Remediation Agent for Opaque Industrial Software Vulnerabilities
Shenyang University of Technology(沈阳工业大学);Key Laboratory of Information Security for Petrochemical Industry in Liaoning Province(辽宁省石化行业信息安全重点实验室)
本文提出SCARA,一种用于不透明工业软件漏洞的语义约束自主修复代理,通过四阶段流水线将二进制漏洞候选连接到条件验证的修复方案,实现了100%的精度和88.9%的修复成功率。
2026-05-19 cs.CR cs.SE
Leveraging Structural Properties of Source Code Graphs for Just-In-Time Bug Prediction
University of Saskatchewan(萨斯喀彻温大学)
数据可视化最常见的用途是最大限度地减少正确理解的复杂性。图是理解关系数据最常用的表示之一。它产生了一种简化的数据表示,如果以文本格式保存,则很难理解。在这项研究中,我们提出了一种方法来利用源代码的关系属性的形式的图形,以确定在不同版本的软件演化和维护的软件系统中的即时(JIT)错误预测。提出了一种将提交补丁的源代码转换为等价图表示的方法,并将其命名为源代码图(SCG)。为了理解和比较多个源代码图,我们提取了这些图的几个结构属性,如密度,周期数,节点,边缘等,然后我们利用这些SCG的属性值来可视化和检测错误的软件提交。我们处理超过246K的软件提交从12个主题系统在本次调查中。我们对这12个用C++和Java程序设计语言编写的开源软件项目的调查表明,如果我们将SCG的特征与类似研究中使用的传统特征相结合,我们将获得基于机器学习(ML)的错误提交检测模型的性能提高。使用Wilcoxon符号秩检验,我们还发现在预测有缺陷和无缺陷提交时F1分数的增加具有统计学显著性。由于基于SCG的特征值代表了软件系统中源代码更新或更改的风格或结构属性,因此它表明了仔细维护源代码风格或结构以保持软件系统无错误的重要性。
2022-01-25 cs.LG cs.SE
Bridging Semantics & Structure for Software Vulnerability Detection using Hybrid Network Models
The George Washington University(乔治·华盛顿大学)
提出将程序异构图表示与轻量级本地LLM结合的混合框架,在Java漏洞检测中达93.57%准确率,同时提取子图生成解释,提升可解释性。
2025-10-11 cs.AI cs.CR cs.SE
ROS package search for robot software development: a knowledge graph-based approach
National University of Defense Technology(国防科技大学);Key Laboratory of Software Engineering for Complex Systems(复杂系统软件工程重点实验室);Zhejiang University(浙江大学)
本文提出一种基于语义级ROS软件包知识图谱(RPKG)的搜索方法,通过多维特征提取和微调BERT-ROS模型生成嵌入,结合多特征加权相似性的语义匹配算法,以提高ROS软件包搜索的准确性。
2023-12-22 cs.RO cs.SE
Code Clone Detection based on Event Embedding and Event Dependency
Hainan University(海南大学)
基于语义相似度的代码克隆检测方法在软件工程任务(例如,软件演化、软件重用)。传统的代码克隆检测技术更多地关注代码在语法层面的相似性,而对代码的语义相似性关注较少。结果,语义相似的候选代码被忽略。针对这一问题,提出了一种基于语义相似度的代码克隆检测方法.通过将代码看作是一系列相互依赖的连续发生的事件,我们设计了一个模型,即EDAM代码语义信息编码的基础上事件嵌入和事件依赖。EDAM模型采用事件嵌入的方法对程序语句的执行特性和语句间的数据依赖信息进行建模。通过这种方式,我们可以将程序语义信息嵌入到一个向量中,并使用该向量来检测语义相似的代码。实验结果表明,我们的EDAM模型在代码克隆检测方面的性能优于最先进的开源模型。
2021-11-28 cs.AI cs.SE
Validating Multimedia Content Moderation Software via Semantic Fusion
The Chinese University of Hong Kong(香港中文大学);Sun Yat-sen University(中山大学);The Chinese University of Hong Kong, Shenzhen(香港中文大学(深圳))
本文提出Semantic Fusion方法及其工具DUO,通过融合多模态输入构造有毒内容来验证多媒体内容审核软件,测试中实现高达100%的错误发现率,并能通过重训练提升模型鲁棒性。
2023-05-23 cs.AI cs.CL cs.CV