Mining Software Repositories with a Collaborative Heuristic Repository
许多软件工程研究或任务依赖于对软件工程工件进行分类。在实践中,这是通过定义简单但通常不精确的分类,或者通过人工标记工件来完成的。不幸的是,这些分类中的错误会影响依赖它们的任务。为了提高这些分类的精度,我们建议在一个协作的启发式存储库中收集知识,研究人员可以为各种SE工件上的各种任务贡献大量不同的知识。然后,利用最先进的弱监督技术来训练高质量的分类器,从而改进分类。我们提出了一个初始版本的启发式存储库,我们适用于提交分类的具体任务。
2021-03-02 cs.SE
Mining for Cost Awareness in the Infrastructure as Code Artifacts of Cloud-based Applications: an Exploratory Study
本研究通过挖掘云应用的开源仓库,实证发现开发者不仅关注部署成本,还采取多种措施降低成本,并提出了未来研究方向。
2024-04-11 cs.SE
Conclusion Stability for Natural Language Based Mining of Design Discussions
开发人员的讨论范围从面对面的走廊聊天到bug报告的评论链。能够识别涉及软件设计的讨论将有助于文档和重构软件。设计挖掘是机器学习技术的应用,用于正确地标记给定的讨论工件,例如拉取请求,作为与设计相关(或不相关)。在本文中,我们演示了一个简单的例子,设计挖掘的工作原理。然后,我们展示了结论的稳定性是如何在不同的工件类型和不同的项目差。我们展示了两种技术--增强和上下文特异性--可以大大提高设计挖掘的结论稳定性和跨项目相关性。我们的新方法在数据集内分类上实现了0.88的AUC,在跨数据集分类任务上实现了0.80的AUC。
2021-06-17 cs.SE
Data stream mining for predicting software build outcomes using source code metrics
软件开发项目涉及使用各种工具来产生软件工件。软件仓库,如源代码控制系统,已经成为一个重点的紧急研究,因为他们是一个丰富的信息源,有关软件开发项目。为了更深入地了解发展进程,挖掘这种储存库的做法越来越普遍。
2016-04-19 cs.SE
Supporting Developers in Porting Software via Combined Textual and Structural Analysis of Software Artifacts
这是计算科学与工程软件可持续性和生产力挑战(CSESSP挑战)研讨会的立场文件,由网络和信息技术研究与开发(NITRD)软件设计和生产力(SDP)协调小组主办,于2015年10月15日至16日在美国华盛顿特区举行。它讨论了角色推荐系统,基于源代码中的文本和结构信息,并通过挖掘相关应用程序进一步增强,可以在提高科学和工程软件的可移植性。
2015-08-17 cs.SE
Uniform Sampling over Episode Difficulty
University of Southern California(南加州大学);University of Oxford(牛津大学);Amazon Web Services(亚马逊云科技);University of California, Los Angeles(加州大学洛杉矶分校)
情景训练是少样本学习的核心组成部分,用于在具有有限标记数据的任务上训练模型。尽管它取得了成功,但情景训练在很大程度上仍然没有得到充分的研究,这促使我们提出这样一个问题:什么是采样情景的最佳方式?在本文中,我们首先提出了一种方法来近似情节抽样分布的基础上,他们的困难。基于这种方法,我们进行了广泛的分析,发现均匀采样情节难度优于其他采样方案,包括课程和容易/硬挖掘。由于所提出的采样方法与算法无关,因此我们可以利用这些见解来提高许多情景训练算法的少样本学习精度。我们证明了我们的方法在流行的少样本学习数据集,算法,网络架构和协议的有效性。
2022-01-15 cs.AI cs.CV cs.LG
Cross-Dataset Design Discussion Mining
能够识别主要关于设计的软件讨论,我们称之为设计挖掘,可以改进软件系统的文档和维护。现有的设计挖掘方法使用自然语言处理(NLP)技术具有良好的分类性能,但这些方法的结论稳定性普遍较差。到目前为止,在软件项目的给定数据集上训练的分类器在不同的工件或不同的数据集上工作得不好。在这项研究中,我们复制和综合这些早期的结果在荟萃分析。然后,我们应用最近的工作在迁移学习的自然语言处理的设计挖掘的问题。然而,对于我们的数据集,这些深度迁移学习分类器的性能并不比不太复杂的分类器好。最后,我们讨论了设计挖掘的迁移学习方法背后的一些原因。
2020-01-06 cs.SE
Methodological Harness in Agentic Software Engineering: An Empirical Study on Mining Software Repositories
Universidad Politécnica de Madrid(马德里理工大学)
本研究基于AIDev数据集中的5,435个GitHub仓库,实证验证了智能体软件工程中八机制方法论约束框架的可观察性,发现机制采用以孤立形式为主,集成系统罕见。
2026-09-29 cs.SE
Rule Taxonomy and Evolution in AI IDEs: A Mining and Survey Study
School of Computer Science, Wuhan University(武汉大学计算机学院);School of Computer Science, Central China Normal University(中央师范大学计算机学院);School of Computing Technologies, RMIT University(皇家墨尔本理工大学计算技术学院)
通过挖掘83个开源项目中的7310条规则和99份从业者调查,建立了包含5个主类和25个子类的规则分类法,发现开发者重视架构约束但实际配置多为低级工作流和代码格式规则,规则演化主要由建设性上下文扩展和丰富驱动,且更新规则可使工件合规率平均提升22.99%。
2026-06-11 cs.AI cs.SE
Retrospective: Data Mining Static Code Attributes to Learn Defect Predictors
本文回顾了经典缺陷预测论文的基线贡献及其对软件工程研究的影响,反思其应被记住与遗忘之处。
2025-01-26 cs.SE
Evident: a Development Methodology and a Knowledge Base Topology for Data Mining, Machine Learning and General Knowledge Management
Philips North America(飞利浦北美);Google LLC(谷歌有限责任公司)
用于知识发现、预测和管理的软件已经开发了30多年。然而,在使用现有的项目开发和工件管理方法时,仍然存在未解决的痛点。从历史上看,一直缺乏适用的方法。此外,已经应用的方法,如敏捷,有几个限制,包括科学的不可证伪性,降低了它们的适用性。提出了一种基于逻辑推理哲学的开发方法学Evident和一种知识库拓扑结构EKB。从概念上缓解了数据采掘、机器学习和一般知识管理中的许多痛点。Evident可以扩展到加速哲学探索,科学发现,教育以及全球知识共享和保留。EKB提供了一种将信息存储为知识的解决方案,知识是数据之上的粒度级别。还讨论了计算机历史、软件工程、数据库、传感器、哲学以及项目与组织和军事管理方面的相关主题。
2022-11-09 cs.AI cs.DB cs.LG
The Rise of Language Models in Mining Software Repositories: A Survey
SCORE Lab, I3US Institute, Universidad de Sevilla(塞维利亚大学)
本文综述了语言模型在软件仓库挖掘中的应用,分析了85篇论文,探讨了模型的应用方式、分析的 artifacts 类型、模型演变及可重复性,提出分类并指出未来研究方向。
2026-08-04 cs.SE
An Effective Software Risk Prediction Management Analysis of Data Using Machine Learning and Data Mining Method
Southern Methodist University(南卫理公会大学);New York University(纽约大学);Columbia University(哥伦比亚大学)
本文提出结合增强型乌鸦搜索算法与ANFIS的软件风险预测方法,并在NASA 93数据集上验证其相比现有方法具有更高的风险评估准确性与有效性。
2024-06-29 cs.LG cs.SE
OmniBOR: A System for Automatic, Verifiable Artifact Resolution across Software Supply Chains
本文提出OmniBOR系统,通过构建制品依赖图追踪软件依赖,结合编译器和构建追踪两种实现方式,有效支持CVE检测与SBOM计算,保障软件供应链安全。
2024-02-14 cs.CR cs.SE
Privacy-Preserving Directly-Follows Graphs: Balancing Risk and Utility in Process Mining
流程挖掘技术使组织能够分析业务流程执行跟踪,以确定提高其运营绩效的机会。通常,这样的执行跟踪包含私有信息。例如,医疗保健流程的执行跟踪可能是隐私敏感的。在这种情况下,组织需要部署隐私增强技术(PET),以在分析这些数据所获得的好处与隐私法规对它们的要求之间取得平衡,特别是在将数据披露给流程分析师时最大限度地减少重新识别风险。在许多可用的PET中,差分隐私因其防止谓词挑出攻击的能力和其可组合的隐私保证而脱颖而出。差分隐私的缺点是它所依赖的主要隐私参数(即,隐私)缺乏可解释性。这就引出了一个反复出现的问题:多少钱才算足够?本文提出了一种方法,用于确定在披露流程挖掘技术的输出时使用的两个业务相关指标,即捕获准确性损失的绝对百分比误差指标(也称为效用损失),以及猜测优势,其捕获了作为公开的结果对手可能猜测关于个体的信息的概率的增加。本文专门研究了保护所谓的直接跟随图(Directly-Follows Graph,DFG)的披露问题,DFG是大多数流程挖掘工具产生的流程挖掘工件。文章报告的效用风险权衡的实证评估,所提出的方法实现了13个现实生活中的事件日志的集合。
2020-12-03 cs.CR cs.SE
EVOSCAT: Exploring Software Change Dynamics in Large-Scale Historical Datasets
提出EvoScat工具,利用交互式密度散点图在单一可视化中提供大规模历史数据集的全局概览,支持灵活配置以分析数百万事件,帮助研究人员探索软件演化并比较工件历史。
2025-08-14 cs.SE
A Dataset of Dockerfiles
Dockerfiles是行业中使用最普遍的DevOps工件之一。尽管它们很流行,但缺乏对Dockerfiles的复杂语义感知静态分析。在本文中,我们介绍了从GitHub收集的大约178,000个独特Dockerfiles的数据集。为了增强这些数据的可用性,我们描述了我们为使用、挖掘和分析这些Dockerfiles而设计的五种表示。每个Dockerfile表示都建立在前一个表示的基础上,最终的表示由三个层次的嵌套解析和抽象创建,使挖掘和静态检查等任务变得易于处理。五种表示中的每一种表示中的Dockerfiles,以及元数据和用于将数据从一种表示转移到下一种表示的工具都可以在https://doi.org/10.5281/zenodo.3628771上找到。
2020-03-28 cs.SE
Can You Explain That, Better? Comprehensible Text Analytics for SE Applications
文本挖掘方法被广泛用于软件工程(SE)任务。文本挖掘的最大挑战是高维数据,即,文档的语料库可以包含$10^4$到$10^6$唯一词。为了解决这种复杂性,已经应用了一些非常复杂的文本挖掘方法。这种复杂性是必要的吗?是否有更简单的方法来快速生成模型,这些模型的性能与更复杂的方法一样好,并且也是人类可读的?为了回答这些问题,我们探索LDA(潜在狄利克雷分配)和FFT(快速和节俭树)的组合,从六个不同的项目分类美国宇航局的软件错误报告。FFT使用心理科学原理设计,返回人类可理解的非常小的模型。当与常用的文本挖掘方法和最近的最先进的系统(基于搜索的SE方法,自动调整LDA的控制参数)相比,这些FFT模型非常小(深度为$d = 4$的二叉树,仅引用4个主题),因此易于理解。它们也更快地生成并产生类似或更好的严重性预测。因此,我们可以得出结论,至少对于这里探索的数据集,可以反对复杂的文本挖掘模型,而支持更简单的方法,如LDA+ FFT。至少,我们推荐LDA+ FFT(a)当人类需要阅读,理解和审计模型时,或者(b)作为SE研究人员探索软件项目中文本工件的初始基线方法。
2018-04-27 cs.SE
Qualitative Data Analysis in Software Engineering: Techniques and Teaching Insights
本章面向软件工程研究,系统介绍定性编码、编码指南设计与质量保证原则,并结合教学经验帮助研究者严谨分析代码注释、提交信息等定性资料。
2024-06-12 cs.SE
Finding Relationships between Socio-Technical Aspects and Personality Traits by Mining Developer E-mails
人格特质影响着大多数(如果不是全部的话)人类活动,从人们走路、说话、穿衣和写作的方式,到与他人互动的方式。最重要的是,个性会影响人们做决定的方式,包括在开发人员的情况下,他们在选择他们想要参与的软件项目时所考虑的标准。大多数研究软件开发项目中社会、技术和人为因素的影响的工作都集中在软件质量中沟通的影响上。例如,在发布软件产品的增强版本之前,识别预测器以检测可能包含错误的文件。这些作品中只有少数关注自由/自由和开源软件项目中具有提交权限的开发人员(提交者)的个性特征及其与他们交互的软件工件的关系。本文提出了一种方法,自动识别的基础上,从电子邮件发送的提交人在FLOSS项目的个性特征,揭示在软件开发过程中发生的社会和技术方面之间的关系。我们的实验结果表明,提交者通过他们的电子邮件和他们进行的社会(沟通)和技术活动所投射的人格特质之间存在一些关系。这项工作是一个初步的研究,旨在支持建立有效的工作团队,在软件开发项目的基础上,考虑到他们的个性特征的利益相关者的适当组合。
2016-03-03 cs.SE
Traceability Support for Multi-Lingual Software Projects
软件可追溯性在不同的软件工件(如需求、设计、代码和测试用例)之间建立关联。由于手工创建和维护链接的成本很高,许多研究人员提出了基于信息检索技术的自动化方法。然而,许多全球分布的软件项目产生用两种或更多种语言编写的软件工件。混合语言的使用降低了自动跟踪解决方案的效率。在本文中,我们首先分析和讨论跨多个项目的混合语言使用的模式,然后评估几种不同的跟踪算法,包括向量空间模型(VSM),潜在语义索引(LSI),潜在狄利克雷分配(LDA),以及各种模型,结合单语言和跨语言的词嵌入与生成向量空间模型(GVSM)。基于对14个汉英项目的分析,我们的结果表明,使用单语种词嵌入集成到GVSM与机器翻译作为预处理步骤,实现了最佳的性能。
2020-06-30 cs.SE
Predicting and Evaluating Software Model Growth in the Automotive Industry
软件工件的大小影响软件质量并影响开发过程。在工业中,当软件大小超过某些阈值时,内存错误会累积,开发工具可能无法再处理,从而导致程序启动待用时间过长、构建失败或在不可预测的时间出现内存问题。因此,软件模块的快速增长满足了工业实践的高需求。预测大小增长到需要维护的级别的时间可以防止意外的工作,并有助于在问题构件变得关键之前发现它们。虽然文献中的预测方法数量庞大,但尚不清楚它们与实践的先决条件和期望的吻合程度。在本文中,我们在一家汽车制造商进行了工业案例研究,以探讨预测方法在实践中的适用性和可用性。在第一步中,我们从文献中收集最相关的预测方法,包括使用统计和机器学习的方法。此外,我们通过调查和利益相关者研讨会,从从业者那里获得对预测的期望。同时,我们通过挖掘四年的修订历史来测量48个软件工件的软件大小,得到4,547个数据点。在最后一步中,我们使用收集的数据,通过系统地分析它们如何满足从业者的期望,评估最先进的预测方法的适用性。我们的主要贡献是在现实世界的工业环境中,同时考虑利益相关者的期望常用的预测方法的比较。我们表明,这些方法提供了显着不同的结果预测精度和统计方法适合我们的数据最好。
2017-08-09 cs.SE
Data-Driven Search-based Software Engineering
本文介绍了数据驱动的基于搜索的软件工程,它结合了挖掘软件仓库(MSR)和基于搜索的软件工程(SBSE)的见解。MSR将软件工程问题表述为数据采掘问题,SBSE将SE问题重新表述为优化问题,并使用元启发式算法来解决它们。MSR和SBSE都有一个共同的目标,即提供见解来改进软件工程。这两个领域使用的算法也有内在的联系。因此,我们认为,将这两个领域结合起来对于以下情况是有用的:(a)需要从大数据源中学习,或者(b)当优化器需要了解地形以更快地找到更好的解决方案时。本文旨在回答以下三个问题:(1)DSE所涉及的各种主题是什么?(2)研究人员在这一领域使用哪些类型的数据?(3)研究人员使用哪些研究方法?本文简要阐述了作为一个实践指南,以开发新的DSE技术,也作为一个教学资源。本文还提供了一个用于探索DSE的资源(tiny.cc/data-se)。该资源包含89个与DSE相关的工件,分为13个组,如需求工程,软件产品线,软件过程。这个存储库中的所有材料都在最近的软件工程论文中使用过;即,对于所有这些材料,研究人员可以根据基线结果对他们的新想法进行比较评估。
2018-03-16 cs.SE