Towards Applying Text Mining Techniques on Software Quality Standards and Models
许多质量方法在数百页的文本中进行了描述。人工处理信息会消耗大量资源。在这份报告中,我们提出了一个文本挖掘方法应用于CMMI,一个众所周知的质量方法。文本挖掘分析可以提供有关质量方法范围的快速概述。分析的结果可以促进对质量方法的理解和选择。
2013-11-11 cs.SE
Dependency-Aware Software Release Planning through Mining User Preferences
考虑用户偏好是优化软件发布价值的决定性因素。这是因为用户对软件功能的偏好指定了这些功能的价值,从而决定了发布的价值。然而,软件的某些功能可能会鼓励或阻止用户更喜欢(选择或使用)其他功能。因此,软件功能的价值可能会受到其他功能的积极或消极影响。这种影响被称为与值相关的特征(需求)依赖性。价值相关的依赖关系需要考虑在软件发布计划,因为它们影响的最佳子集的功能选择的发布计划模型的价值。因此,我们提出了考虑价值相关的功能依赖关系,在软件发布规划,通过挖掘用户的喜好,软件功能。我们已经证明了所提出的方法的有效性和实用性,通过研究一个现实世界的软件项目。
2017-02-18 cs.SE
Mining Software Metrics from Jazz
在本文中,我们描述了提取的源代码度量从Jazz存储库和应用程序的数据采掘技术,以确定最有用的这些指标预测的成功或失败的尝试构建一个工作实例的软件产品。我们目前的结果,从一个系统的研究,使用J48分类方法。结果表明,我们认为只有相对较少的可用软件度量对预测构建的结果有意义。这些重要的指标进行了讨论,并讨论了结果的影响,特别是能够预测失败的构建尝试的相对困难。
2014-07-09 cs.SE
Mining for Process Improvements: Analyzing Software Repositories in Agile Retrospectives
软件仓库包含有关软件工程团队如何工作、通信和协作的知识。它可以用于开发团队开发过程的数据信息视图,这反过来又可以用于过程改进计划。在现代敏捷开发方法中,过程改进发生在回顾会议中,在回顾会议中讨论最后的开发迭代。然而,在这些会议上进行的先前提议的活动通常不依赖于项目数据,而是完全依赖于团队成员的看法。我们提出了新的回溯活动,基于挖掘各个团队的软件存储库,以补充现有的方法,更客观,数据知情的过程视图。
2020-07-16 cs.SE
Automatic link extraction: The good, the bad and the ugly in software ecosystem mining
本文根据我们在RubyGems包管理器元数据中手动调查链接的经验,介绍了自动链接提取的陷阱。这项工作可以导致自动化的链接提取方法,以避免这些陷阱,并产生更完整的数据集,供研究人员使用时,他们调查软件生态系统的多平台演变。
2017-11-18 cs.SE
Software Metrics in Boa Large-Scale Software Mining Infrastructure: Challenges and Solutions
在本文中,我们描述了我们的经验,实现一些经典的软件工程度量使用Boa -一个大规模的软件存储库挖掘平台-及其专用语言。我们的目标是利用Boa的基础设施,提出新的软件度量,并通过软件度量来表征开源项目,提供基于大量开源项目的软件度量的参考值。提出的软件度量,众所周知,并提出在本文中,可以用来建立大规模的软件缺陷预测模型。此外,我们提出了我们在开发指标时遇到的障碍,我们的分析可以用于在未来的版本中改进Boa。所实现的度量也可以用作更复杂的开源项目探索的基础,并作为如何使用Boa实现软件度量的指南,因为度量的源代码可以免费获得,以支持可重复的研究。
2017-03-18 cs.SE
A Methodology of Guiding Web Content Mining and Knowledge Discovery in Evidence-based Software Engineering
系统性文献综述(Systematic Literature Review,SLR)是应用于循证软件工程(Evidence-Based Software Engineering,EBSE)的一种严格的方法论,用于识别、评估和综合相关证据,以回答特定的研究问题。受益于Web 2.0时代蓬勃发展的在线资料,技术Web内容开始成为EBSE的替代来源。Web知识已经从Web内容挖掘和知识发现技术中得到了研究和推导,但是它们仍然与回顾学术文献有显著的不同。因此,EBSE中直接采用Web知识缺乏系统的指导。在本文中,我们提出了一个SLR的适应,以弥合上述差距沿两个阶段。首先,我们遵循SLR的一般逻辑和程序来规范Web挖掘活动。其次,我们用Web挖掘友好的方法和途径替代和增强特定的SLR过程。在第二阶段,我们主要专注于通过集成一组自动化组件,从编程搜索到各种文本挖掘技术,来适应进行审查。
2017-04-25 cs.SE
Reliable Mining of Automatically Generated Test Cases from Software Requirements Specification (SRS)
编写需求是一个双向的过程。在本文中,我们使用分类功能需求(FR)和非功能需求(NFR)的声明,从软件需求规格说明(SRS)文件。这是系统地转化为考虑所有相关信息的状态图。目前的文件概述了如何测试用例可以自动生成这些状态图。状态的应用产生不同的测试用例作为规划问题的解决方案。测试用例可用于系统级的自动或手动软件测试。提出了一种利用挖掘方法对测试用例进行约简的方法,从而方便了测试用例的挖掘和知识提取。
2010-02-05 cs.SE
More Effective Software Repository Mining
背景:公共Git软件仓库的数据采掘和分析是一个不断发展的研究领域。用于调查单个项目或一组项目的研究工具已经得到改进,但不清楚在这种“方便样本”上获得的结果是否具有普遍性。目的:本文旨在阐明所面临的困难,研究人员谁想要确定他们的研究结果的普遍性,通过引入一个接口,解决了与获得代表性样本的问题。结果:为了做到这一点,我们探讨了如何利用代码系统的世界,使软件存储库的采样和分析更容易。具体来说,我们为挖掘软件库研究人员提供了一个资源,旨在简化数据采样和检索工作流程,并通过此提高数据的有效性和完整性。结论:该系统有可能为研究人员提供一个资源,大大减轻了数据检索的难度,并解决了许多目前存在的问题与数据采样。
2020-08-17 cs.SE
Software stage-effort estimation based on association rule mining and fuzzy set theory
依靠早期的工作量估计来预测所需的资源数量通常是不够的,并且可能导致低估或高估。人们普遍认为软件开发过程应该定期地进行改进,而在软件开发早期所做软件预测仍然是一种猜测。即使是良好的预测也不足以应对固有的不确定性和风险。阶段工作量估算允许项目经理重新分配正确数量的资源,重新安排项目进度,并控制项目进度,使其在预算内按时完成。在本文中,我们提出了一种方法,利用以前的努力记录来预测阶段的努力。该模型结合了模糊集理论和关联规则挖掘的概念。结果是良好的预测精度方面,并有潜力提供良好的阶段努力估计。
2017-03-13 cs.SE
Profiling Software Developers with Process Mining and N-Gram Language Models
内容:剖析开发人员是一项挑战,因为许多因素,如他们的技能,经验,开发环境和行为,可能会影响详细的分析和连贯的解释交付。目的:我们的目标是通过挖掘软件开发过程来分析软件开发人员。为此,我们进行了一个受控实验,在Python编程竞赛的领域中,一组开发人员具有相同的定义良好的需求规范集和定义良好的sprint时间表。事件收集自PyCharm IDE和Mooshak自动陪审团,其中受试者签入他们的代码。方法:我们使用n-gram语言模型和文本挖掘来描述开发人员的配置文件,并使用过程挖掘算法来发现他们的整体工作流程,并提取相应的度量以供进一步评估。结果如下:研究结果表明,我们可以清楚地与一个连贯的理由大多数开发人员的特点,并区分最高性能的更具挑战性的行为。这种方法可能最终导致创建一个软件开发过程气味的目录。结论:开发人员的个人资料为软件项目经理提供了一个线索,选择适当的任务,他/她应该被分配。随着低代码和无代码平台的使用越来越多,其中编码是从上层抽象层自动生成的,挖掘开发人员在开发平台中的行为是一种很有前途的方法,不仅可以早期检测行为,还可以评估项目复杂性和模型工作量。
2021-01-17 cs.SE
Retrieving and mining professional experience of software practice from grey literature: an exploratory review
背景资料:检索和挖掘从业人员的自我报告,他们的专业经验的软件实践可以提供有价值的证据进行研究。然而,我们不知道在这一领域进行的任何现有的研究审查。目的:回顾和分类以前的研究,并确定深入的挑战时,检索和挖掘从业人员的自我报告,他们的经验,软件实践的研究所面临的。方法:我们进行了一个探索性的审查,以确定和分类42篇文章。我们分析了这些文章的选择,以了解采矿专业经验的挑战。结果:我们只找到了一篇直接相关的文章。即使如此,本文关注的是软件专业人员的情感体验,而不是软件实践中发生的行为和事件的专业报告。我们讨论的挑战涉及:专业经验的普遍性;定义、模型和理论;数据的稀疏性;话语分析的单位;注释者协议;算法性能的评估;以及缺乏复制。结论:在这一领域似乎没有进行直接相关的先前研究。我们讨论了在二级研究中报告阴性结果的价值。有一系列的研究机会,但也有相当大的挑战。我们制定了一套指导性的问题,在这一领域的进一步研究。
2020-09-30 cs.SE
Mining Software Repair Models for Reasoning on the Search Space of Automated Program Fixing
本文通过分析软件仓库中数以千计的错误修复事务来理解错误修复的本质。然后,它将这些学习到的知识放在自动程序修复的上下文中。我们给出了大量的经验结果,在大规模和细粒度的抽象语法树差异的性质,人类的错误修复。我们建立了数学推理的搜索空间的自动修复和时间,通过应用我们的方法对14个存储库的Java软件和89,993版本事务,我们表明,并非所有的概率修复模型是等价的。
2013-11-14 cs.SE
Mining API Interactions to Analyze Software Revisions for the Evolution of Energy Consumption
随着Android等移动平台的广泛使用和采用,出现了一个新的软件质量问题-能耗。然而,开发节能软件和应用程序需要知识和适当的工具来支持移动开发人员。为此,我们提出了一种方法来检查能源演变的软件版本的基础上,他们的API的相互作用。该方法源于这样一个假设,即API的利用率对运行时消耗的能量有直接影响。基于实证评估,我们展示了初步结果,即API交互可以作为一种灵活、轻量级且有效的方式来比较软件版本的能量演变。鉴于我们的初步结果,我们设想,在未来使用我们的方法,移动开发人员将能够获得的能源影响的变化,在软件开发生命周期的过程中的源代码的见解。
2021-03-21 cs.SE
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
The IntelliJ Platform: a Framework for Building Plugins and Mining Software Data
在软件工程中,人们正在积极研究大量新的方法,并在此基础上开发了许多工具。这些工具需要一个框架来创建,并有机会被潜在的开发人员使用。现代IDE提供了这两种功能。在本文中,我们描述了IntelliJ平台的主要功能,这些功能可能对正在开发代码分析工具的研究人员有用。为了说明使用该平台的好处,我们描述了研究人员可能感兴趣的几个用例:挖掘软件数据、在代码上运行机器学习模型、推荐重构以及在IDE中可视化数据。我们提供了实现这些情况的现有插件的几个示例。最后,为了更容易开始使用平台,我们为每个用例开发并提供简单的插件,这些插件可以作为新项目的模板。
2021-10-01 cs.SE
A Framework for Using LLMs for Repository Mining Studies in Empirical Software Engineering
本研究基于两项软件仓库挖掘研究的经验,提出名为PRIMES的LLM仓库挖掘研究框架,含提示词优化检查清单与结果追踪机制,可提升相关研究的可靠性与可复现性,并指出未来需解决幻觉等挑战。
2024-12-12 cs.SE
Better Software Analytics via "DUO": Data Mining Algorithms Using/Used-by Optimizers
本文认为,一个新的领域的实证软件工程的研究和实践正在出现:数据采掘使用/使用优化器的实证研究或DUO。例如,数据挖掘器可以生成由优化器探索的模型。此外,优化器可以建议如何最好地调整数据挖掘机的控制参数。这种综合方法就像一个探员靠在分析师的肩膀上,建议“接下来问这个问题”或“忽略那个问题,它与你的目标无关”。此外,这些代理可以帮助我们构建“更好”的预测模型,其中“更好”可以是更高的预测准确性或更快的建模时间(这反过来又可以探索更广泛的选择)。我们还警告说,仅仅使用数据挖掘机的论文时代即将结束。从未优化的数据挖掘器中获得的结果可以很快被反驳,只需应用优化器来生成不同的(并且性能更好的)模型。因此,我们的结论是,对于软件分析来说,使用DUO将数据采掘和优化结合起来是可能的、有用的和必要的。
2019-12-13 cs.SE
Cross-Dataset Design Discussion Mining
能够识别主要关于设计的软件讨论,我们称之为设计挖掘,可以改进软件系统的文档和维护。现有的设计挖掘方法使用自然语言处理(NLP)技术具有良好的分类性能,但这些方法的结论稳定性普遍较差。到目前为止,在软件项目的给定数据集上训练的分类器在不同的工件或不同的数据集上工作得不好。在这项研究中,我们复制和综合这些早期的结果在荟萃分析。然后,我们应用最近的工作在迁移学习的自然语言处理的设计挖掘的问题。然而,对于我们的数据集,这些深度迁移学习分类器的性能并不比不太复杂的分类器好。最后,我们讨论了设计挖掘的迁移学习方法背后的一些原因。
2020-01-06 cs.SE
SBAN: A Framework & Multi-Dimensional Dataset for Large Language Model Pre-Training and Software Code Mining
本文提出SBAN多维数据集(含超300万样本,覆盖二进制、汇编、自然语言和源代码),用于LLM预训练与软件代码挖掘,支持跨表示学习、恶意软件检测等任务。
2025-10-27 cs.IR cs.SE
Mining Software Repositories with a Collaborative Heuristic Repository
许多软件工程研究或任务依赖于对软件工程工件进行分类。在实践中,这是通过定义简单但通常不精确的分类,或者通过人工标记工件来完成的。不幸的是,这些分类中的错误会影响依赖它们的任务。为了提高这些分类的精度,我们建议在一个协作的启发式存储库中收集知识,研究人员可以为各种SE工件上的各种任务贡献大量不同的知识。然后,利用最先进的弱监督技术来训练高质量的分类器,从而改进分类。我们提出了一个初始版本的启发式存储库,我们适用于提交分类的具体任务。
2021-03-02 cs.SE
Mining for sustainability in cloud architecture among the discussions of software practitioners: building a dataset
本文通过挖掘 StackExchange 上 192 条从业者讨论构建云架构可持续性标注数据集,发现从业者侧重设计阶段和技术与经济可持续性,与学术界强调环境可持续性形成对比。
2024-06-10 cs.SE
A Process Mining-Based System For The Analysis and Prediction of Software Development Workflows
Inverbis Analytics SL
CodeSight是一个端到端系统,通过将GitHub数据转换为过程挖掘日志,并利用LSTM模型预测PR解决时间,实现软件开发工作流截止日期遵守情况的早期预测,展示了过程挖掘与机器学习结合在主动项目管理中的价值。
2025-10-31 cs.AI 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
Promises and Perils of Mining Software Package Ecosystem Data
本文综述了挖掘软件包生态系统数据的承诺与风险,探讨了依赖网络获取、边界界定、未使用依赖检测、开发者识别等挑战,并强调了跨语言泛化问题。
2023-05-29 cs.SE
A Methodological Framework for LLM-Based Mining of Software Repositories
针对LLM在软件仓库挖掘中方法学整合缺乏理解的问题,通过混合方法研究揭示了15种方法、9种威胁和25种缓解策略,并提出了包含6阶段23子步骤的PRIMES 2.0实证框架,为基于LLM的MSR研究提供规范性支持。
2025-08-11 cs.SE
Risks and Assets: A Qualitative Study of a Software Ecosystem in the Mining Industry
数字化和服务化正在影响许多领域,包括采矿业。随着设备的连接和技术基础设施的发展,商业模式和风险管理需要适应。在本文中,我们提出了一个研究如何在资产和风险分布的变化是不断演变的演员在软件生态系统(SECO)和系统的系统(SoS)围绕采矿作业。我们进行了一项调查,以了解服务水平协议(SLA)--一种管理风险的通用机制--如何在其他领域中使用。此外,我们还与公司进行了焦点小组研究。采矿业的总体趋势是将投资成本(CAPEX)从采矿运营商转移到供应商。因此,采矿运营商转而租赁设备(作为运营费用,OPEX)或甚至获得服务。这种商业模式的变化影响到运营,因为知识从采矿运营商转移到供应商。此外,随着基础设施变得更加复杂,这意味着采矿经营者越来越依赖供应商进行运营和维护。由于这一变化仍处于早期阶段,因此没有正式的风险管理,例如通过SLA。相反,目前,生态系统中的公司更多地依赖于信任和创新活动对未来共同利益的承诺所产生的激励。我们认为,随着SECO的建立和发展,有必要更好地了解如何管理风险。与此同时,在SECO中,重点是合作和创新,除非发生事故,否则公司没有动力解决这个问题。因此,我们认为,行业需要帮助系统地了解风险,并在新的商业环境中定义质量方面,如可靠性和性能。
2019-07-19 cs.SE
Mining Treatment-Outcome Constructs from Sequential Software Engineering Data
经验软件工程中的许多调查都着眼于开发或管理过程中产生的数据序列。在本文中,我们提出了一种分析方法,称为甘地-华盛顿方法(GWM),调查软件项目中的重复事件的影响。GWM将软件分析师提供的事件和活动编码作为输入。它使用正则表达式来自动压缩和汇总信息并推断处理方法。通过统计检验将治疗与结果联系起来,治疗-结果结构自动从数据中挖掘出来。GWM的输出是一组治疗结果结构。考虑到对结果的影响和/或考虑到事件的顺序,所挖掘的构造的集合中的每个处理与其他处理在结构上显著不同。我们描述GWM和类的问题,GWM可以应用。我们证明了这种方法的适用性的实证研究序列的文件编辑,代码所有权,和发布周期时间。
2019-01-17 cs.SE
Exploring the Efficacy of Transfer Learning in Mining Image-Based Software Artifacts
Chapman University(查普曼大学);University of California, Irvine(加州大学欧文分校)
迁移学习允许我们通过利用先前为另一项任务训练的现有模型,训练需要大量学习参数的深度架构,即使可用数据量有限。在这里,我们探讨了迁移学习的适用性,利用非软件工程数据应用于分类软件UML图的问题的模型预训练。我们的实验结果表明,训练对迁移学习的反应与样本大小有关,即使预训练的模型没有暴露于来自软件领域的训练实例。我们将转移网络与其他网络进行了对比,以显示其在不同大小的训练集上的优势,这表明当大量训练数据不可用时,迁移学习对自定义深度架构同样有效。
2020-03-03 cs.LG cs.SE
Should I Get Involved? On the Privacy Perils of Mining Software Repositories for Research Participants
挖掘软件存储库(MSR)是一种基于证据的方法,它将数据交叉链接,以揭示有关软件系统的可操作信息。软件工程中的实证研究经常利用MSR技术,因为它们允许研究人员揭示软件开发中的问题和缺陷,以便分析导致这些问题和缺陷的不同因素。因此,依靠关于被挖掘的存储库和源的细粒度信息(例如,服务器名称和贡献者的身份)对于MSR研究的可重复性和透明度至关重要。然而,这也可能对参与者的隐私造成威胁,因为他们的身份可能与有缺陷/次优的编程实践(例如,代码气味、不正确的文档),反之亦然。此外,这可以扩展到密切的合作者和社区成员,从而导致“因关联而有罪”。这份立场文件旨在开始讨论间接参与MSR调查,关于共享非汇总数据的“隐私与效用”的二分法,以及其对参与者参与的隐私限制和道德考虑的影响。
2022-02-24 cs.IR cs.SE
Business Rule Mining from Spreadsheets
业务规则表示指导业务组织操作的知识。它们在组织使用的软件应用程序中实现,从软件中提取它们的活动称为业务规则挖掘。它有各种用途,其中迁移和生成文档是最常见的。然而,除了传统的软件,组织也使用电子表格的大部分业务和决策活动。因此,我们认为电子表格也有丰富的业务规则。因此,我们建议开发一个自动化的系统,从电子表格中提取业务规则,在人类可理解的自然语言格式。这份立场书描述了我们的动机、问题描述、相关工作以及我们预见的挑战。
2015-03-19 cs.SE
Combining Text Mining and Visualization Techniques to Study Teams' Behavioral Processes
人们对挖掘软件存储库数据以理解和预测团队流程的各个方面的兴趣越来越大。特别是,文本挖掘和自然语言处理(NLP)技术支持了这种努力。可视化还可以补充文本挖掘,以揭示对软件团队行为过程的独特多维见解。在这项研究中,我们证明了这些方法相结合的效用。未来将这些方法应用于团队行为过程的研究,为研究和实践提供了希望。
2021-02-19 cs.SE
A Curated List of Open-source Software-only Energy Efficiency Measurement Tools: A GitHub Mining Study
Federal University of Technology - Paraná (UTFPR)(巴拉那联邦技术大学);University of Southern Denmark (SDU)(南丹麦大学)
本文通过 GitHub 数据挖掘研究,梳理了开源能源效率测量工具,分析了其设计特点和演变,为软件架构设计提供参考。
2026-03-23 cs.ET cs.SE
Data Mining-Based Techniques for Software Fault Localization
IRISA/INSA Rennes(IRISA/INSA 雷恩);Department of Computer Science, University of Texas at Dallas(德克萨斯大学达拉斯分校计算机科学系)
本章介绍利用数据挖掘技术(如形式概念分析和关联规则)进行软件故障定位,并以Trityp程序为例,扩展到多故障和GUI组件场景。
2025-05-23 cs.AI cs.SE
Use and Misuse of the Term Experiment in Mining Software Repositories Research
在软件工程(SE)中,挖掘软件仓库(MSR)的重要性和重要性为广泛的实证研究带来了新的机遇和挑战。然而,MSR研究人员似乎很难将他们使用的经验方法描述为现有的经验SE知识体系。MSR实验尤其如此。为了证明MSR实验的特殊性及其与迄今为止SE中传统上承认的实验的差异,我们引出了将实验与其他类型的实证研究区分开来的标志,并描述了MSR实验的标志和类型。我们分析了从小规模系统映射研究中获得的MSR文献,以评估MSR中术语实验的使用。我们发现,19%声称是实验的论文实际上根本不是实验,而是观察性研究,所以他们以误导的方式使用这个术语。在剩下的81%的论文中,只有一篇提到了真正的受控实验,而其他的则代表了有限控制的实验。MSR的研究人员往往会忽视这些局限性,从而影响对研究结果的解释。我们提供建议和见解,以支持改进MSR实验。
2021-10-18 cs.SE
Survey Results on Threats To External Validity, Generalizability Concerns, Data Sharing and University-Industry Collaboration in Mining Software Repository (MSR) Research
采矿软件仓库(MSR)是一个应用和面向企业的领域,旨在解决从业者遇到的实际问题,并为行业带来价值。结果和发现的重复性、可推广性和外部有效性、大学-产业合作、数据共享和创建数据集存储库是MSR研究中的重要问题。通过对MSR论文的文献计量分析,发现缺乏产学合作、缺乏封闭或适当来源的数据集研究、缺乏研究者之间的数据和工具共享。我们对过去三年(2012年,2013年和2014年)MSR会议的作者进行了调查,以收集他们对解决所述问题的意见和建议的数据。我们向100多位作者提出了20个问题,并收到了39位作者的回复。我们的研究结果表明,大约三分之一的受访者总是公开他们的数据集,大约三分之一的人认为,数据共享应该是在MSR会议上发布的强制性条件。我们的调查显示,超过50%的作者在他们的研究中只使用开源软件(OSS)数据集。超过50%的受访者表示,在公司外部共享工业数据集的困难是大学与工业合作的主要障碍之一。
2015-06-04 cs.SE
Mining Software Components from Object-Oriented APIs
University of Montpellier II(蒙彼利埃第二大学);University of Montreal(蒙特利尔大学)
面向对象的应用程序编程接口(API)通过提供预先实现的功能来支持软件重用。由于包含的类数量巨大,重用和理解大型API是一项复杂的任务。否则,软件组件被认为是比面向对象组件更可重用和更易于理解的实体。因此,在本文中,我们提出了一种方法,重新工程面向对象的API到基于组件的。我们将组件作为一组类进行挖掘,这些类基于它们一起使用的频率以及它们形成以质量为中心的组件的能力。为了验证我们的方法,我们在100个使用Android API的Java应用程序上进行了实验。
2016-06-02 cs.AI cs.SE
Do Developers Adopt Green Architectural Tactics for ML-Enabled Systems? A Mining Software Repository Study
本文通过挖掘168个GitHub开源ML项目,利用LLM挖掘机制识别绿色架构策略的采用情况,为ML系统可持续实践提供实证见解并推动未来自动化。
2025-01-02 cs.SE
Teaching Mining Software Repositories
本章系统介绍软件仓库挖掘(MSR)的研究方法、伦理问题、教学资源与未来趋势,为教育者和学生提供从研究设计到数据分析的实践指导。
2025-01-03 cs.SE
Business Process Mining Approaches: A Relative Comparison
近年来,诸如ERP、CRM和WFM等信息系统将不同的业务事件或活动记录在称为事件日志的日志中。流程挖掘旨在从事件日志中提取信息,以捕获正在执行的业务流程。流程挖掘是一项重要的学习任务,基于捕获的流程。为了在商业世界中成为有竞争力的组织,他们必须随着环境的变化而调整他们的业务流程。有时候,业务流程的变更意味着整个系统的变更。流程挖掘允许从事件日志中自动发现流程模型。流程挖掘技术具有自动支持业务流程设计的能力。通常,这些技术发现一个具体的工作流模型和所有可能的进程注册在一个给定的事件日志。本文对业务流程挖掘中常用的流程挖掘方法进行了详细的比较,并给出了它们在方法上的差异。
2015-07-20 cs.SE
PeaTMOSS: Mining Pre-Trained Models in Open-Source Software
Purdue University(普渡大学);Queen’s University(女王大学);Loyola University–Chicago(芝加哥洛约拉大学);University of Michigan–Ann Arbor(密歇根大学安娜堡分校)
本研究针对预训练模型(PTMs)广泛应用下相关软件工程行为与挑战认知不足的问题,构建了包含28万余个PTM、2.7万余个使用PTM的开源仓库及二者映射的PeaTMOSS数据集,为相关研究提供数据支撑。
2023-10-05 cs.AI cs.SE
A Taxonomy for Mining and Classifying Privacy Requirements in Issue Reports
背景:在使用软件应用程序和系统的过程中收集用户活动的数字和物理踪迹。随着软件变得无处不在,保护用户隐私已成为挑战。随着用户隐私意识的提高以及隐私法规和政策的出现,迫切需要实现增强个人数据处理保护的软件系统。然而,现有的数据保护和隐私法规提供了高层次的关键原则,使得软件工程师很难设计和实现隐私感知系统。目的:在本文中,我们开发了一个分类,提供了一套全面的隐私要求的基础上,四个完善的个人数据保护法规和隐私框架,一般数据保护条例(GDPR),ISO/IEC 29100,泰国个人数据保护法(泰国PDPA)和亚太经济合作组织(APEC)隐私框架。研究方法:这些需求被提取、提炼和分类(使用基于目标的需求分析方法)到一个可以用来映射问题报告的级别。我们还对两个大型开源软件项目(Google Chrome和Moodle)如何通过挖掘其问题报告来解决我们分类中的隐私要求进行了研究。结果:本文讨论了如何收集的问题进行分类,并提出了我们的研究所产生的结果和见解。结论:在问题报告中挖掘和分类隐私需求可以帮助组织通过识别尚未在其软件项目中解决的隐私需求来了解其合规性状态。该分类法还可以根据所识别的隐私要求追溯到软件项目未遵守的法规、标准和框架。
2023-02-06 cs.SE
Insights into Software Development Approaches: Mining Q&A Repositories
本研究通过主题建模与定性分析结合的混合方法,挖掘三大问答论坛的13903篇开发者帖子,识别出15个软件开发方法高频主题、49项实践挑战及难点主题上升趋势,为从业者提供参考以提升软件质量。
2023-05-02 cs.SE
Mining Q&A Platforms for Empirical Evidence on Quantum Software Programming
本研究分析了Stack Exchange平台上6,935篇量子软件编程讨论帖,通过主题建模和定性分析识别出20个讨论主题、9个支持框架及四大核心挑战,为量子软件生态系统的未来研究、工具开发和教育提供了实证见解。
2025-03-07 cs.SE
Mining Energy-Related Practices in Robotics Software
Technological Federal University of Paraná - UTFPR(巴拉那州立理工大学);Vrije Universiteit Amsterdam(阿姆斯特丹自由大学);Federal University of Pará(帕拉联邦大学)
机器人在许多工业环境中变得越来越普遍。这种成功的采用可以部分归因于(1)它们越来越实惠的成本和(2)开发智能软件驱动机器人的可能性。不幸的是,机器人软件消耗大量的能源。此外,机器人通常是电池驱动的,这意味着即使是很小的能源改进也可以帮助减少其能源足迹,提高其自主性和用户体验。在本文中,我们研究了机器人操作系统(ROS)的生态系统,事实标准开发和原型机器人软件。我们分析了527个与能源相关的数据点(包括ROS相关存储库上的提交、拉取请求和问题,StackOverflow、ROS Discourse、ROS Answers和官方ROS Wiki上的ROS相关问题)。我们的研究结果包括机器人专家对软件能源效率的兴趣的量化,10个经常性的原因,和14个能源相关问题的解决方案,以及他们对其他质量属性的隐含权衡。这些贡献支持机器人专家和研究人员在未来的机器人项目中使用节能软件。
2021-03-25 cs.RO cs.SE
Prediction of Human Performance Capability during Software Development using Classification
人力资本的质量是软件企业在知识经济时代保持竞争优势的关键。软件公司将优秀的人才视为业务优势。他们越来越认识到有效的人才和业务成功之间的关键联系。然而,软件公司遭受高流动率往往很难招募到合适的人才。迫切需要开发一种人员选拔机制,以找到最适合其软件项目的人才。数据采掘技术保证了从历史项目中探索信息,项目经理可以根据这些信息做出生产高质量软件的决策。本研究的目的是填补空白,开发一个数据采掘框架的基础上,决策树和关联规则重新集中在人员选拔标准。以一家软件公司为例进行了实证研究,以支持他们对项目成员的聘用决策。结果表明,有必要重新关注质量目标的选择标准。通过整合软件项目数据库中的知识和作者的研究技术,从数据采掘模型中获得的模式识别出更好的选择标准。
2014-02-11 cs.SE
Does the Tool Matter? Exploring Some Causes of Threats to Validity in Mining Software Repositories
本研究通过对比两种工具分析十个大型软件项目,发现即使简单指标也可能相差500%,差异源于细微技术细节,并总结成因以帮助避免常见陷阱,提示工具中心研究结论的效度受限。
2025-01-25 cs.SE
Helping Software Developers through Offline Repository Based API Searching in Data MiningIntegrated Environment
软件开发变化如此之快。如果能够通过对开发人员的指导来加快软件开发的进程,将是非常有益的。在开发过程中给开发人员提供适当的指导和准确的建议,可以减少软件开发费用,也可以节省开发人员宝贵的时间。有很多方法可以加速软件开发过程。这可以通过代码辅助工具来完成,这些工具通过从应用程序编程接口(API)的特定存储库中推荐相关项目来帮助开发人员。一些方法是基于在线搜索,由于请求和响应延迟,因为它必须处理服务器中的超大文件,因此具有一些缺点。开发人员通常使用以前完成的资源以及库或框架来生成相关的代码片段,这些代码片段由API的引用存储库提供。开发人员发现很难选择合适的方法,因为有成千上万的方法,其中一些没有正确的文档。在本文中,我们提出了一个概念及其相应的框架,以指导开发人员从离线挖掘的存储库中建议相关的API方法。从我们所做的调查,我们可以说,我们的方法比一些现有的方法工作得更好。
2020-06-21 cs.SE
Oops!... I did it again. Analysing and Handling Conclusion (In-)Stability in Socio-Technical Software Engineering
Technical University of Applied Sciences Regensburg(雷根斯堡应用科学大学);University of Hawaii at Mānoa(夏威夷大学马诺阿分校);Siemens AG(西门子股份公司)
本研究针对社会技术软件工程的复杂挖掘工具流水线,通过复现3项研究并使用4种工具对比,发现工具细节差异会导致结论不稳定,建议评估工具并采用检查表及复现包减少不确定性。
2026-09-02 cs.SE
Empirical Study on Selection of Team Members for Software Projects - Data Mining Approach
任何软件行业的一个基本任务是开发客户满意的产品。然而,实现上述业务目标取决于组织中设计的产品质量的深度。因此,高质量的生产取决于过程,而过程又取决于人。IT行业的现有场景要求部署合适的人员,以通过现有流程实现产品的理想质量。本文的目标是确定标准,将用于在工业实践中选择一个软件项目团队的成员,并寻找这些标准和项目成功之间的关系。采用半结构化访谈和定性方法进行数据分析和综合,一套团队建设的标准,确定了从项目经理在行业。研究结果表明,一致使用的一套标准与项目的成功显着相关,与人为因素的标准与软件质量,从而项目的成功呈现出很强的相关性。这些知识使项目经理能够做出正确的人员配置决策,以实现预期的水平。
2014-02-11 cs.SE
On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review
本研究的目标是识别,审查和分析已发表的研究工作,使用网络分析作为工具,了解人类协作的不同层次的软件开发。本文的研究结果对软件工程从业者和研究人员利用网络科学领域的工具挖掘软件资源库具有一定的参考价值。我们进行了系统的文献综述,根据纳入和排除标准分析了来自不同数字图书馆的一些选定论文。我们从4个数字图书馆中识别出$35$主要研究(PS),然后根据预定义的数据提取表从每个PS中提取数据。我们的数据分析结果表明,并不是所有在PS中使用的构建网络都是有效的,因为这些网络的边缘并不反映网络实体之间的真实关系。此外,在PS中使用的措施在许多情况下不适合所使用的网络。此外,在大多数情况下,PS报告的分析结果未使用任何统计模型进行验证。最后,许多PS没有为软件从业者提供可以改进软件工程实践的课程或指南。虽然网络分析在挖掘开发者协作中的应用在一些PS中显示出了令人满意的结果,但网络分析的应用需要更谨慎地进行。也就是说,所构建的网络应该具有代表性和意义,所使用的度量需要适合于上下文,并且应该考虑结果的验证。除此之外,我们还指出了一些可以应用网络科学的研究差距,并指出了一些可用于挖掘协作网络的最新进展。
2017-12-04 cs.SE cs.SI
A Mining Software Repository Extended Cookbook: Lessons learned from a literature review
Federal University of ABC(巴西联邦大学ABC分校);Federal University of Technology - Parana (UTFPR)(Parana)
Mining Software Repositories(MSR)的主要目的是发现最新的增强功能,并提供如何在软件项目中进行改进的见解。有鉴于此,本文更新了原始MSR Cookbook的MSR发现,首先进行系统的映射研究,以引出和分析最新技术,然后提出了一个扩展版本的Cookbook。这本扩展版《烹饪手册》建立在四个高层次主题之上,这些主题来自对112项选定研究的分析。因此,它被用来巩固扩展的Cookbook,作为对以下领域实践和研究的贡献:1)包括在所有可用和相关出版场所发表的研究; 2)包括和更新所有四个高级别主题的建议,与原始MSR Cookbook相比,本研究中的评论增加了84%; 3)总结每个高级别主题所使用的工具; 4)为未来的研究提供经验教训。因此,在这项工作中检查的扩展的Cookbook可以支持新的研究项目,因为在样本和工具的帮助下可以获得升级的建议和经验教训。
2021-10-08 cs.AI cs.SE
Better User Recommendations using Enhancing Software Development Process Repository
重用以前完成的软件存储库来增强开发过程是一种常见现象。如果开发人员从现有项目中获得建议,他们可能会在编码时受益匪浅。这一领域的现有战略每天都在迅速变化。有一些努力一直专注于采矿过程和建造储存库。其中一些人强调基于Web的代码搜索,而另一些人则将基于Web的代码搜索集成到他们的定制工具中。但是基于Web的方法效率低下,特别是在构建应用挖掘技术的知识库方面。为了搜索响应用户查询的代码片段,我们需要一个具有更好表示和抽象的丰富存储库。为了保证仓库在挖掘过程之前,我们开发了一个基于增强软件开发过程(ESDP)的概念。在ESDP方法中,考虑了来自在线和离线存储的多个代码源,以构建具有XML表示的中央存储库,并在客户端应用挖掘技术。相应的评估表明,ESDP方法的工作更好的响应时间和性能比许多现有的方法今天。
2020-06-21 cs.SE
Mining DEV for social and technical insights about software development
软件开发人员是社会性的生物:他们通过各种渠道进行交流、协作和推广他们的工作。Twitter,GitHub,Stack Overflow和其他平台为开发人员提供了网络和交流想法的机会。研究人员分析这些网站上的内容,以了解软件工程的趋势和主题。然而,从Stack Overflow问题或GitHub问题的文本中挖掘的洞察力高度集中在软件开发的细节和技术方面。在本文中,我们提出了一个相对较新的在线社区的软件开发人员称为DEV。在DEV上,用户可以撰写关于他们在软件中的经验、偏好和工作生活的长篇帖子,从特定的问题和文件中缩小到更广泛的主题。大约50,000名用户发布了超过140,000篇与软件开发相关的文章。在这项工作中,我们使用主题模型描述了DEV上的帖子内容,显示开发人员讨论了软件开发的社会和技术方面的丰富多样性和混合。我们发现,开发人员使用DEV来宣传自己和他们的工作:83%的人将他们的个人资料链接到GitHub个人资料,56%的人将他们的个人资料链接到Twitter个人资料。14%的用户在他们的个人资料中固定特定的GitHub仓库。我们认为,DEV正在成为软件开发人员的重要中心,也是研究人员补充GitHub和Stack Overflow等平台数据的宝贵见解来源。
2021-05-16 cs.SE cs.SI