Semantics and Algorithms for Parametric Monitoring
执行轨迹分析在许多程序分析方法中起着基础性的作用,如运行时验证、测试、监控和规范挖掘。执行跟踪通常是参数化的,即,它们包含带有参数绑定的事件。每个参数跟踪通常由许多合并在一起的有意义的跟踪切片组成,每个切片对应于一个参数绑定。这为参数跟踪分析提供了一种基于语义的解决方案。介绍了一种通用的参数化轨迹切片技术,该技术将参数化轨迹中的每个事件分配到相应的轨迹切片中。通过在每个迹线切片上应用常规的非参数迹线分析技术,该参数迹线切片技术可以与任何常规的非参数迹线分析技术结合使用。作为一个实例,然后提出了一个参数化的性能监测技术。所提出的参数跟踪切片和监测技术已经实施和广泛的评估。运行时开销的测量确认,所讨论的技术的一般性不来在性能上的代价相比,现有的参数跟踪监视系统。
2012-02-21 cs.LO cs.PL cs.SE
Error Invariants for Concurrent Traces
错误不变量是断言,其过度近似错误跟踪中给定位置处的可达程序状态,同时仅捕获如果跟踪的执行从该位置继续则仍将导致失败的状态。这样的断言反映了错误的根本原因及其传播所涉及的语句的效果,从而允许对不会导致错误的语句进行切片。以前关于错误不变量的工作主要集中在顺序程序上。我们将错误不变量推广到并发跟踪,通过增加有关危险的额外信息,例如写后写事件,这些事件通常涉及竞争条件和原子性违规。通过提供的选项,包括不同层次的细节错误不变量,如危险和分支信息,我们的方法允许程序员系统地分析各个方面的错误trace.We实现了一个危险敏感的切片工具的并发痕迹的错误不变量的基础上,并评估它的基准涵盖了广泛的现实世界中的并发错误。危险敏感切片显著减少了所考虑的跟踪的长度,并且仍然保持了并发错误的根本原因。
2016-08-30 cs.SE
A Feature Based Methodology for Variable Requirements Reverse Engineering
在过去的几年里,软件逆向工程处理源代码理解。目前,它已经深入到软件需求的抽象层次,有特征模型表示法支持,与语言无关,并且比源代码阅读简单。目前的相关方法面临以下困难:缺乏完整的集成方法,适应的特征模型,特征模式识别,基于图的切片。这项工作的目的是通过一个综合的方法提供一些解决上述挑战。以下结果是独一无二的。通过引入语义特定属性,以统一的方式指定基本和配置功能。逆向工程支持特征模式识别并要求特征模型基于图的切片。切片标准足够丰富,可以回答软件需求维护人员的问题。基于有效的准则,与类似的作品,这种方法的比较,似乎是有价值的和有竞争力的:丰富的特征模型和特征模式识别从来没有接近和建议的切片技术是更普遍,有效和实用。
2019-04-28 cs.SE
Specification Mining for Smart Contracts with Trace Slicing and Predicate Abstraction
提出基于 trace slicing 和 predicate abstraction 的 specification mining 方法并实现工具 SMCON,从交易历史推断智能合约规范,实验证明其能提升符号分析的代码覆盖率与速度,并辅助开发者维护文档和测试套件。
2025-04-29 cs.SE
Program slicing techniques and its applications
程序理解是软件维护与再工程的一个重要方面。对程序的理解与程序的执行行为和程序中变量之间的关系有关。查找程序中所有直接或间接影响变量值的语句的任务,给出了可以在程序中某个点影响变量值的语句集,称为程序切片。程序切片是一种通过跟踪程序的控制和与某个数据项相关的数据流来抽取部分计算机程序的技术。这种技术适用于各种领域,例如调试,程序理解和理解,程序集成,内聚测量,重新设计,维护,测试,其中能够专注于大型程序的相关部分是有用的。本文重点介绍了静态切片、准静态切片、动态切片和条件切片等切片技术。本文还介绍了各种切片方法,如前向切片、后向切片、句法切片和语义切片。程序的切片是使用Java进行的,Java是一种面向对象的程序设计语言。
2011-08-05 cs.SE
Slicing of Constraint Logic Programs
切片是一种最初为命令式语言开发的程序分析技术。它有助于理解数据流和调试。本文讨论了约束逻辑程序的切片问题。约束逻辑程序设计(CLP)是一种新兴的软件技术,其应用越来越广泛.约束程序中的数据流不是显式的,因此切片的概念和命令式语言的切片技术不能直接应用。本文阐述了适用于CLP的切片的声明性概念。它们为定义基于变量共享的切片技术(动态和静态)提供了基础。通过使用接地信息进一步扩展的技术。一个原型的CLP程序实现所提出的思想的动态切片器进行了简要描述,连同一些切片实验的结果。
2000-12-18 cs.SE
Techniques and Applications of Computation Slicing
编写正确的分布式程序很难。尽管进行了广泛的测试和调试,但即使在商业级软件中,软件故障也会持续存在。许多分布式系统,特别是那些在安全关键环境中使用的系统,即使在软件故障的情况下也应该能够正常运行。监视分布式系统的执行,并在检测到故障时启动适当的纠正措施是容忍此类故障的重要方法。这就产生了谓词检测问题,它需要找到一个满足给定全局谓词(如果存在)的给定计算的一致切割。然而,在计算中检测谓词是一个NP完全问题。为了改善相关的组合爆炸问题,我们引入了计算切片的概念。形式上,相对于谓词的计算的切片是具有最少数量的一致切割的(子)计算,其包含满足谓词的计算的所有一致切割。为了检测谓词,搜索切片的状态空间要比搜索计算的状态空间有效得多。我们证明了片存在,是唯一定义的所有谓词。我们提出了有效的切片算法的几个有用的类的谓词。我们开发了有效的启发式算法计算的近似切片的谓词,计算切片,否则证明棘手。我们的实验结果表明,切片可以导致一个指数级的改进,在时间和空间方面的谓词检测现有的技术。
2003-03-15 cs.DC cs.SE
Katana: Dual Slicing-Based Context for Learning Bug Fixes
上下文信息在软件开发人员理解和修复错误时起着至关重要的作用。因此,基于深度学习的程序修复技术利用上下文进行错误修复。然而,现有的技术以任意的方式处理上下文,通过在封闭文件、类或方法内提取与错误语句非常接近的代码,而不进行任何分析以找到与错误的实际关系。为了减少噪音,它们对用作上下文的令牌数量使用预定义的最大限制。我们提出了一个程序切片为基础的方法,而不是任意包括作为上下文的代码,我们分析的语句有一个控制或数据依赖的错误语句。我们提出了一个新的概念,称为双切片,它利用的上下文中的错误和固定版本的代码来捕获相关的修复成分。我们提出了我们的技术和工具,称为武士刀,第一个应用基于切片的上下文程序修复任务。结果表明,Katana有效地保留了足够的信息,供模型选择上下文信息,同时降低噪声。我们比较了最近四个国家的最先进的上下文感知程序修复技术。我们的研究结果表明,Katana修复的错误是现有技术的1.5到3.7倍。
2022-12-05 cs.SE
Towards Evaluating Size Reduction Techniques for Software Model Checking
形式化验证技术被广泛用于检测软件系统中的设计缺陷。形式化验证可以通过将已经实现的源代码转换为形式化模型并尝试证明模型的某些属性(例如,在执行期间不会出现错误状态)来完成。不幸的是,从源代码到正式模型的转换通常会产生大型复杂的模型,这使得验证过程效率低下且成本高昂。为了减小结果模型的大小,可以使用优化变换。这样的优化包括从编译器设计和不同的程序切片技术已知的常见算法。我们的论文描述了一个框架转换为一个正式的模型,增强了各种优化的大小减少C程序。我们评估和比较几种优化算法对模型大小和验证效率的影响。结果表明,不同的优化更适合某些模型,证明需要一个框架,包括几个算法。
2017-08-24 cs.PL cs.SE
Multi-Threaded Software Model Checking via Parallel Trace Abstraction Refinement
LMU Munich(慕尼黑大学)
本文提出了一种基于并行轨迹抽象细化的多线程软件模型检查方法,通过利用多核CPU提升验证效率,优于传统顺序方法和DSS技术。
2026-01-15 cs.LO cs.PL cs.SE
Focused Dynamic Slicing for Large Applications using an Abstract Memory-Model
动态切片技术计算程序依赖性,以找到在特定执行的程序点上影响变量值的所有语句。尽管它们有许多潜在的用途,但它们的适用性受到限制,因为它们通常不能扩展到小型应用程序之外。我们认为,这种限制的核心是使用内存引用来识别数据依赖关系。特别地,与存储器引用一起工作阻碍了对待切片的代码的不同处理(例如,用户感兴趣的类)与代码的其余部分(包括库和框架)分离。对未关注的代码执行粗粒度分析的能力可以提供性能增益,并可能成为实现可伸缩性的一条途径。在本文中,我们提出了一种新的方法,完全取代内存引用注册和处理与内存分析模型,与程序符号(即,条款)。事实上,这种方法支持不对不属于要切片的代码的代码进行插装(因此不生成任何跟踪)的替代方案。我们报告了一个用于C\#的抽象动态切片器\textit{DynAbs}的实现,以及一个评估,该评估显示了Roslyn和Powershell(可以在GitHub中找到的两个最大和最现代的C\#应用程序)的大小和相关部分可以在最多几分钟内对其测试用例断言进行切片。我们还展示了如何减少代码切片的重点可以带来重要的加速与边际相对精度损失。
2022-11-08 cs.SE
Domain Knowledge Discovery Guided by Software Trace Links
软件密集型项目使用领域术语进行指定和建模。领域术语的知识对于执行许多软件工程任务是必要的,例如影响分析、遵从性验证和安全认证。然而,发现高技术软件和系统工程领域的领域术语和推理它们之间的相互关系是一项复杂的任务,需要大量的领域专业知识和人力。在本文中,我们提出了一种新的方法,利用软件密集型系统中的跟踪链接,以指导挖掘过程中包含领域知识的事实。驱动我们挖掘过程的跟踪链接定义了法规和要求等工件之间的关系,并通过高收益的领域术语组合进行引导搜索。我们的概念验证评估表明,我们的方法有助于发现领域事实,即使在高度复杂的技术领域。这些领域事实可以为各种软件工程活动提供支持。作为一个用例,我们展示了挖掘的事实如何促进项目Q&A的任务。
2018-08-15 cs.SE
Advancing Trace Recovery Evaluation - Applied Information Retrieval in a Software Engineering Context
软件系统的成功开发涉及软件工件之间的有效导航。结构化信息的一种实践方法是在工件之间建立跟踪链接,这也是几个开发标准所强制执行的实践。不幸的是,在不断发展的系统中手动维护跟踪链接是一项繁琐的任务。为了解决这个问题,一些研究人员提出了治疗的捕获和恢复跟踪链接的信息检索(IR)的问题。该工作包含对基于IR的痕量回收的先前评价的系统性文献综述(SLR)。我们发现,大多数以前的评估都是以技术为导向的,在“IR评估的洞穴”中进行,使用小数据集作为实验输入。此外,源于学生项目的软件工件经常被用于评估。我们在可追溯性研究人员中进行了一项调查,发现大多数人认为学生的工件只能部分代表工业同行。我们的研究结果需要更多的案例研究,以评估基于IR的痕量恢复在工业环境的全部复杂性。此外,本论文有助于在两个实验与工业软件工件的IR为基础的痕迹恢复的经验证据的身体。以技术为导向的实验突出了数据集之间的明显依赖性和基于IR的痕迹恢复的准确性,与SLR的发现一致。以人为本的实验研究了不同质量水平的工具输出如何影响工程师的跟踪精度。最后,我们提出了如何在IR研究的一般领域的工具和方法进行评估,并提出了一个分类的评估上下文为基础的跟踪恢复。
2016-02-24 cs.SE
Literate Tracing
本文提出文学化追踪范式,用带注释的具体执行轨迹解释软件系统,并介绍工具TReX,已用于Linux内核、Git和GCC等大型系统。
2025-10-10 cs.PL cs.SE
Traceability Support for Multi-Lingual Software Projects
软件可追溯性在不同的软件工件(如需求、设计、代码和测试用例)之间建立关联。由于手工创建和维护链接的成本很高,许多研究人员提出了基于信息检索技术的自动化方法。然而,许多全球分布的软件项目产生用两种或更多种语言编写的软件工件。混合语言的使用降低了自动跟踪解决方案的效率。在本文中,我们首先分析和讨论跨多个项目的混合语言使用的模式,然后评估几种不同的跟踪算法,包括向量空间模型(VSM),潜在语义索引(LSI),潜在狄利克雷分配(LDA),以及各种模型,结合单语言和跨语言的词嵌入与生成向量空间模型(GVSM)。基于对14个汉英项目的分析,我们的结果表明,使用单语种词嵌入集成到GVSM与机器翻译作为预处理步骤,实现了最佳的性能。
2020-06-30 cs.SE
Using entropy measures for comparison of software traces
从给定软件产品收集的执行路径(也称为软件跟踪)的分析可以在许多领域提供帮助,包括软件测试、软件维护和程序理解。缺乏一个可扩展的匹配算法上运行的详细执行路径激励寻找一个替代的解决方案。本文提出了使用词熵的软件痕迹的分类。使用一个良好的研究有缺陷的软件作为一个例子,我们调查香农和扩展熵(Landsberg-Vedral,Rényi和Tsallis)的应用程序的痕迹相关的各种软件缺陷的分类。我们的研究表明,使用熵的措施进行比较,提供了一个有效的和可扩展的方法比较痕迹。这三个扩展熵,与参数选择强调罕见的事件,都表现类似,优于香农熵。
2012-04-25 cs.IT cs.SE math.IT
SoK: Systematizing Software Artifacts Traceability via Associations, Techniques, and Applications
Nanjing University of Science and Technology(南京理工大学);Shenzhen Technology University(深圳技术大学);Zhejiang Sci-Tech University(浙江理工大学)
本文系统回顾了软件可追溯性恢复技术,揭示了制品关联的不平衡、技术可复现性危机及工业应用缺口,提出角色导向框架以促进工程实践。
2026-03-17 cs.SE
DistAD: Software Anomaly Detection Based on Execution Trace Distribution
现代软件系统变得越来越复杂,这使得它们难以测试和验证。在运行时检测复杂系统中的软件部分异常可以帮助处理非预期的软件行为,避免灾难性的软件故障,并提高软件运行时的可用性。这些检测技术旨在识别故障(异常)的表现形式之前,他们最终导致不可避免的故障,从而支持以下运行时容错技术。在这项工作中,我们提出了一种新的异常检测方法命名DistAD,这是基于软件运行时动态执行痕迹的分布。与其他现有的作品使用关键性能指标,执行跟踪收集在运行时通过侵入式仪器。仪器按照取样机制进行控制,以避免过多的间接费用。利用循环神经网络的双向长短期记忆(Bi-LSTM)结构实现异常检测。整个框架在单类神经网络(OCNN)学习模式下构建,可以帮助消除缺乏足够的标记样本和数据不平衡问题的限制。在一个广泛使用的数据库系统Cassandra上进行了一系列的控制实验,证明了该方法的有效性和可行性。还评估了侵入式探测所带来的开销。结果表明,DistAD可以达到超过70%的准确率和90%的召回率(在正常状态下),与未监视的执行相比,不超过2倍的开销。
2022-04-26 cs.SE
Semantically Enhanced Software Traceability Using Deep Learning Techniques
在大多数安全关键领域中,认证机构规定了对可追溯性的需求。跟踪链接通常是在需求、设计、源代码、测试用例和其他工件之间创建的,然而,手动创建这样的链接既耗时又容易出错。自动化解决方案使用信息检索和机器学习技术来生成跟踪链接,然而,当前技术未能理解软件工件的语义或将领域知识集成到跟踪过程中,因此倾向于提供不精确和不准确的结果。在本文中,我们提出了一个解决方案,使用深度学习将需求工件语义和领域知识纳入跟踪解决方案。我们提出了一个跟踪网络架构,利用词嵌入和递归神经网络(RNN)模型来生成跟踪链接。词嵌入学习表示领域语料库知识的词向量,RNN使用这些词向量来学习需求工件的句子语义。我们使用正训练控制域中现有的跟踪链路训练了360种不同配置的跟踪网络,并将双向门控递归单元(BI-GRU)确定为跟踪任务的最佳模型。BI-GRU的性能明显优于最先进的跟踪方法,包括向量空间模型和潜在语义索引。
2018-04-06 cs.SE
Enhancing Automated Software Traceability by Transfer Learning from Open-World Data
软件需求可追溯性是软件工程过程的关键组成部分,支持需求确认、合规性验证和安全保证等活动。然而,手工创建一套完整的跨自然语言工件(如需求、设计和测试用例)的跟踪链接的成本和工作量可能非常昂贵。因此,研究人员提出了主要基于信息检索(IR)技术的自动链接生成解决方案;然而,这些解决方案未能提供工业项目全面采用所需的准确性。可以使用深度学习可追溯性模型来实现改进;然而,它们的有效性受到项目级工件和链接的有限大小和可用性的阻碍,以用作训练数据。在本文中,我们通过提出和评估几种用于文本到文本可追溯性的深度学习方法来解决这个问题。我们的方法名为NLTrace,探索了三种使用从开放世界平台挖掘的数据集的迁移学习策略。通过预训练语言模型(LM)和利用相邻的跟踪任务,我们证明了NLTrace可以显着提高性能的LM为基础的跟踪模型时,训练链接可用。在这种情况下,NLTrace优于性能最佳的经典IR方法,F2分数提高了188%,平均精度(MAP)提高了94.01%。对于F2和MAP,它也分别比基于一般LM的跟踪模型高出7%和23%。此外,NLTrace可以适应其他LM模型无法适应的低资源跟踪场景。从相邻的任务中学习到的知识使NLTrace在生成挑战中的表现优于VSM模型28%F2,当提供少量训练样本时。
2022-07-03 cs.SE
UserTrace: User-Level Requirements Generation and Traceability Recovery from Software Project Repositories
针对现有方法忽视用户级需求与项目演进影响的问题,提出多智能体系统 UserTrace,通过协调四个专门智能体自动生成用户级需求并恢复其实时可追溯链接,实验证明其生成质量和追溯精度均优于基线及现有方法。
2025-09-14 cs.SE
Modeling Hierarchical Usage Context for Software Exceptions based on Interaction Data
在生产中捕获的用户与软件系统交互的痕迹通常用作用户体验测试的输入源。在本文中,我们提出了一种替代用途,引入了一种新的方法来建模用户交互痕迹丰富的另一种类型的数据收集在生产-软件故障报告组成的软件异常和堆栈跟踪。本文描述的模型旨在提高开发人员对特定软件异常周围环境的理解,并可以突出导致软件故障频率高的特定用户行为。由于组合数据源的复杂性和变化性,对交互跟踪和软件崩溃报告的组合进行建模以形成可解释的和有用的模型是具有挑战性的。因此,我们提出了一种概率无监督学习方法,适应嵌套层次狄利克雷过程,这是一种贝叶斯非参数主题模型,通常适用于自然语言数据。这个模型推断出一个主题树,每个主题描述一组通常同时出现的命令和异常。可以按层次结构解释主题树,以帮助对多种类型的异常和交互进行分类。我们将所提出的方法应用于从ABB RobotStudio软件应用程序收集的大规模数据集,并对其进行数值评估和RobotStudio开发人员的小调查。
2019-07-23 cs.SE
Efficient Instrumentation for Performance Profiling
性能分析包括在执行期间跟踪软件系统,然后分析所获得的跟踪。然而,跟踪本身会影响系统的性能,从而扭曲其执行。因此,需要最小化跟踪对底层系统性能的影响。为了实现这一点,需要根据要解决的性能分析问题来优化跟踪集。我们的立场是,只有通过将软件跟踪设计和实现添加到整个软件开发过程中,才能实现这种最小化。在这样的过程中,性能分析师提供性能度量需求的知识,而软件开发人员提供软件的知识。这两者都是最佳跟踪放置所必需的。
2003-07-25 cs.PF cs.SE
From Component Snapshots to Lifecycle Traces: Agent-Based Software Composition Analysis
Huazhong University of Science and Technology(华中科技大学)
针对软件成分分析仅提供阶段快照而无法追踪跨生命周期演变的问题,提出基于智能体的SCA-Agent方法,重建组件生命周期轨迹,在105个真实项目中达到96.69%的漏洞暴露评估F1分数,优于传统工具。
2026-09-17 cs.SE
From Network Traces to System Responses: Opaquely Emulating Software Services
企业软件系统与其环境中的其他服务进行复杂的交互。因此,开发和测试类似生产的条件是一项具有挑战性的任务。先前的方法包括使用显式建模或记录和重放方法来仿真依赖服务。模型需要深入了解目标服务,而记录和重放的准确性有限。我们提出了一种新的技术,提高了记录和重放方法的准确性,而不需要先验知识的服务。该方法使用多序列对齐从记录的系统交互中获得消息原型,并使用一种方案将传入的请求消息与消息原型进行匹配以生成响应消息。我们引入了一个修改后的Needleman-Wunsch算法,用于在消息匹配过程中进行距离计算,在消息原型中使用通配符用于高可变性部分,并在距离计算中使用基于熵的权重以提高准确性。结合起来,我们的新方法对四个评估的企业系统消息传递协议的准确率超过99%。
2016-04-19 cs.SE
Grand Challenges of Traceability: The Next Ten Years
2007年,软件和系统可追溯性社区在第一届自然桥研讨会上讨论了可追溯性的重大挑战,以建立和解决实现有效,可信和无处不在的可追溯性的研究目标。十年后的2017年,社区聚集在一起,评估实现这些目标的十年进展。这些程序记录了其中的一些进展。它们包括一系列简短的立场文件,代表了在可追溯性实践的四个过程轴上组织的社区中的当前工作。会议涵盖了跟踪策略,跟踪链接创建和演变,跟踪链接使用,可追溯性的实际应用,以及可追溯性数据集和基准测试等主题。两个分组重点讨论了在研究界内创建和共享可追溯性数据集的重要性,并讨论了在工业实践中采用追溯技术所面临的挑战。研究社区的成员参与了许多积极的,正在进行的和有影响力的研究项目。我们的希望是,十年后,我们将能够回顾这十年富有成效的研究,并声称我们已经实现了可追溯性的总体挑战,即寻求可追溯性始终存在,内置于工程过程中,并使其“有效地消失得无影无踪”。我们希望其他人能够看到可追溯性的潜力,使软件和系统工程师能够以越来越高的复杂性和规模开发更高质量的产品,并且他们将加入软件和系统可追溯性研究人员的活跃社区,因为我们正在进入下一个十年的研究。
2017-10-09 cs.SE
Lost in Transmission: An Information-Theoretic Account of Unsupervised Software Traceability
Microsoft Redmond, WA, USA(微软红mond分部);University of Central Florida Orlando, FL, USA(中央佛罗里达大学奥兰多分校)
研究无监督软件可追溯性,引入信息论框架TraceXplainer,利用自信息和互信息量化工件信息及对齐,经行业数据集实证分析,揭示信息不平衡与技术约束,建议转向以数据为中心的工程,为从业者提供评估及改进见解。
2026-07-21 cs.AI cs.SE
TransferFuzz: Fuzzing with Historical Trace for Verifying Propagated Vulnerability Code
针对代码复用导致漏洞传播但现有方法无法验证其在新环境中可触发的问题,提出TransferFuzz框架,通过提取基础二进制文件的历史轨迹并结合密钥字节引导变异与嵌套模拟退火算法,实现高效验证,速度为现有方法的2.5-26.2倍,还扩展了15个漏洞的受影响范围。
2024-11-27 cs.SE
Heuristic-based Mining of Service Behavioral Models from Interaction Traces
软件行为模型已被证明是有效的仿真和测试软件系统。已经提出了许多技术来推断软件系统的行为模型,从他们的交互痕迹。推断模型的质量对其成功使用至关重要。虽然推广是必要的,推导出简洁的行为模型,现有的技术推断模型,一般来说,过度概括什么行为是有效的。不精确的模型包括许多虚假的行为,从而损害其使用的有效性。在本文中,我们提出了一种新的技术,增加了从交互痕迹推断的行为模型的准确性。我们的方法的本质是一个基于经验的泛化和真实的最小化。该集合包括用于匹配输入跟踪的模式,并将其概括为简洁的模型表示。此外,我们采用一个真实的最小化技术合并这些广义的轨迹。我们的方法的关键见解是推断出一个简洁的行为模型,而不影响其准确性。我们提出了一个实证评估,我们的方法如何提高后,国家的最先进的规范推理技术。结果表明,我们的方法挖掘模型与100%的准确率和召回有限的计算开销。
2020-11-01 cs.SE
Software Runtime Monitoring with Adaptive Sampling Rate to Collect Representative Samples of Execution Traces
本研究提出一种带统计学基础算法的自适应软件运行时监控流程,可动态调整采样率,在较低性能影响下提升执行轨迹样本代表性,效果优于传统反比采样策略。
2023-05-01 cs.SE
Natural Language Processing for Requirements Traceability
该综述梳理了需求可追溯性领域的核心概念与典型任务,介绍了NLP技术在相关任务中的应用方法、实验设计方案及实践落地要点,为构建NLP驱动的自动化可追溯性方案提供基础指引。
2024-05-17 cs.SE
Learning Test Traces
现代软件项目包括自动化测试,用于检查程序的功能。测试调用的函数集称为测试的跟踪,获取跟踪的动作称为跟踪。有许多跟踪工具,因为跟踪对于各种软件工程任务都很有用,例如测试生成、故障定位和测试执行计划。使用测试迹线的一个主要缺点是获得它们,即,跟踪在计算资源和运行时间方面可能是昂贵的。先前的工作试图以各种方式解决这个问题,例如,通过选择性地仅跟踪某些软件组件或压缩运行中的跟踪。然而,所有这些方法仍然需要构建项目并执行测试,以获得其(部分,可能是压缩的)跟踪。这在许多情况下仍然非常昂贵。在这项工作中,我们提出了一种方法来预测每个测试的痕迹,而不执行它,只基于静态属性的测试和测试程序,以及过去的经验,在不同的测试。这种预测是通过应用监督学习来学习测试和函数的各种静态特征之间的关系以及一个将另一个包含在其轨迹中的可能性来完成的。然后,我们将展示如何使用预测的痕迹,在最近的自动故障排除范例称为学习诊断和计划(LDP),而不是实际的,成本高昂,以获得,测试痕迹。在对现实世界的开源项目的初步评估中,我们观察到我们的预测质量是合理的。此外,在LDP中使用我们的跟踪预测与使用真实跟踪时产生几乎相同的结果,同时需要更少的开销。
2019-09-09 cs.SE
Second-Guessing in Tracing Tasks Considered Harmful?
[背景和动机]跟踪矩阵是任务和安全关键软件系统开发的关键,对所有软件系统都很有用,但用于恢复跟踪链接的自动化方法还远远不够完美。这种限制使得必须审查恢复的跟踪链接的人类分析师的工作更加困难。[问题/难题]早期的研究表明,执行跟踪恢复任务时的某些分析师行为会导致恢复的跟踪关系的准确性降低。我们提出了一个三步的实验研究:(a)确定是否真的有行为,导致错误的判断分析,(b)增强需求跟踪软件,以减少这种行为,(c)确定是否减少这种行为的结果在增加的准确性。[主要思想/结果]我们报告了我们进行的初步研究,其中我们修改了RETRO.NET的用户界面,以减少早期工作中指出的两种行为。我们报告观察到的结果。[贡献]我们描述并讨论了一项关于潜在不必要的分析师行为的主要研究,并提出了初步研究的结果,以确定通过增强跟踪软件来抑制这些行为是否会导致更少的人为错误。
2018-04-09 cs.SE
Open-SWE-Traces: Advancing Dual-Mode Multilingual Distillation for Software Engineering Agents
NVIDIA(英伟达)
为解决软件工程智能体训练数据稀缺问题,构建包含20万条轨迹、覆盖9种编程语言的数据集,采用混合推理合成方法,微调Qwen3-30B-A3B系列模型,在SWE-bench基准上取得领先性能。
2026-06-16 cs.AI cs.SE
A Survey of Challenges for Runtime Verification from Advanced Application Domains (Beyond Software)
可执行性验证是形式化方法的一个领域,它研究针对形式化规范的执行跟踪的动态分析。通常,运行时验证工作中的两个主要活动是根据规范创建监视器的过程,以及根据生成的监视器评估跟踪的算法。其他活动涉及系统的仪表化以生成跟踪以及被分析系统与监视器之间的通信。运行时验证中的大多数应用都集中在软件的动态分析上,尽管在其他计算设备和目标系统中有更多的潜在应用。在本文中,我们提出了一个集合的挑战,从具体的应用领域提取的运行时验证,重点是必须克服的困难,以解决这些具体的挑战。表征这些领域的计算模型需要在运行时验证中设计出超越当前最先进技术的新技术。
2018-11-16 cs.SE
The Ground Is Shifting: A Reflection on the Foundations of Software Measurement
Carnegie Mellon University(卡内基梅隆大学);University of Tennessee(田纳西大学)
本文反思软件测量的基础,指出AI智能体使用工具产生的轨迹违背了原始假设,提出开展AI辅助复现计划以开发适应当前数据的有效方法,维持软件测量的相关性。
2026-08-05 cs.SE
Using Consensual Biterms from Text Structures of Requirements and Code to Improve IR-Based Traceability Recovery
可追溯性根据两个工件是否通过系统功能相关来批准软件工件之间的跟踪链接。这些痕迹对软件开发很有价值,但很难手动获得。为了应对昂贵的和容易出错的手动恢复,自动化的方法被提出来恢复痕迹,通过软件工件之间的文本相似性,如那些基于信息检索(IR)。然而,低质量和数量的工件文本的负面影响计算的IR值,从而极大地阻碍了基于IR的方法的性能。在这项研究中,我们提出从需求和代码的文本结构中提取共现词对(即,共识双项),以提高基于IR的可追溯性恢复。我们首先根据需求文本的词性收集一组双术语,然后通过代码文本过滤它们。然后,我们使用这些一致的双术语,既丰富了输入语料库的IR技术,提高计算的IR值。基于九个系统的评估表明,一般来说,当单独用于增强IR技术时,我们的方法可以在AP中分别超过纯IR方法和另一基线21.9%和21.8%,在MAP中分别超过9.3%和7.2%。此外,当用于从不同角度与另一种增强策略合作时,它可以在AP和MAP中分别超过该基线5.9%和4.8%。
2022-09-05 cs.SE
Integration-First Structural Coverage for Embedded Software:Trace-Based Evidence, Hybrid Runtime Analysis, and Cross-Variant Consolidation
accemic
针对嵌入式软件结构覆盖仅在单元级收集的不匹配问题,提出优先集成的覆盖策略,结合混合运行时分析(hRA)实现类发行版二进制的覆盖测量,通过Hyper Coverage整合多维度证据,定位未测试源码行。
2026-08-14 cs.SE
Empirical Evaluation of Taxonomic Trace Links: A Case Study
Blekinge Institute of Technology(布莱金厄理工学院);Ericsson(爱立信)
本文通过工业场景实证评估Taxonomic Trace Links方法,发现其在某些场景下有效,但需改进分类器精度和领域特定分类法构建。
2026-04-09 cs.SE
STraceBERT: Source Code Retrieval using Semantic Application Traces
University of California at Davis(加州大学戴维斯分校)
提出 STraceBERT,通过 Java 动态跟踪与 BERT 预训练实现方法源代码检索,并在实验中优于现有方法。
2023-12-07 cs.AI cs.IR cs.SE
Investigating Technology Usage Span by Analyzing Users' Q&A Traces in Stack Overflow
本文分析 Stack Overflow 约 9.7 万活跃用户 15 年间的 670 万条问答痕迹,识别高使用跨度与新兴技术,为技术选型和后续研究提供基准。
2023-12-05 cs.SE
Probabilistic Model Checking of DTMC Models of User Activity Patterns
软件开发人员不能总是预测用户将如何实际使用他们的软件,因为它可能因用户而异,甚至因单个用户的使用而异。为了解决系统开发人员和评估人员对软件使用情况提出的问题,我们定义了新的概率模型,根据从实际记录的用户痕迹推断的活动模式,对用户行为进行分析。我们在概率模型检查器中对这些新模型进行编码,并使用概率时态逻辑来深入了解软件使用情况。我们通过应用程序来激励和说明我们的方法,以记录iOS应用程序的用户痕迹。
2014-03-20 cs.LO cs.SE
An Empirical Study of Proactive Coding Assistants in Real-World Software Development
College of AI, Tsinghua University(清华大学人工智能学院);Fitten Tech Co., Ltd.(Fitten科技有限公司)
本文通过大规模实证研究,分析了模拟与现实数据在主动意图预测中的差异,提出ProCodeBench基准,并指出模拟数据无法替代真实数据。
2026-05-07 cs.AI cs.SE
Improving Trace Link Recommendation by Using Non-Isotropic Distances and Combinations
Siemens AG(西门子股份公司)
针对软件制品跟踪链接自动计算问题,本文从几何视角研究非线性、非各向同性相似性度量及组合,并在开源与工业项目上验证其推荐效果。
2023-07-15 cs.AI cs.IR cs.SE