[论文解读] The Harmony Platform
Harmony 平台是一个基于 OSGi 的模块化框架,旨在通过将异构数据源(如 Git、SVN 和缺陷跟踪系统)抽象为统一的面向版本的模型,简化 Mining Software Repositories (MSR) 研究。它通过可扩展的提取器、可重用的分析组件以及对并行处理和持久化的内置支持,使研究人员能够高效地开发、组合和执行自定义分析,显著降低了 MSR 研究中的技术负担。
According to Wikipedia, The Mining Software Repositories (MSR) field analyzes the rich data available in software repositories, such as version control repositories, mailing list archives, bug tracking systems, issue tracking systems, etc. to uncover interesting and actionable information about software systems, projects and software engineering. The MSR field has received a great deal of attention and has now its own research conference : http://www.msrconf.org/. However performing MSR studies is still a technical challenge. Indeed, data sources (such as version control system or bug tracking systems) are highly heterogeneous. Moreover performing a study on a lot of data sources is very expensive in terms of execution time. Surprisingly, there are not so many tools able to help researchers in their MSR quests. This is why we created the Harmony platform, as a mean to assist researchers in performing MSR studies.
研究动机与目标
- 解决 Mining Software Repositories (MSR) 研究中异构性和计算成本的技术挑战。
- 通过抽象底层数据集成和执行相关问题,减轻实现 MSR 分析的工程负担。
- 使研究人员能够专注于设计领域特定的分析,而非管理基础设施。
- 通过可插拔的数据源提取器、可自定义的数据模型和可重用的分析组件,支持可扩展性。
- 通过使用标准 JPA 注解内置支持并行处理和持久化,实现可扩展的执行。
提出的方法
- 使用基于 OSGi 的组件架构,将各种数据源(如 Git、SVN、TFS、缺陷跟踪系统)抽象为统一的面向版本的数据模型。
- 采用黑板模式实现分析间的通信,支持模块化和可组合的分析流水线。
- 提供 ISourceExtractor 接口,以支持将仓库数据提取到抽象模型中的可插拔方式。
- 提供 IAnalysis 和 IPostProcessingAnalysis 接口,用于定义分析并实现依赖感知的调度。
- 与 Eclipse RCP 及 JDT/CDT 等工具集成,支持细粒度的代码和配置文件分析。
- 使用标准 JPA 和内置调度服务,自动实现数据持久化和并行执行。
实验结果
研究问题
- RQ1研究人员如何在不重复构建低级别数据集成和执行基础设施的前提下,高效地在异构软件仓库中开展 MSR 研究?
- RQ2一个模块化、可扩展的平台在多大程度上能够减少实现和组合自定义 MSR 分析所需的时间和精力?
- RQ3统一的数据模型能否有效表示版本控制系统和缺陷跟踪系统,以支持跨系统的分析?
- RQ4该平台的架构在多大程度上支持大规模复杂、依赖感知的分析流水线的执行?
- RQ5内置的并行处理和持久化对 MSR 研究的性能和可维护性有何影响?
主要发现
- Harmony 平台使研究人员能够以极少的样板代码实现 MSR 分析,例如通过仅需几十行代码的简单所有权计算示例即可证明。
- 平台基于 OSGi 的模块化架构支持新数据源提取器和分析的无缝集成,促进代码复用和可扩展性。
- 内置的并行执行和持久化支持显著减少了扩展 MSR 研究所需的技术工程工作量。
- 统一的数据模型成功抽象了版本控制系统和缺陷跟踪系统,实现了跨系统的分析,且无需与底层数据源紧耦合。
- 平台与 Eclipse RCP 及 JDT/CDT 等工具的集成,支持细粒度的源代码分析,使其应用范围超越了元数据层面的研究。
- 未来对 R 脚本和采样组件的支持将进一步增强平台在 MSR 研究中进行统计分析和代表性分析的能力。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。