English

Generating Software for Well-Understood Domains

Software Engineering 2023-03-14 v2 Programming Languages

Abstract

Current software development is often quite code-centric and aimed at short-term deliverables, due to various contextual forces (such as the need for new revenue streams from many individual buyers). We're interested in software where different forces drive the development. \textbf{Well understood domains} and \textbf{long-lived software} provide one such context. A crucial observation is that software artifacts that are currently handwritten contain considerable duplication. By using domain-specific languages and generative techniques, we can capture the contents of many of the artifacts of such software. Assuming an appropriate codification of domain knowledge, we find that the resulting de-duplicated sources are shorter and closer to the domain. Our prototype, Drasil, indicates improvements to traceability and change management. We're also hopeful that this could lead to long-term productivity improvements for software where these forces are at play.

Keywords

Cite

@article{arxiv.2302.00740,
  title  = {Generating Software for Well-Understood Domains},
  author = {Jacques Carette and Spencer Smith and Jason Balaci},
  journal= {arXiv preprint arXiv:2302.00740},
  year   = {2023}
}

Comments

12 pages, paper accepted at EVCS 2023

R2 v1 2026-06-28T08:29:36.594Z