ArchPipeline — ADL Evolution Dataset (ACME/AADL · 6 operations)
收藏资源简介:
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 : https://doi.org/10.5281/zenodo.20498180- Code and notebooks : github.com/lamia-aissaoui/ArchPipeline



