SETBVE: Quality-Diversity Driven Exploration of Software Boundary Behaviors
SETBVE利用质量-多样性优化自动探索软件边界行为,通过维护边界档案和局部搜索,在实验中显著提升覆盖率与可扩展性,优于传统质量导向方法。
2025-05-26 cs.SE
GraphRepo: Fast Exploration in Software Repository Mining
从软件存储库中挖掘和存储数据通常是在每个项目的基础上完成的,其中每个项目使用数据模式、提取工具和(中间)存储基础设施的独特组合。我们介绍了GraphRepo,这是一个工具,它可以通过统一的方法从Git存储库中提取数据,存储数据,并在存储库挖掘项目中共享数据。GraphRepo使用符合ACID的图形数据库管理系统Neo4j,并允许模块化插件组件用于存储库提取(钻孔机),分析(矿工)和导出(映射器)。该图通过消除对数据规范化的需求,实现了一种自然的数据查询方式。GraphRepo内置于Python中,提供多种方式与丰富的Python生态系统和大数据解决方案进行交互。图形数据库的模式是通用的和可扩展的。与创建特定于项目的基础设施相比,使用GraphRepo进行软件存储库挖掘提供了几个优势:(i)短迭代探索的高性能和对大型数据集的可扩展性(ii)提取数据的轻松分发(例如,用于复制)或在项目之间共享提取的数据,以及(iii)可扩展性和互操作性。四个开源项目的一组基准测试表明,GraphRepo允许非常快速地查询存储库数据,一旦提取和索引。更多信息可以在项目文档(可在https://tinyurl.com/grepodoc获得)和项目存储库(可在https://tinyurl.com/grrepo获得)中找到。视频演示也可在线获取(https://tinyurl.com/grrepov)
2020-08-14 cs.SE
Exhaustive Exploration of the Failure-oblivious Computing Search Space
软件系统的高可用性要求在出现错误时自动处理崩溃。故障无关计算是一种旨在实现高可用性的技术。我们注意到,失败遗忘还没有被深入研究,也很少有研究有助于理解为什么失败遗忘技术有效。为了使失效不经意计算在实践中产生影响,我们需要深入了解软件中的失效不经意行为。在本文中,我们研究,设计和执行一个实验,分析的大小和多样性的失败遗忘行为。我们的实验包括穷举计算的搜索空间的16个领域失败的大型开源Java软件。这个实验的结果是更好地理解当使用故障无关计算时会发生什么,这开辟了新的有前途的研究方向。
2018-03-23 cs.SE
Architecting Hybrid Quantum-Classical Software Systems: Exploration of the Design Trade-off Space with Quantitative Guarantees
Universidad de Extremadura(埃斯特雷马杜拉大学);ITIS Software(ITIS软件公司)
提出一种形式化混合应用架构风格的方法,通过权衡分析和定量保证探索量子-经典系统的设计空间,实现基于用户QoS标准的动态配置选择。
2026-06-24 cs.SE
Static Code Analysis in the AI Era: An In-depth Exploration of the Concept, Function, and Potential of Intelligent Code Analysis Agents
针对软件质量保证中传统方法处理复杂逻辑的不足,本文提出结合大语言模型的智能代码分析智能体(ICAA),显著降低误报率至66%并提升召回率,展现变革潜力。
2023-10-13 cs.SE
An Exploration of Agile Methods in the Automotive Industry: Benefits, Challenges and Opportunities
本文通过文献综述和案例研究,探讨了汽车行业采用敏捷方法的优势(如协作改善、上市加快)与挑战(如安全合规、文化阻力),旨在理解其对汽车软件开发未来的影响。
2024-09-19 cs.SE
An Exploration of npm Package Co-Usage Examples from Stack Overflow: A Case Study
使用第三方软件包已经成为当代软件开发中的一种常见做法。开发人员经常面临不同的挑战,包括选择正确的库,安装错误,差异,设置环境,以及在软件开发过程中构建失败。维护第三方软件包的风险是众所周知的,但不清楚来自Stack Overflow(SO)的信息如何有用。本文对SO中的npm共用现象进行了实证研究。从超过30,000个SO帖子中,我们提取了2,100个与npm相关的SO帖子,并将它们与217,934个npm库包进行了匹配。我们发现,流行的和高度使用的库并没有经常在SO中讨论。然而,我们可以看到,被接受的答案可能是有用的,因为我们相信使用示例和可执行命令可以被重用为工具支持。
2022-02-28 cs.SE
Dynamics of Team Library Adoptions: An Exploration of GitHub Commit Logs
当一群人努力理解新信息时,各种各样的想法争夺注意力。陡峭的学习曲线随着团队的共同学习而被克服。为了理解这些团队动态在软件开发中是如何发挥作用的,我们探索了Git日志,它提供了软件存储库的完整更改历史。在这些存储库中,我们观察到代码添加,这代表成功实现的想法,以及代码删除,这代表失败或被取代的想法。通过检查这些提交类型之间的模式,我们可以开始理解团队如何采用新信息。我们专门研究软件库被项目采用后会发生什么,即,在项目中首次使用库时。我们发现,各种因素,包括团队规模,库的流行程度和流行的堆栈溢出与团队学习和成功地采用新的软件库的速度有关。
2019-07-10 cs.SE cs.SI
When Domains Collide: An Activity Theory Exploration of Cross-Disciplinary Collaboration
Oregon State University(俄勒冈州立大学);University of California, Irvine(加州大学尔湾分校);Microsoft Research(微软研究院)
本文通过活动理论分析跨学科软件开发中的协作动态与摩擦,揭示了不同角色期望的差异及其影响。
2026-02-11 cs.SE
Hybrid Concolic Testing with Large Language Models for Guided Path Exploration
Quandary Peak Research(夸德里峰研究)
本文提出一种结合大语言模型与协同执行的混合测试方法,通过引导路径探索提升程序状态空间探索效率和缺陷检测能力。
2026-01-18 cs.SE
Developer-Centric Test Amplification The Interplay Between Automatic Generation and Human Exploration
软件测试用例的自动生成是一个非常活跃的研究课题。虽然当前的工具可以生成强大的回归或崩溃再现测试用例,但这些测试用例通常与维护的测试套件分开保存。在本文中,我们利用开发人员对现有的手动编写的开发人员测试中放大的测试用例的熟悉程度。从开发人员在以前的研究中报告的问题开始,我们调查了哪些方面是重要的设计一个以开发人员为中心的测试放大方法,提供测试用例,由开发人员接管到他们的测试套件。我们进行了16个半结构化的采访与软件开发人员支持我们的原型设计的以开发人员为中心的测试放大方法和相应的测试探索工具。我们扩展了测试放大工具DSpot,生成更容易理解的测试用例。我们的IntelliJ插件TestCube使开发人员能够从他们熟悉的环境中探索放大的测试用例。从我们的访谈中,我们收集了52个观察结果,总结为23个结果类别,并就未来的工具设计师如何使他们的工具更适合以开发人员为中心的测试放大给出了两个关键建议。
2021-08-27 cs.SE
Adaptive Strategy Generation for Boundary Value Exploration Beyond Numeric Inputs
Chalmers University of Technology(查尔姆斯理工大学);Mid Sweden University(瑞典中部大学)
本文提出基于LLM的ABEX框架,以自适应策略生成替代手动设计变异算子,在含多类型输入的20个函数的黑盒测试中,其边界探索与故障揭示性能优于现有QD基线。
2026-08-31 cs.SE
CodeScout: Contextual Problem Statement Enhancement for Software Agents
University of Maryland, College Park(马里兰大学帕克分校);Amazon Web Services (AWS)(亚马逊云服务(AWS));Databricks
CodeScout通过轻量级预探索将模糊请求转化为完整问题陈述,提升软件代理性能,实验表明其在解决率上提升20%。
2026-04-09 cs.CL cs.SE
Assessing the Quality of Computational Notebooks for a Frictionless Transition from Exploration to Production
University of Bari(巴里大学)
将数据驱动的人工智能功能集成到传统软件系统中的大趋势正在引发新的有趣挑战。其中一个挑战是实现从机器学习项目的探索阶段(数据科学家在实验室中构建原型模型)到生产阶段(软件工程师将原型转化为生产就绪的AI组件)的平稳过渡。为了缩小这两个阶段之间的差距,数据科学家采用的工具和实践可能会通过整合软件工程解决方案来改进。特别是,计算笔记本在确定数据科学原型的质量方面发挥着重要作用。在我的研究项目中,我通过研究与计算笔记本协作的最佳实践来应对这一挑战,并提出概念验证工具来促进准则合规性。
2022-05-24 cs.LG cs.SE
GHIssuemarket: A Sandbox Environment for SWE-Agents Economic Experimentation
本文提出GHIssuemarket沙盒环境,用于研究软件工程智能体的经济可行性,通过模拟GitHub问题拍卖场景,支持实时通信、RAG决策和加密货币微支付,并开源工件以推动智能软件工程经济学(ISEE)领域发展。
2024-12-17 cs.SE
LLMs' Reshaping of People, Processes, Products, and Society in Software Development: A Comprehensive Exploration with Early Adopters
North Carolina State University(北卡罗来纳州立大学)
本文通过访谈早期采用者,探讨LLMs对软件开发中人、过程、产品和社会的影响,揭示其在不同阶段的应用差异及对开发者技能的新要求。
2025-11-23 cs.AI cs.HC cs.SE
Conceptual Modeling of Aggregation: an Exploration
本文是关于软件工程中聚合概念建模的研究。聚合是可以被视为单个单元的域对象的集群。在UML中,聚合是一种关联类型,其中对象被配置在一起以形成更复杂的对象。它被描述为模特界最大的禁忌之一。尽管聚合被广泛使用,但它似乎是一个麻烦的概念。它有时被视为part-of;然而,part-of关系只是许多可能的聚合机制之一,本身也是有问题的,部分原因是它的语义不同。本文的目的是开发一个语义组装模型,这是有用的表示领域中的关系,并实现不同层次的软件之间的互操作性。本文有助于本体论概念清晰的聚合,基于一个模型称为一个思考机(TM)。TM模型使用所谓的thimacs(事物/机器)作为描述域的构建块。因此,聚合的概念被扩展到行为聚合,其中各个实体共同作为一个单元。结果指出,一个有前途的贡献的概念聚合的理解相比,本体论的立场是基于物质或关系。
2022-08-23 cs.SE
Theory of Code Space: Do Code Agents Understand Software Architecture?
Work in progress(工作进行中)
研究代码代理在多文件软件工程中能否构建维护更新一致的架构信念,通过基准测试揭示代理在主动探索中的能力差异及信念维护的稳定性问题。
2026-03-18 cs.AI cs.SE
Intelligent Agent-Based Stimulation for Testing Robotic Software in Human-Robot Interactions
University of Bristol(布里斯托大学);University of the West of England(西英格兰大学)
机器人软件测试的挑战超出了传统的软件测试。需要为并发运行的多个程序和硬件生成有效、真实和有趣的测试,并将其部署到有人员的动态环境中。我们调查使用的信念-欲望-意图(BDI)代理作为测试生成模型,在域中的人-机器人交互(HRI)的模拟。这些模型提供了合理的代理,因果关系和推理机制,用于规划,模拟智能和自适应机器人,以及由人类指导的智能测试环境。我们引入了强化学习(RL),使用基于覆盖反馈的奖励函数来自动探索BDI模型。我们的方法进行评估,使用协同制造的例子,在测试中的机器人软件是间接刺激通过一个模拟的人类同事。我们得出结论,BDI代理提供了直观的模型,在HRI域的测试生成。我们的研究结果表明,RL可以完全自动化BDI模型探索,导致非常有效的覆盖导向测试生成。
2016-07-13 cs.RO cs.SE
Correctness Attraction: A Study of Stability of Software Behavior Under Runtime Perturbation
软件的执行是否可以被干扰而不破坏输出的正确性?在本文中,我们设计了一个新的协议来回答这个很少调查的问题。在一项实验研究中,我们观察到,许多扰动不打破十个主题程序的正确性。我们称这种现象为“正确性吸引”。该协议的独特之处在于,它考虑了扰动空间的系统探索以及完美的预言来确定输出的正确性。在这种程度上,我们的研究结果下执行扰动的软件的稳定性有一定程度的有效性,以前从未报道过的稀缺的相关工作。一个定性的人工分析使我们能够建立第一个分类的原因背后的正确性的吸引力。
2017-05-30 cs.SE
DeepRepoQA: Code Repository Question Answering with Deep Agent Exploration
Shanghai Jiao Tong University(上海交通大学);The Hong Kong University of Science and Technology(香港科技大学);University of California San Diego(加州大学圣迭戈分校)
针对现有代码仓库问答方法缺乏深度推理能力的问题,提出基于LLM智能体与蒙特卡洛树搜索的DeepRepoQA框架,在SWE-QA基准上实现了性能显著提升。
2026-08-26 cs.CL cs.PL cs.SE
Preliminary Guideline for Creating Boundary Artefacts in Software Engineering
本研究针对边界制品(BA)信息不一致导致信任下降的问题,通过文献综述、案例研究及专家验证,制定了涵盖范围、结构、管理三类原则的可信BA创建初步指南,可指导BA创建与现有实践评估。
2023-06-09 cs.SE
WebCraftBench: Evaluating Web Application Generation from a Software Testing Perspective
Tencent(腾讯);Tsinghua University(清华大学);Peking University(北京大学)
IWC-Bench从软件测试视角,通过代码覆盖率引导探索和状态转换图评估,在三个维度上评测LLM生成的Web应用,包含369个需求和5088个验收标准,与人类偏好一致性达85.3%。
2026-09-22 cs.AI cs.SE
Automated System-Level Software Testing of Industrial Networked Embedded Systems
嵌入式系统无处不在,在工业和交通管理系统中发挥着关键作用。这些领域中的软件故障可能导致生产损失甚至生命损失,因此这些系统中的软件需要可靠。软件测试是嵌入式软件质量保证的标准方法,许多软件开发过程都在努力实现测试自动化。在成功的软件测试自动化所面临的众多挑战中,本文解决了五个问题:(i)了解更新的软件如何到达测试环境,测试如何在测试环境中进行,以及测试结果如何到达最初更新软件的开发人员;(ii)在给定的可用时间和测试系统的约束下,选择哪些测试用例在测试套件中执行;(iii)假定测试用例在连接的设备的不同配置上运行,则选择哪个硬件用于要执行的每个测试用例;(iv)分析当随时间在演进的软件、测试件或硬件修订版上执行时看起来随机失败的测试用例;以及(v)利用测试结果探索和可视化使测试结果信息可操作。应对这些挑战的方式有几种。[摘要被截断。]
2021-11-16 cs.SE
Towards Automated Boundary Value Testing with Program Derivatives and Search
在测试软件时,一种自然且经常使用的策略是在边界处使用输入值,即预期行为变化最大的地方,这种方法通常称为边界值测试或分析(BVA)。尽管这一直是一个关键的测试思想,但很难明确定义和形式化。因此,它也很难自动化。在本研究报告中,我们提出了一个这样的形式化的BVA,以类似的方式如何在数学中定义函数的导数,考虑(软件)程序的衍生物。我们定义的关键是输入和输出之间的距离的概念,我们可以形式化,然后根据信息论的思想进行量化。然而,对于我们的(黑盒)方法是实用的,必须搜索具有特定属性的测试输入。耦合它与搜索为基础的软件工程,因此需要,我们讨论了如何程序衍生物可以被用来作为和健身功能。这个简短的说明不允许更深入的经验调查,但我们使用一个简单的说明性例子来介绍主要思想。通过结合程序的衍生物与搜索,我们因此提出了一个实用的,以及理论上有趣的技术自动边界值(分析和)测试。
2019-05-27 cs.SE
MAGPIE: Machine Automated General Performance Improvement via Evolution of Software
University College London(伦敦大学学院)
性能是软件最重要的质量之一。因此,已经提出了几种技术来改善它,如程序转换,优化软件参数,或编译器标志。许多自动化的软件改进方法使用类似的搜索策略来探索可能的改进空间,然而可用的工具一次只关注一种方法。这使得比较和探索各种类型的改进的相互作用变得不切实际。我们提出了一个统一的软件改进框架MAGPIE。它提供了一个基于通用编辑序列的表示,将搜索过程与特定的改进技术隔离开来,从而实现了更简化的协同工作流程。我们提供了一个案例研究,使用一个基本的本地搜索比较编译器优化,算法配置和遗传改进。我们选择运行时间作为我们的效率指标,并在四个真实世界的软件上评估了我们的方法,这些软件是用C、C++和Java编写的。我们的研究结果表明,独立使用,所有的技术发现显着的运行时间的改善:高达25%的编译器优化,97%的算法配置,和61%的进化源代码使用遗传改进。我们还表明,高达10%的性能进一步提高,可以得到不同的技术发现的变体的部分组合。此外,通用表示还可以同时探索所有技术,为单独使用每种技术提供了一种有竞争力的替代方案。
2022-08-04 cs.AI cs.NE cs.SE
Automated Black-Box Boundary Value Detection
软件系统的输入域通常可以划分为输出相似的子域。为了确保高质量,在这些子域之间的边界上测试软件至关重要。因此,边界值分析和测试长期以来一直是软件测试人员工具箱的一部分,并且通常很早就教给学生。然而,尽管有许多争论的好处,给定规范或软件的边界值分析通常以抽象术语描述,这允许测试人员如何应用它。在这里,我们提出了一种自动化的黑盒边界值检测方法,以支持软件测试人员进行系统的边界值分析并获得一致的结果。该方法建立在一个度量标准上,以量化测试输入的边界性水平:程序导数。通过将其与搜索算法相结合,我们发现并将输入对列为良好的边界候选者,即输入靠近但输出远离。我们实现了我们的AutoBVA方法,并在一个精选的示例程序数据集上对其进行评估。我们的研究结果表明,即使是一个简单的和通用的程序衍生的变体与广泛的采样在输入空间相结合,有趣的边界候选人可以确定。
2022-07-19 cs.IT cs.SE math.IT
Enhancing Software Vulnerability Detection Through Adaptive Test Input Generation Using Genetic Algorithm
本研究提出一种结合遗传算子与自适应反馈的测试输入生成方法,通过交叉算子探索和反馈驱动选择,在九个JSON库上显著提升覆盖率,增强漏洞检测能力。
2025-08-08 cs.AI cs.SE
ASTRA: Autonomous Spatial-Temporal Red-teaming for AI Software Assistants
Purdue University(普渡大学)
ASTRA是一个自动化智能体系统,通过构建领域知识图谱并自适应探测输入空间与推理过程,系统性地发现AI编码助手的安全漏洞,比现有方法多发现11%-66%的问题,并提升17%的对齐训练效果。
2025-08-05 cs.CL cs.CR cs.LG
"Can you feel the vibes?": An exploration of novice programmer engagement with vibe coding
本文通过黑客松活动探讨新手程序员在氛围编码中的参与情况,发现其在快速原型设计和跨学科协作中的潜力,但也存在过早收敛和代码质量不均的问题。
2025-12-02 cs.HC cs.SE
Casting a SPELL: Sentence Pairing Exploration for LLM Limitation-breaking
Nanyang Technological University(南洋理工大学);National University of Singapore(国立新加坡大学)
SPELL框架通过智能句子配对探索LLM在恶意代码生成中的安全漏洞,有效提升对抗测试效果。
2025-12-24 cs.AI cs.CR cs.SE
Reinforcement Learning for Software Vulnerability Analysis: A Systematic Review with Emphasis on C/C++ Source Code and Static Analysis
系统综述强化学习在C/C++软件漏洞分析中的应用,发现15项研究聚焦于模糊测试和引导探索,仅3项直接检测漏洞,1项实现语句级定位,且静态结构表示(如CFG)和基准测试存在不足。
2026-06-24 cs.AI cs.CR cs.LG
ConEx: Efficient Exploration of Big-Data System Configurations for Better Performance
Walmart Labs(沃尔玛实验室);University of Virginia(弗吉尼亚大学);Columbia University(哥伦比亚大学)
配置空间的复杂性使得大数据软件系统很难进行良好的配置。考虑Hadoop,有超过900个参数,开发人员通常只使用Hadoop发行版提供的默认配置。业绩损失的机会成本是巨大的。流行的基于学习的自动调优软件方法不能很好地扩展到大数据系统,因为收集训练数据的成本很高。我们提出了一种新的方法的基础上的组合的进化马尔可夫链蒙特卡罗(EMCMC)采样和成本降低技术,以成本有效地找到性能更好的配置大数据系统。为了降低成本,我们开发并实验测试和验证了两种方法:使用规模较大的大数据作业作为较大作业的目标函数的代理,并使用动态作业相似性度量来推断针对一种大数据问题获得的结果将适用于类似问题。我们的实验结果表明,我们的方法有望显着提高大数据系统的性能,它优于基于随机抽样,基本遗传算法(GA)和预测模型学习的竞争方法。我们的实验结果支持这样的结论,即我们的方法已经有力地证明了显着和具有成本效益地提高大数据系统的性能的潜力。
2020-06-22 cs.LG cs.SE cs.SY
Holon Programming Model -- A Software-Defined Approach for System of Systems
Honda Research Institute Europe(本田欧洲研究院)
本文提出 Holon 编程模型,以软件定义方式解决系统之系统缺乏可编程性、难以开发第三方 SoS 级行为的问题,并通过灾害管理场景验证其设计与编排复杂系统行为的有效性。
2024-10-23 cs.AI cs.ET cs.SE