遇见数据集

ArchPipeline — ADL Evolution Dataset (ACME/AADL · 6 operations)

收藏
Zenodo2026-06-01 更新2026-06-05 收录
官方服务:

资源简介:

This dataset supports the evolution phase of ArchPipeline, a two-phase transfer-learning framework for software architecture comprehension and evolution (under review, 2026). Each instance pairs a structured evolution request — specifying an operation, a source ADL specification, and a natural language change request — with the syntactically valid evolved ADL specification resulting from applying the requested transformation. The dataset covers two ADL formalisms (ACME and AADL) and six atomic structural transformation operations across three difficulty levels. STATISTICS- Full corpus : 2,192 pairs- Train : 1,754 pairs (680 ACME + 1,074 AADL)- Validation : 220 pairs (77 ACME + 143 AADL)- Test (raw) : 218 pairs (89 ACME + 129 AADL)- Test (Jaccard-filtered) : 120 pairs (68 ACME + 52 AADL) — 20 per operation OPERATION TAXONOMY- ADD_PORT (interface, easy) : 320 train pairs- MODIFY_PROPERTY (interface, easy) : 320 train pairs- ADD_COMPONENT (component, medium) : 320 train pairs- DELETE_COMPONENT(component, hard) : 234 train pairs- ADD_CONNECTOR (connector, medium) : 320 train pairs- DELETE_CONNECTOR(connector, hard) : 240 train pairs DATA FORMATEach line is a JSON object with the following fields:- input : structured prompt — evolve: [OP] {op} [ADL] {adl_before} [REQ] {request}- target : syntactically valid evolved ADL fragment- operation : one of the six transformation operations- adl_type : ADL formalism (ACME or AADL)- difficulte: difficulty level (easy, medium, hard)- source : real (from comprehension corpus) or synthetic (augmented) EXAMPLEinput : "evolve: [OP] ADD_PORT [ADL] Component client : Client = { Port send : SendPort; } [REQ] Add a monitoring port to the client component"target : "Component client : Client = { Port send : SendPort; Port monitor : MonitorPort; }" CONSTRUCTIONGenerated through a programmatic pipeline applied to the comprehension corpus.Six dedicated generator functions produce pairs per operation with 7 paraphrase templates each. Each pair is validated against 5 structural rules. DELETE operations were augmented with 200 synthetic ACME and 200 AADL system blocks. Quota caps of 400 real + 200 synthetic pairs per operation were applied before deduplication and stratified 80/10/10 splitting with seed 42. The Jaccard-filtered test set retains only candidates with mean Jaccard distance ≥ 0.35 from the training set, with exactly 20 instances per operation. FILES- train.jsonl : 1,754 training pairs- val.jsonl : 220 validation pairs- test.jsonl : 218 raw test pairs- test_v2.jsonl : 120 Jaccard-filtered test pairs (used in all experiments)- dataset_full.csv : full corpus of 2,192 pairs with all metadata fields RELATED RESOURCES- Comprehension dataset : [DOI to be added after first deposit]- Code and notebooks : https://github.com/[your-repo]/ArchPipeline

本数据集支持ArchPipeline的演化阶段,ArchPipeline是一款面向软件架构理解与演化的两阶段迁移学习框架,2026年投稿待审。 每个数据实例将结构化演化请求与经转换后得到的语法合法的演化后架构描述语言(Architecture Description Language,ADL)规范配对。其中结构化演化请求需指定操作、源ADL规范与自然语言形式的变更请求。 本数据集涵盖两种ADL形式化规范(ACME与AADL),以及三个难度等级下的六种原子结构转换操作。 ### 统计信息 - 完整数据集:2192条数据对 - 训练集:1754条数据对(其中ACME格式680条,AADL格式1074条) - 验证集:220条数据对(其中ACME格式77条,AADL格式143条) - 原始测试集:218条数据对(其中ACME格式89条,AADL格式129条) - 杰卡德(Jaccard)过滤测试集:120条数据对(其中ACME格式68条,AADL格式52条)—— 每个操作对应20条实例 ### 操作分类体系 - ADD_PORT(接口类,简单难度):320条训练数据对 - MODIFY_PROPERTY(接口类,简单难度):320条训练数据对 - ADD_COMPONENT(组件类,中等难度):320条训练数据对 - DELETE_COMPONENT(组件类,高难度):234条训练数据对 - ADD_CONNECTOR(连接器类,中等难度):320条训练数据对 - DELETE_CONNECTOR(连接器类,高难度):240条训练数据对 ### 数据格式 每一行均为一个JSON对象,包含以下字段: - `input`:结构化提示,格式为:`evolve: [OP] {操作名} [ADL] {转换前ADL规范} [REQ] {变更请求}` - `target`:语法合法的演化后ADL片段 - `operation`:六种转换操作之一 - `adl_type`:ADL形式化规范类型(ACME或AADL) - `difficulty`:难度等级(简单、中等、困难) - `source`:数据来源,分为`real`(源自理解数据集)或`synthetic`(人工合成/增强生成) ### 示例 输入:`"evolve: [OP] ADD_PORT [ADL] Component client : Client = { Port send : SendPort; } [REQ] 为client组件添加一个监控端口"` 目标输出:`"Component client : Client = { Port send : SendPort; Port monitor : MonitorPort; }"` ### 数据集构建 本数据集通过应用于架构理解数据集的程序化流水线生成。针对每种操作,通过6个专用生成函数结合7种复述模板生成数据对。每一条数据对均需通过5条结构规则的校验。针对删除类操作,额外补充了200条合成ACME格式与200条合成AADL格式的系统块数据。在去重与按80/10/10分层划分(随机种子设为42)前,对每种操作设置了400条真实数据+200条合成数据的配额上限。 杰卡德过滤测试集仅保留与训练集的平均杰卡德距离≥0.35的候选样本,且每个操作恰好对应20条实例。 ### 数据集文件 - `train.jsonl`:1754条训练数据对 - `val.jsonl`:220条验证数据对 - `test.jsonl`:218条原始测试数据对 - `test_v2.jsonl`:120条杰卡德过滤测试数据对(所有实验均使用该测试集) - `dataset_full.csv`:包含全部元数据字段的2192条完整数据集 ### 相关资源 - 架构理解数据集:[首次提交后将补充DOI编号] - 代码与Notebook:https://github.com/[your-repo]/ArchPipeline

提供机构:
Zenodo
创建时间:
2026-06-01
二维码
社区交流群
二维码
科研交流群
商业服务