Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

SLEBoK (Software Language Engineering Body of Knowledge)

General Description

The field of software language engineering (SLE) has emerged based on a strong motivation to connect and integrate different research disciplines such as compiler construction, reverse engineering, software transformation, model-driven engineering, and ontologies. SLE is defined as the application of systematic, disciplined, and measurable approaches to the development, deployment, use, and maintenance of software languages.

The Software Language Engineering Body of Knowledge (SLEBoK) is a community-wide effort to provide a unique and comprehensive description of the concepts, tools and methods developped by the SLE community. It features artefacts, definitions, methods, techniques, best practices, open challenges, case studies, teaching material, and other components that would help students, researchers, teachers, and practitioners to learn from, to better leverage, to better contribute to, and to better disseminate the intellectual contributions and practical tools and techniques coming from the SLE field.

The SLEBoK has been initiated during the SLEBoK Dagstuhl Seminar in August, 2017, exactly one decade after the advent of SLE as a scientific field (SLE 2008 in Toulouse, France) to continue working on ideas of earlier initiatives like SL(E)BOK @ SLE 2012 and extend them. The SLEBoK is expected to continuously involve, reflecting an up-to-date view on SLE.

Should you need further information regarding SLEBoK, feel free to contact the Editor-in-Chief (EiC). The current SLEBoK EiC is Dr. Vadim Zaytsev (@grammarware).


Use the SLEBoK

The SLEBoK is provided as a Github repository. We recommend users to browse directly the SLEBoK through Github, or to clone the repository for local consultations.

The SLEBoK is currently composed of the following main sections that the reader may consult:

  • terms: provides a glossary and precise definitions of the concepts used and developped in SLE.
  • topics: connects terms into broader categories to form a proper taxonomy and eventually ontology.
  • literature: provides several reviews of the litterature on specific topics related to SLE.
  • tools: provides the description of some SLE tools.
  • usecases: describes relevant scenarios for SLE.
  • teaching: provides materials about existing courses, and insights regarding an SLE curriculum.

Contribute to the SLEBoK

Contributions can be made through pull requests. Github issues are also used for discussing the contributions, and for community-wise discussions.

The SLEBoK Slack channel is also available to discuss any improvements of the SLEBoK (content, structure, etc.):


The SLEBoK would not have been possible without the initial set up provided by the Dagstuhl Seminar 17342 Participants.


Software Language Engineering Body of Knowledge







No releases published


No packages published