LLM-based code generation and system migration in language-driven engineering Article Swipe
YOU?
·
· 2025
· Open Access
·
· DOI: https://doi.org/10.1007/s10009-025-00798-x
This paper illustrates the power of extending Language Driven Engineering (LDE) with Domain-Specific Natural Languages (DSNLs) through a case study on two levels. Both cases benefit from the characteristic decomposition feature of LDE, resulting in tasks tailored to the application of domain-specific languages, here with a focus on the application of DSNLs supported by LLM-based code generation. In the first case study, we show how DSNL-supported LDE facilitates the development of point-and-click adventures, whereas the second case study focuses on migration: We demonstrate how the entire LDE scenario for point-and-click adventure games can be migrated to output TypeScript instead of JavaScript using LLM-based code generation exclusively, without manually writing any code. This migration not only infers the required types, but also preserves an important property of the original LDE scenario: generated web applications can be automatically validated by design via automata learning and subsequent model checking. Even better, this property can be exploited to automatically validate the correctness of the migration by learning so-called difference automata that characterize the behavioral differences between the generated JavaScript-based and Type-Script-based applications.
Related Topics
- Type
- article
- Language
- en
- Landing Page
- https://doi.org/10.1007/s10009-025-00798-x
- https://link.springer.com/content/pdf/10.1007/s10009-025-00798-x.pdf
- OA Status
- hybrid
- Cited By
- 3
- References
- 26
- Related Works
- 10
- OpenAlex ID
- https://openalex.org/W4409920847
Raw OpenAlex JSON
- OpenAlex ID
-
https://openalex.org/W4409920847Canonical identifier for this work in OpenAlex
- DOI
-
https://doi.org/10.1007/s10009-025-00798-xDigital Object Identifier
- Title
-
LLM-based code generation and system migration in language-driven engineeringWork title
- Type
-
articleOpenAlex work type
- Language
-
enPrimary language
- Publication year
-
2025Year of publication
- Publication date
-
2025-02-01Full publication date if available
- Authors
-
Daniel Busch, Alexander Bainczyk, Steven Smyth, Bernhard SteffenList of authors in order
- Landing page
-
https://doi.org/10.1007/s10009-025-00798-xPublisher landing page
- PDF URL
-
https://link.springer.com/content/pdf/10.1007/s10009-025-00798-x.pdfDirect link to full text PDF
- Open access
-
YesWhether a free full text is available
- OA status
-
hybridOpen access status per OpenAlex
- OA URL
-
https://link.springer.com/content/pdf/10.1007/s10009-025-00798-x.pdfDirect OA link when available
- Concepts
-
Computer science, Theory of computation, Code generation, Programming language, Code (set theory), Software engineering, Operating system, Key (lock), Set (abstract data type)Top concepts (fields/topics) attached by OpenAlex
- Cited by
-
3Total citation count in OpenAlex
- Citations by year (recent)
-
2025: 3Per-year citation counts (last 5 years)
- References (count)
-
26Number of works referenced by this work
- Related works (count)
-
10Other works algorithmically related by OpenAlex
Full payload
| id | https://openalex.org/W4409920847 |
|---|---|
| doi | https://doi.org/10.1007/s10009-025-00798-x |
| ids.doi | https://doi.org/10.1007/s10009-025-00798-x |
| ids.openalex | https://openalex.org/W4409920847 |
| fwci | 14.45923544 |
| type | article |
| title | LLM-based code generation and system migration in language-driven engineering |
| biblio.issue | 1 |
| biblio.volume | 27 |
| biblio.last_page | 147 |
| biblio.first_page | 137 |
| topics[0].id | https://openalex.org/T12072 |
| topics[0].field.id | https://openalex.org/fields/17 |
| topics[0].field.display_name | Computer Science |
| topics[0].score | 0.9988999962806702 |
| topics[0].domain.id | https://openalex.org/domains/3 |
| topics[0].domain.display_name | Physical Sciences |
| topics[0].subfield.id | https://openalex.org/subfields/1702 |
| topics[0].subfield.display_name | Artificial Intelligence |
| topics[0].display_name | Machine Learning and Algorithms |
| topics[1].id | https://openalex.org/T10743 |
| topics[1].field.id | https://openalex.org/fields/17 |
| topics[1].field.display_name | Computer Science |
| topics[1].score | 0.9812999963760376 |
| topics[1].domain.id | https://openalex.org/domains/3 |
| topics[1].domain.display_name | Physical Sciences |
| topics[1].subfield.id | https://openalex.org/subfields/1712 |
| topics[1].subfield.display_name | Software |
| topics[1].display_name | Software Testing and Debugging Techniques |
| topics[2].id | https://openalex.org/T10906 |
| topics[2].field.id | https://openalex.org/fields/17 |
| topics[2].field.display_name | Computer Science |
| topics[2].score | 0.9549999833106995 |
| topics[2].domain.id | https://openalex.org/domains/3 |
| topics[2].domain.display_name | Physical Sciences |
| topics[2].subfield.id | https://openalex.org/subfields/1702 |
| topics[2].subfield.display_name | Artificial Intelligence |
| topics[2].display_name | AI-based Problem Solving and Planning |
| funders[0].id | https://openalex.org/F4320329559 |
| funders[0].ror | https://ror.org/01k97gp34 |
| funders[0].display_name | Technische Universität Dortmund |
| is_xpac | False |
| apc_list.value | 2390 |
| apc_list.currency | EUR |
| apc_list.value_usd | 2990 |
| apc_paid.value | 2390 |
| apc_paid.currency | EUR |
| apc_paid.value_usd | 2990 |
| concepts[0].id | https://openalex.org/C41008148 |
| concepts[0].level | 0 |
| concepts[0].score | 0.8299861550331116 |
| concepts[0].wikidata | https://www.wikidata.org/wiki/Q21198 |
| concepts[0].display_name | Computer science |
| concepts[1].id | https://openalex.org/C24858836 |
| concepts[1].level | 2 |
| concepts[1].score | 0.7650279402732849 |
| concepts[1].wikidata | https://www.wikidata.org/wiki/Q844718 |
| concepts[1].display_name | Theory of computation |
| concepts[2].id | https://openalex.org/C133162039 |
| concepts[2].level | 3 |
| concepts[2].score | 0.6944829821586609 |
| concepts[2].wikidata | https://www.wikidata.org/wiki/Q1061077 |
| concepts[2].display_name | Code generation |
| concepts[3].id | https://openalex.org/C199360897 |
| concepts[3].level | 1 |
| concepts[3].score | 0.6265801787376404 |
| concepts[3].wikidata | https://www.wikidata.org/wiki/Q9143 |
| concepts[3].display_name | Programming language |
| concepts[4].id | https://openalex.org/C2776760102 |
| concepts[4].level | 3 |
| concepts[4].score | 0.5060929656028748 |
| concepts[4].wikidata | https://www.wikidata.org/wiki/Q5139990 |
| concepts[4].display_name | Code (set theory) |
| concepts[5].id | https://openalex.org/C115903868 |
| concepts[5].level | 1 |
| concepts[5].score | 0.4279828667640686 |
| concepts[5].wikidata | https://www.wikidata.org/wiki/Q80993 |
| concepts[5].display_name | Software engineering |
| concepts[6].id | https://openalex.org/C111919701 |
| concepts[6].level | 1 |
| concepts[6].score | 0.18654689192771912 |
| concepts[6].wikidata | https://www.wikidata.org/wiki/Q9135 |
| concepts[6].display_name | Operating system |
| concepts[7].id | https://openalex.org/C26517878 |
| concepts[7].level | 2 |
| concepts[7].score | 0.0 |
| concepts[7].wikidata | https://www.wikidata.org/wiki/Q228039 |
| concepts[7].display_name | Key (lock) |
| concepts[8].id | https://openalex.org/C177264268 |
| concepts[8].level | 2 |
| concepts[8].score | 0.0 |
| concepts[8].wikidata | https://www.wikidata.org/wiki/Q1514741 |
| concepts[8].display_name | Set (abstract data type) |
| keywords[0].id | https://openalex.org/keywords/computer-science |
| keywords[0].score | 0.8299861550331116 |
| keywords[0].display_name | Computer science |
| keywords[1].id | https://openalex.org/keywords/theory-of-computation |
| keywords[1].score | 0.7650279402732849 |
| keywords[1].display_name | Theory of computation |
| keywords[2].id | https://openalex.org/keywords/code-generation |
| keywords[2].score | 0.6944829821586609 |
| keywords[2].display_name | Code generation |
| keywords[3].id | https://openalex.org/keywords/programming-language |
| keywords[3].score | 0.6265801787376404 |
| keywords[3].display_name | Programming language |
| keywords[4].id | https://openalex.org/keywords/code |
| keywords[4].score | 0.5060929656028748 |
| keywords[4].display_name | Code (set theory) |
| keywords[5].id | https://openalex.org/keywords/software-engineering |
| keywords[5].score | 0.4279828667640686 |
| keywords[5].display_name | Software engineering |
| keywords[6].id | https://openalex.org/keywords/operating-system |
| keywords[6].score | 0.18654689192771912 |
| keywords[6].display_name | Operating system |
| language | en |
| locations[0].id | doi:10.1007/s10009-025-00798-x |
| locations[0].is_oa | True |
| locations[0].source.id | https://openalex.org/S122567160 |
| locations[0].source.issn | 1433-2779, 1433-2787 |
| locations[0].source.type | journal |
| locations[0].source.is_oa | False |
| locations[0].source.issn_l | 1433-2779 |
| locations[0].source.is_core | True |
| locations[0].source.is_in_doaj | False |
| locations[0].source.display_name | International Journal on Software Tools for Technology Transfer |
| locations[0].source.host_organization | https://openalex.org/P4310319900 |
| locations[0].source.host_organization_name | Springer Science+Business Media |
| locations[0].source.host_organization_lineage | https://openalex.org/P4310319900, https://openalex.org/P4310319965 |
| locations[0].source.host_organization_lineage_names | Springer Science+Business Media, Springer Nature |
| locations[0].license | cc-by |
| locations[0].pdf_url | https://link.springer.com/content/pdf/10.1007/s10009-025-00798-x.pdf |
| locations[0].version | publishedVersion |
| locations[0].raw_type | journal-article |
| locations[0].license_id | https://openalex.org/licenses/cc-by |
| locations[0].is_accepted | True |
| locations[0].is_published | True |
| locations[0].raw_source_name | International Journal on Software Tools for Technology Transfer |
| locations[0].landing_page_url | https://doi.org/10.1007/s10009-025-00798-x |
| indexed_in | crossref |
| authorships[0].author.id | https://openalex.org/A5042271435 |
| authorships[0].author.orcid | https://orcid.org/0009-0000-1832-9857 |
| authorships[0].author.display_name | Daniel Busch |
| authorships[0].author_position | first |
| authorships[0].raw_author_name | Daniel Busch |
| authorships[0].is_corresponding | False |
| authorships[1].author.id | https://openalex.org/A5063210119 |
| authorships[1].author.orcid | |
| authorships[1].author.display_name | Alexander Bainczyk |
| authorships[1].author_position | middle |
| authorships[1].raw_author_name | Alexander Bainczyk |
| authorships[1].is_corresponding | False |
| authorships[2].author.id | https://openalex.org/A5040819930 |
| authorships[2].author.orcid | https://orcid.org/0000-0003-2470-0880 |
| authorships[2].author.display_name | Steven Smyth |
| authorships[2].author_position | middle |
| authorships[2].raw_author_name | Steven Smyth |
| authorships[2].is_corresponding | False |
| authorships[3].author.id | https://openalex.org/A5078808456 |
| authorships[3].author.orcid | https://orcid.org/0000-0001-9619-1558 |
| authorships[3].author.display_name | Bernhard Steffen |
| authorships[3].author_position | last |
| authorships[3].raw_author_name | Bernhard Steffen |
| authorships[3].is_corresponding | False |
| has_content.pdf | True |
| has_content.grobid_xml | True |
| is_paratext | False |
| open_access.is_oa | True |
| open_access.oa_url | https://link.springer.com/content/pdf/10.1007/s10009-025-00798-x.pdf |
| open_access.oa_status | hybrid |
| open_access.any_repository_has_fulltext | False |
| created_date | 2025-10-10T00:00:00 |
| display_name | LLM-based code generation and system migration in language-driven engineering |
| has_fulltext | False |
| is_retracted | False |
| updated_date | 2025-11-06T03:46:38.306776 |
| primary_topic.id | https://openalex.org/T12072 |
| primary_topic.field.id | https://openalex.org/fields/17 |
| primary_topic.field.display_name | Computer Science |
| primary_topic.score | 0.9988999962806702 |
| primary_topic.domain.id | https://openalex.org/domains/3 |
| primary_topic.domain.display_name | Physical Sciences |
| primary_topic.subfield.id | https://openalex.org/subfields/1702 |
| primary_topic.subfield.display_name | Artificial Intelligence |
| primary_topic.display_name | Machine Learning and Algorithms |
| related_works | https://openalex.org/W2064563243, https://openalex.org/W4250775169, https://openalex.org/W4309231192, https://openalex.org/W3165104833, https://openalex.org/W2595158997, https://openalex.org/W2884667242, https://openalex.org/W2163672025, https://openalex.org/W2048831961, https://openalex.org/W1606349578, https://openalex.org/W4399567378 |
| cited_by_count | 3 |
| counts_by_year[0].year | 2025 |
| counts_by_year[0].cited_by_count | 3 |
| locations_count | 1 |
| best_oa_location.id | doi:10.1007/s10009-025-00798-x |
| best_oa_location.is_oa | True |
| best_oa_location.source.id | https://openalex.org/S122567160 |
| best_oa_location.source.issn | 1433-2779, 1433-2787 |
| best_oa_location.source.type | journal |
| best_oa_location.source.is_oa | False |
| best_oa_location.source.issn_l | 1433-2779 |
| best_oa_location.source.is_core | True |
| best_oa_location.source.is_in_doaj | False |
| best_oa_location.source.display_name | International Journal on Software Tools for Technology Transfer |
| best_oa_location.source.host_organization | https://openalex.org/P4310319900 |
| best_oa_location.source.host_organization_name | Springer Science+Business Media |
| best_oa_location.source.host_organization_lineage | https://openalex.org/P4310319900, https://openalex.org/P4310319965 |
| best_oa_location.source.host_organization_lineage_names | Springer Science+Business Media, Springer Nature |
| best_oa_location.license | cc-by |
| best_oa_location.pdf_url | https://link.springer.com/content/pdf/10.1007/s10009-025-00798-x.pdf |
| best_oa_location.version | publishedVersion |
| best_oa_location.raw_type | journal-article |
| best_oa_location.license_id | https://openalex.org/licenses/cc-by |
| best_oa_location.is_accepted | True |
| best_oa_location.is_published | True |
| best_oa_location.raw_source_name | International Journal on Software Tools for Technology Transfer |
| best_oa_location.landing_page_url | https://doi.org/10.1007/s10009-025-00798-x |
| primary_location.id | doi:10.1007/s10009-025-00798-x |
| primary_location.is_oa | True |
| primary_location.source.id | https://openalex.org/S122567160 |
| primary_location.source.issn | 1433-2779, 1433-2787 |
| primary_location.source.type | journal |
| primary_location.source.is_oa | False |
| primary_location.source.issn_l | 1433-2779 |
| primary_location.source.is_core | True |
| primary_location.source.is_in_doaj | False |
| primary_location.source.display_name | International Journal on Software Tools for Technology Transfer |
| primary_location.source.host_organization | https://openalex.org/P4310319900 |
| primary_location.source.host_organization_name | Springer Science+Business Media |
| primary_location.source.host_organization_lineage | https://openalex.org/P4310319900, https://openalex.org/P4310319965 |
| primary_location.source.host_organization_lineage_names | Springer Science+Business Media, Springer Nature |
| primary_location.license | cc-by |
| primary_location.pdf_url | https://link.springer.com/content/pdf/10.1007/s10009-025-00798-x.pdf |
| primary_location.version | publishedVersion |
| primary_location.raw_type | journal-article |
| primary_location.license_id | https://openalex.org/licenses/cc-by |
| primary_location.is_accepted | True |
| primary_location.is_published | True |
| primary_location.raw_source_name | International Journal on Software Tools for Technology Transfer |
| primary_location.landing_page_url | https://doi.org/10.1007/s10009-025-00798-x |
| publication_date | 2025-02-01 |
| publication_year | 2025 |
| referenced_works | https://openalex.org/W2094783813, https://openalex.org/W1989445634, https://openalex.org/W2759540495, https://openalex.org/W4312379666, https://openalex.org/W4285165743, https://openalex.org/W4389672268, https://openalex.org/W6906661642, https://openalex.org/W4378473878, https://openalex.org/W2117189826, https://openalex.org/W4245106453, https://openalex.org/W4308643152, https://openalex.org/W2898150745, https://openalex.org/W2064689414, https://openalex.org/W3027858405, https://openalex.org/W2033904437, https://openalex.org/W4385302156, https://openalex.org/W2978187656, https://openalex.org/W6813226704, https://openalex.org/W6603435670, https://openalex.org/W4221143046, https://openalex.org/W2062143900, https://openalex.org/W4402670687, https://openalex.org/W4240061226, https://openalex.org/W2561675875, https://openalex.org/W4225131971, https://openalex.org/W2990138404 |
| referenced_works_count | 26 |
| abstract_inverted_index.a | 18, 46 |
| abstract_inverted_index.In | 58 |
| abstract_inverted_index.We | 82 |
| abstract_inverted_index.an | 123 |
| abstract_inverted_index.be | 94, 135, 152 |
| abstract_inverted_index.by | 54, 138, 162 |
| abstract_inverted_index.in | 35 |
| abstract_inverted_index.of | 6, 32, 41, 51, 71, 100, 126, 159 |
| abstract_inverted_index.on | 21, 48, 80 |
| abstract_inverted_index.to | 38, 96, 154 |
| abstract_inverted_index.we | 63 |
| abstract_inverted_index.LDE | 67, 87, 129 |
| abstract_inverted_index.and | 143, 176 |
| abstract_inverted_index.any | 110 |
| abstract_inverted_index.but | 120 |
| abstract_inverted_index.can | 93, 134, 151 |
| abstract_inverted_index.for | 89 |
| abstract_inverted_index.how | 65, 84 |
| abstract_inverted_index.not | 114 |
| abstract_inverted_index.the | 4, 28, 39, 49, 59, 69, 75, 85, 117, 127, 157, 160, 169, 173 |
| abstract_inverted_index.two | 22 |
| abstract_inverted_index.via | 140 |
| abstract_inverted_index.web | 132 |
| abstract_inverted_index.Both | 24 |
| abstract_inverted_index.Even | 147 |
| abstract_inverted_index.LDE, | 33 |
| abstract_inverted_index.This | 1, 112 |
| abstract_inverted_index.also | 121 |
| abstract_inverted_index.case | 19, 61, 77 |
| abstract_inverted_index.code | 56, 104 |
| abstract_inverted_index.from | 27 |
| abstract_inverted_index.here | 44 |
| abstract_inverted_index.only | 115 |
| abstract_inverted_index.show | 64 |
| abstract_inverted_index.that | 167 |
| abstract_inverted_index.this | 149 |
| abstract_inverted_index.with | 12, 45 |
| abstract_inverted_index.(LDE) | 11 |
| abstract_inverted_index.DSNLs | 52 |
| abstract_inverted_index.cases | 25 |
| abstract_inverted_index.code. | 111 |
| abstract_inverted_index.first | 60 |
| abstract_inverted_index.focus | 47 |
| abstract_inverted_index.games | 92 |
| abstract_inverted_index.model | 145 |
| abstract_inverted_index.paper | 2 |
| abstract_inverted_index.power | 5 |
| abstract_inverted_index.study | 20, 78 |
| abstract_inverted_index.tasks | 36 |
| abstract_inverted_index.using | 102 |
| abstract_inverted_index.Driven | 9 |
| abstract_inverted_index.design | 139 |
| abstract_inverted_index.entire | 86 |
| abstract_inverted_index.infers | 116 |
| abstract_inverted_index.output | 97 |
| abstract_inverted_index.second | 76 |
| abstract_inverted_index.study, | 62 |
| abstract_inverted_index.types, | 119 |
| abstract_inverted_index.(DSNLs) | 16 |
| abstract_inverted_index.Natural | 14 |
| abstract_inverted_index.benefit | 26 |
| abstract_inverted_index.better, | 148 |
| abstract_inverted_index.between | 172 |
| abstract_inverted_index.feature | 31 |
| abstract_inverted_index.focuses | 79 |
| abstract_inverted_index.instead | 99 |
| abstract_inverted_index.levels. | 23 |
| abstract_inverted_index.through | 17 |
| abstract_inverted_index.whereas | 74 |
| abstract_inverted_index.without | 107 |
| abstract_inverted_index.writing | 109 |
| abstract_inverted_index.Abstract | 0 |
| abstract_inverted_index.Language | 8 |
| abstract_inverted_index.automata | 141, 166 |
| abstract_inverted_index.learning | 142, 163 |
| abstract_inverted_index.manually | 108 |
| abstract_inverted_index.migrated | 95 |
| abstract_inverted_index.original | 128 |
| abstract_inverted_index.property | 125, 150 |
| abstract_inverted_index.required | 118 |
| abstract_inverted_index.scenario | 88 |
| abstract_inverted_index.tailored | 37 |
| abstract_inverted_index.validate | 156 |
| abstract_inverted_index.LLM-based | 55, 103 |
| abstract_inverted_index.Languages | 15 |
| abstract_inverted_index.adventure | 91 |
| abstract_inverted_index.checking. | 146 |
| abstract_inverted_index.exploited | 153 |
| abstract_inverted_index.extending | 7 |
| abstract_inverted_index.generated | 131, 174 |
| abstract_inverted_index.important | 124 |
| abstract_inverted_index.migration | 113, 161 |
| abstract_inverted_index.preserves | 122 |
| abstract_inverted_index.resulting | 34 |
| abstract_inverted_index.scenario: | 130 |
| abstract_inverted_index.so-called | 164 |
| abstract_inverted_index.supported | 53 |
| abstract_inverted_index.validated | 137 |
| abstract_inverted_index.JavaScript | 101 |
| abstract_inverted_index.TypeScript | 98 |
| abstract_inverted_index.behavioral | 170 |
| abstract_inverted_index.difference | 165 |
| abstract_inverted_index.generation | 105 |
| abstract_inverted_index.languages, | 43 |
| abstract_inverted_index.migration: | 81 |
| abstract_inverted_index.subsequent | 144 |
| abstract_inverted_index.Engineering | 10 |
| abstract_inverted_index.adventures, | 73 |
| abstract_inverted_index.application | 40, 50 |
| abstract_inverted_index.correctness | 158 |
| abstract_inverted_index.demonstrate | 83 |
| abstract_inverted_index.development | 70 |
| abstract_inverted_index.differences | 171 |
| abstract_inverted_index.facilitates | 68 |
| abstract_inverted_index.generation. | 57 |
| abstract_inverted_index.illustrates | 3 |
| abstract_inverted_index.applications | 133 |
| abstract_inverted_index.characterize | 168 |
| abstract_inverted_index.exclusively, | 106 |
| abstract_inverted_index.applications. | 178 |
| abstract_inverted_index.automatically | 136, 155 |
| abstract_inverted_index.decomposition | 30 |
| abstract_inverted_index.DSNL-supported | 66 |
| abstract_inverted_index.characteristic | 29 |
| abstract_inverted_index.Domain-Specific | 13 |
| abstract_inverted_index.domain-specific | 42 |
| abstract_inverted_index.point-and-click | 72, 90 |
| abstract_inverted_index.JavaScript-based | 175 |
| abstract_inverted_index.Type-Script-based | 177 |
| cited_by_percentile_year.max | 97 |
| cited_by_percentile_year.min | 96 |
| countries_distinct_count | 0 |
| institutions_distinct_count | 4 |
| citation_normalized_percentile.value | 0.98458424 |
| citation_normalized_percentile.is_in_top_1_percent | False |
| citation_normalized_percentile.is_in_top_10_percent | True |