five

Accurate Design Pattern Detection Based on Idiomatic Implementation Matching in Java Language Context

收藏
github2023-12-02 更新2024-05-31 收录
下载链接:
https://github.com/Megre/Dataset4SparT
下载链接
链接失效反馈
官方服务:
资源简介:
本数据集用于精确检测基于Java语言上下文中惯用实现匹配的设计模式。数据集结构包括分层知识图(LKG)、生成的本体、评估结果和SparT的截图。LKG包含本体模型、推理规则、模式模板和词汇描述。生成的本体包括JHotDraw、JUnit等系统的本体。评估结果包括检测到的模式实例和运行时性能统计。

This dataset is designed for the precise detection of design patterns based on idiomatic implementation matches within Java language contexts. The dataset structure includes a Layered Knowledge Graph (LKG), generated ontologies, evaluation results, and screenshots of SparT. The LKG encompasses ontology models, inference rules, pattern templates, and lexical descriptions. The generated ontologies include those of systems such as JHotDraw and JUnit. The evaluation results comprise detected pattern instances and runtime performance statistics.
创建时间:
2018-12-07
原始信息汇总

数据集概述

1. 数据集结构

  • a. Layered Knowledge Graph (LKG):

    • Ontology Models (*.owl)
    • Inference Rules (Java.qrules, Java.StaticBehavior.qules)
    • Pattern Templates (Java.DesignPattern.qrules)
    • Description of Vocabularies.pdf
  • b. Generated Ontologies:

    • 针对JHotDraw, JUnit, JRefactory, QuickUML, PMD的推断生成的本体。
  • c. Evaluation Results:

    • Pattern Instances Detected by RaM, DPD, DPF and SparT.pdf
    • Statistics on Pattern Instances Detected by RaM, DPD, DPF and SparT.pdf
    • Statistics on Runtime Performance of SparT.pdf
  • d. Screenshots of SparT:

    • Fig.a Pattern Detection.png
    • Fig.b Ontology Browser.png
    • Fig.c SPARQL Query.png
    • Fig.d Ontology Trace.png
  • Readme.txt

2. 数据浏览方式

  • ".qrules" 文件为纯文本,可用任意文本查看器打开。
  • ".owl" 文件为RDF/XML语法文本,推荐使用Protégé或文本查看器打开。
  • 通过 "Pattern Instances Detected by RaM, DPD, DPF and SparT.pdf" 或使用Protégé浏览Generated Ontologies目录中的本体,可查看SparT检测到的实例。

3. 数据集详细描述

  • 3.1 Layered Knowledge Graph:

    • 使用Protégé开发的Ontology Models (*.owl)。
    • 基于SPARQL更新语言的Inference Rules和Pattern Templates (.qrules)。
    • 通过SHA1签名结合关键角色名称唯一标识Pattern Instances。
    • Description of Vocabularies.pdf 描述了每个本体模型中的词汇(本体类和属性)。
  • 3.2 Generated Ontologies:

    • 包含从源代码提取的信息、推断的知识和检测结果。
    • 由Ontology Generator自动生成,并由推理引擎推断。
  • 3.3 Evaluation Results:

    • 包含对每个评估系统和设计模式的实例报告的详细调查、统计以及SparT的运行时性能统计。
  • 3.4 Screenshots of SparT:

    • 包含SparT设计模式检测子系统的截图,展示了LKG的构建、检测结果的存储以及三种浏览本体的方式:Ontology Browser, SPARQL Query, Ontology Trace。
搜集汇总
数据集介绍
main_image_url
构建方式
该数据集的构建基于Java语言环境中的惯用实现匹配,旨在准确检测设计模式。数据集的核心是分层的知识图谱(LKG),包含本体模型、推理规则和模式模板。本体模型通过Protégé开发,推理规则和模式模板基于SPARQL更新语言编码。数据集还包含为多个Java系统生成的推断本体,这些本体通过Ontology Generator自动生成,并经过推理引擎处理。
特点
该数据集的特点在于其分层的知识图谱结构,能够通过推理规则和模式模板精确识别设计模式实例。数据集提供了详细的词汇描述,帮助用户理解本体模型中的类和属性。此外,数据集还包含多个Java系统的推断本体,这些本体不仅包含从源代码中提取的信息,还包含推断的知识和检测结果。数据集还提供了丰富的评估结果,包括不同方法检测到的模式实例及其统计信息,以及SparT工具的运行时性能数据。
使用方法
用户可以通过Protégé工具浏览数据集中的本体模型和生成的推断本体。推理规则和模式模板以.qrules文件形式提供,用户可以使用文本编辑器查看。检测到的模式实例以PDF格式报告,便于视觉比较。此外,用户还可以通过SparT工具的Ontology Browser、SPARQL Query和Ontology Trace功能浏览本体数据。SparT工具提供了自动化的设计模式检测功能,用户只需选择模型并点击“Recognize”即可启动检测过程。
背景与挑战
背景概述
Accurate Design Pattern Detection Based on Idiomatic Implementation Matching in Java Language Context 数据集专注于Java语言环境下的设计模式检测,旨在通过匹配惯用实现来提升设计模式识别的准确性。该数据集由研究人员基于分层知识图谱(LKG)构建,包含本体模型、推理规则和模式模板等核心组件。数据集的核心研究问题在于如何通过自动化的本体推理和模式匹配技术,从Java源代码中高效、准确地识别设计模式实例。该数据集的研究成果对软件工程领域的设计模式检测和代码质量分析具有重要影响,为开发人员提供了更精确的工具和方法。
当前挑战
该数据集在解决设计模式检测问题时面临多重挑战。首先,设计模式的多样性和复杂性使得准确识别其实现变得困难,尤其是在面对不同编程风格和代码结构时。其次,构建分层知识图谱和推理规则的过程中,需要处理大量的语义信息和复杂的逻辑关系,这对本体建模和推理引擎的性能提出了较高要求。此外,数据集的生成和评估过程涉及多个开源项目的源代码分析,如何确保数据的一致性和完整性也是一个重要挑战。最后,尽管SparT工具提供了自动化的检测功能,但其运行时性能和可扩展性仍需进一步优化,以应对更大规模的代码库和更复杂的设计模式检测任务。
常用场景
经典使用场景
在软件工程领域,设计模式的准确检测对于提高代码质量和维护性至关重要。该数据集通过构建分层知识图谱(LKG)和生成本体,为Java语言环境下的设计模式检测提供了坚实的基础。数据集中的本体模型、推理规则和模式模板为研究人员提供了一个全面的框架,用于识别和验证设计模式的实例。通过使用SparT工具,研究人员可以自动检测设计模式,并通过本体浏览器、SPARQL查询和本体追踪功能进行深入分析。
实际应用
在实际应用中,该数据集为软件开发团队提供了一个强大的工具,用于自动检测和验证设计模式的实现。通过使用SparT工具,开发团队可以快速识别代码中的设计模式实例,从而提高代码的可维护性和可扩展性。此外,数据集中的本体模型和推理规则还可以用于构建智能代码分析工具,帮助开发者在代码审查和重构过程中做出更明智的决策。
衍生相关工作
该数据集衍生了一系列经典的研究工作,特别是在设计模式检测和本体推理领域。基于该数据集的研究成果,许多学者开发了新的检测算法和工具,进一步提高了设计模式检测的准确性和效率。此外,数据集中的分层知识图谱和推理规则也为其他领域的知识图谱构建和推理提供了参考,推动了知识图谱技术在软件工程中的应用。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作