The ACM SIGPLAN International Conference on Software Language Engineering (SLE) is devoted to the principles of software languages: their design, their implementation, and their evolution.
With the ubiquity of computers, software has become the dominating intellectual asset of our time. In turn, this software depends on software languages, namely the languages it is written in, the languages used to describe its environment, and the languages driving its development process. Given that everything depends on software and that software depends on software languages, it seems fair to say that for many years to come, everything will depend on software languages.
Software language engineering (SLE) is the discipline of engineering languages and their tools required for the creation of software. It abstracts from the differences between programming languages, modelling languages, and other software languages, and emphasizes the engineering facet of the creation of such languages, that is, the establishment of the scientific methods and practices that enable the best results. While SLE is certainly driven by its metacircular character (software languages are engineered using software languages), SLE is not self-satisfying: its scope extends to the engineering of languages for all and everything.
Like its predecessors, the 12th edition of the SLE conference, SLE 2019, will bring together researchers from different areas united by their common interest in the creation, capture, and tooling of software languages. It overlaps with traditional conferences on the design and implementation of programming languages, model-driven engineering, and compiler construction, and emphasizes the fusion of their communities. To foster the latter, SLE traditionally fills a two-day program with a single track, with the only temporal overlap occurring between co-located events.
SLE 2019 solicits high-quality contributions in areas ranging from theoretical and conceptual contributions, to tools, techniques, and frameworks in the domain of software language engineering. Topics relevant to SLE cover generic aspects of software languages development rather than aspects of engineering a specific language. In particular, SLE is interested in contributions from the following areas:
Software Language Design and Implementation
Approaches to and methods for language design
Static semantics (e.g., design rules, well-formedness constraints)
Techniques for specifying behavioral / executable semantics
Generative approaches (incl. code synthesis, compilation)
Meta-languages, meta-tools, language workbenches
Software Language Validation
Verification and formal methods for languages
Testing techniques for languages
Simulation techniques for languages
Software Language Integration and Composition
Coordination of heterogeneous languages and tools
Mappings between languages (incl. transformation languages)
Traceability between languages
Deployment of languages to different platforms
Software Language Maintenance
Software language reuse
Language families and variability
Domain-specific approaches for any aspects of SLE (design, implementation, validation, maintenance)
Empirical evaluation and experience reports of language engineering tools
User studies evaluating usability