Integrating Large Language Models in Software Engineering Education: A Pilot Study through GitHub Repositories Mining
本研究通过挖掘400个GitHub项目开展试点,实证验证了SE教育中LLM应用的激励与阻碍因素分类体系,为构建负责任融入的综合框架奠定基础。
2025-09-05 cs.SE
Mining Software Repositories with a Collaborative Heuristic Repository
许多软件工程研究或任务依赖于对软件工程工件进行分类。在实践中,这是通过定义简单但通常不精确的分类,或者通过人工标记工件来完成的。不幸的是,这些分类中的错误会影响依赖它们的任务。为了提高这些分类的精度,我们建议在一个协作的启发式存储库中收集知识,研究人员可以为各种SE工件上的各种任务贡献大量不同的知识。然后,利用最先进的弱监督技术来训练高质量的分类器,从而改进分类。我们提出了一个初始版本的启发式存储库,我们适用于提交分类的具体任务。
2021-03-02 cs.SE
On a Factorial Knowledge Architecture for Data Science-powered Software Engineering
鉴于科学中的数据密集型和协作趋势,软件工程社区也越来越关注从数据存储库中获得有价值和有用的见解。然而,将数据科学应用于软件工程(例如,如果缺乏合适的知识体系结构(KA),挖掘软件存储库)可能是盲目的和无意义的。通过观察软件工程实践通常通过一组因素(例如,编程器容量、不同的环境条件等)在此基础上,提出了一种基于因素的软件工程知识共享层次模型,以最大化软件资源库的价值,并对未来的软件数据驱动研究有所启发。特别是,它是有组织的因素和它们的关系,有助于指导软件工程知识挖掘,而挖掘的知识反过来将通过相关的因素和它们的相互作用索引/管理。本文阐述了我们关于阶乘KA的思想,并简要地说明了一个KA组件,即软件产品工程的早期版本KA。一旦充分的范围,这个拟议的KA将补充众所周知的SWEBOK的因素为中心的知识管理和潜在的软件工程知识的覆盖面/含义。
2021-03-02 cs.SE
Mining Container Image Repositories for Software Configuration and Beyond
本文介绍了挖掘容器映像存储库的思想,以获取软件系统的配置和其他部署信息。与传统的软件存储库(例如,镜像存储库是一个完整的执行生态系统(包括源代码存储库和应用程序商店),镜像存储库封装了用于运行目标软件的整个执行生态系统,包括其配置、依赖库和组件以及操作系统级实用程序,从而提供了丰富的数据和信息。我们展示了基于具体软件工程任务的机会,这些任务可以从挖掘图像存储库中受益。为了促进未来的挖掘工作,我们总结了分析图像存储库的挑战和解决这些挑战的方法。我们希望这篇论文将激发挖掘这种新兴类型的软件存储库的令人兴奋的研究议程。
2018-02-13 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
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
Using Process Mining to Generate AI Agents from Software Engineering Process Records
Hasso Plattner Institute (HPI), University of Potsdam(波茨坦大学哈索·普拉特纳研究院(HPI));IBM Software Innovation Lab (SIL)(IBM软件创新实验室(SIL));University of Haifa(海法大学);paluno Institute, University of Duisburg Essen(杜伊斯堡-埃森大学paluno研究院)
研究如何在软件工程中结合人工智能代理,面临代理粒度和关注点分离难题。通过过程挖掘,用软件库事件日志发现特定项目代理角色,生成规范与实现,并进行测试和用户研究验证效果。
2026-10-06 cs.AI 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
Promises and Perils of Mining Software Package Ecosystem Data
本文综述了挖掘软件包生态系统数据的承诺与风险,探讨了依赖网络获取、边界界定、未使用依赖检测、开发者识别等挑战,并强调了跨语言泛化问题。
2023-05-29 cs.SE
Mining for Process Improvements: Analyzing Software Repositories in Agile Retrospectives
软件仓库包含有关软件工程团队如何工作、通信和协作的知识。它可以用于开发团队开发过程的数据信息视图,这反过来又可以用于过程改进计划。在现代敏捷开发方法中,过程改进发生在回顾会议中,在回顾会议中讨论最后的开发迭代。然而,在这些会议上进行的先前提议的活动通常不依赖于项目数据,而是完全依赖于团队成员的看法。我们提出了新的回溯活动,基于挖掘各个团队的软件存储库,以补充现有的方法,更客观,数据知情的过程视图。
2020-07-16 cs.SE
DepMiner: A Pipelineable Tool for Mining of Intra-Project Dependencies
由于各种原因,依赖性分析被认为是软件工程的一个重要领域。有大量的工具为软件开发人员和架构师提供帮助。对项目间和项目内依赖关系的分析可以帮助提供关于整个开发过程的各种见解。然而,目前缺乏一种工具,可以支持研究人员以最适合进一步分析的格式提取项目内依赖关系数据。在本文中,我们介绍DepMiner -一个开源的,语言无关的工具,挖掘详细的依赖关系数据从源代码,广泛的静态分析功能的行业标准IDE的基础上。DepMiner可以轻松集成到任意挖掘管道中,以进行涉及项目内依赖关系的大规模源代码处理工作。它很容易扩展,以支持其他语言的源代码,不同的分析粒度,以及其他特定于使用的需求。
2021-04-19 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
Retrospective: Data Mining Static Code Attributes to Learn Defect Predictors
本文回顾了经典缺陷预测论文的基线贡献及其对软件工程研究的影响,反思其应被记住与遗忘之处。
2025-01-26 cs.SE
Learning to Learn in Collective Adaptive Systems: Mining Design Patterns for Data-driven Reasoning
具有学习能力的集体自适应系统(CAS)是一项具有挑战性的任务,由于其多维和复杂的设计空间。CAS设计的数据驱动方法可以引入新的见解,使系统工程师能够在设计阶段更经济有效地管理CAS复杂性。本文介绍了一个系统的方法来推理的设计选择和模式的学习型CAS。使用系统的文献综述的数据,推理与数据驱动的方法,如聚类,多重对应分析和决策树的新应用程序进行。论证了基于过去经验的推理以及支持新颖和创新的设计选择。
2020-08-10 cs.SE
SEART Data Hub: Streamlining Large-Scale Source Code Mining and Pre-Processing
本文提出SEART Data Hub,一个简化大规模源代码挖掘与预处理的Web应用,允许研究人员通过简单界面指定挖掘和预处理条件,快速构建定制化数据集,显著降低时间和计算资源成本。
2024-09-27 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
The IntelliJ Platform: a Framework for Building Plugins and Mining Software Data
在软件工程中,人们正在积极研究大量新的方法,并在此基础上开发了许多工具。这些工具需要一个框架来创建,并有机会被潜在的开发人员使用。现代IDE提供了这两种功能。在本文中,我们描述了IntelliJ平台的主要功能,这些功能可能对正在开发代码分析工具的研究人员有用。为了说明使用该平台的好处,我们描述了研究人员可能感兴趣的几个用例:挖掘软件数据、在代码上运行机器学习模型、推荐重构以及在IDE中可视化数据。我们提供了实现这些情况的现有插件的几个示例。最后,为了更容易开始使用平台,我们为每个用例开发并提供简单的插件,这些插件可以作为新项目的模板。
2021-10-01 cs.SE
RevMine: An LLM-Assisted Tool for Code Review Mining and Analysis Across Git Platforms
École de technologie supérieure (ÉTS)(高等技术学院);TELUS
针对代码评审数据挖掘耗时、技术门槛高的问题,提出LLM辅助工具RevMine,简化跨Git平台的评审数据收集与分析流程,降低研究门槛以推动实证软件工程研究。
2025-10-06 cs.SE
Total Recall, Language Processing, and Software Engineering
软件工程问题的一个广泛的类别可以概括为“总召回问题”。这篇短文声称,在软件工程中识别和探索全召回语言处理问题是一项具有广泛适用性的重要任务。为了实现这一点,我们表明,通过应用和适应最先进的主动学习和文本挖掘,总召回问题的解决方案,可以帮助解决两个重要的软件工程任务:(a)支持大型文献综述和(b)识别软件安全漏洞。此外,我们推测(c)测试用例优先级和(d)静态警告识别也可以归类为总召回问题。“全面回忆”在软件工程中的广泛应用表明,存在一些基础框架,不仅包括自然语言处理,还包括广泛的重要软件工程任务。
2018-08-31 cs.SE
Domain Knowledge Discovery Guided by Software Trace Links
软件密集型项目使用领域术语进行指定和建模。领域术语的知识对于执行许多软件工程任务是必要的,例如影响分析、遵从性验证和安全认证。然而,发现高技术软件和系统工程领域的领域术语和推理它们之间的相互关系是一项复杂的任务,需要大量的领域专业知识和人力。在本文中,我们提出了一种新的方法,利用软件密集型系统中的跟踪链接,以指导挖掘过程中包含领域知识的事实。驱动我们挖掘过程的跟踪链接定义了法规和要求等工件之间的关系,并通过高收益的领域术语组合进行引导搜索。我们的概念验证评估表明,我们的方法有助于发现领域事实,即使在高度复杂的技术领域。这些领域事实可以为各种软件工程活动提供支持。作为一个用例,我们展示了挖掘的事实如何促进项目Q&A的任务。
2018-08-15 cs.SE
SnipGen: A Mining Repository Framework for Evaluating LLMs for Code
William & Mary(威廉与玛丽学院)
针对代码 LLM 评估中的训练与评测数据重叠问题,本文提出 SnipGen 仓库挖掘框架,利用近期 GitHub 提交生成方法级数据点与可组合提示模板,支持严谨的代码生成评测。
2025-02-16 cs.AI cs.LG cs.SE
TNM: A Tool for Mining of Socio-Technical Data from Git Repositories
工程师之间的协作网络反映在版本控制系统(VCS)中开发人员活动的痕迹中。从Git存储库中提取数据是从事社会技术分析的研究人员和从业人员的一项基本任务,但这需要大量的工程工作。随着人们对分析社会技术数据并将其应用于实践的兴趣日益浓厚,目前还没有灵活且易于重复使用的工具来从虚拟社区服务中检索社会技术信息。由于没有通用的可重用工具来完成这项任务,挖掘的负担将研究人员的注意力从他们的核心研究问题上转移开来。在本文中,我们介绍了TNM --一个从Git存储库中挖掘社会技术数据的开源工具。TNM快速、灵活、易于扩展。TNM可在GitHub上获得:https://github.com/JetBrains-Research/tnm
2021-03-17 cs.SE cs.SI
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
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
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