Software Language Engineers' Worst Nightmare

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review


Many techniques in software language engineering get their first validation by
being prototyped to work on one particular language such as Java, Scala,
Scheme, or ML, or a subset of such a language. Claims of their
generalisability, as well as discussion on potential threats to their external
validity, are often based on authors' ad hoc understanding of the world
outside their usual comfort zone. To facilitate and simplify such discussions
by providing a solid measurable ground, we propose a language called
BabyCobol, which was specifically designed to contain
features that turn processing legacy programming languages such as COBOL,
FORTRAN, PL/I, REXX, CLIST, and 4GLs (fourth generation languages), into such
a challenge. The language is minimal by design so that it can help to quickly
find weaknesses in frameworks making them inapplicable to dealing with legacy
software. However, applying new techniques of software language engineering
and reverse engineering to such a small language will not be too tedious and
overwhelming. BabyCobol was designed in collaboration with industrial compiler
developers by systematically traversing features of several second, third and
fourth generation languages to identify the core culprits in making
development of compiler for legacy languages difficult.
Original languageEnglish
Title of host publicationProceedings of the 13th International Conference on Software Language Engineering
EditorsRalf Lämmel, Laurence Tratt, Juan De Lara
PublisherACM Publishing
Number of pages14
ISBN (Print)9781450381765
Publication statusPublished - 16 Nov 2020
Event13th International Conference on Software Language Engineering, SLE 2020 - Virtual Event
Duration: 15 Nov 202020 Nov 2020
Conference number: 13


Conference13th International Conference on Software Language Engineering, SLE 2020
Abbreviated titleSLE 2020
CityVirtual Event
Internet address


Dive into the research topics of 'Software Language Engineers' Worst Nightmare'. Together they form a unique fingerprint.

Cite this