Abstract
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.
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 language | English |
---|---|
Title of host publication | Proceedings of the 13th International Conference on Software Language Engineering |
Editors | Ralf Lämmel, Laurence Tratt, Juan De Lara |
Publisher | ACM Publishing |
Pages | 72-85 |
Edition | 13th |
ISBN (Print) | 9781450381765 |
DOIs | |
Publication status | Published - 15 Nov 2020 |
Event | 13th International Conference on Software Language Engineering, SLE 2020 - Virtual Event Duration: 15 Nov 2020 → 20 Nov 2020 Conference number: 13 http://www.sleconf.org/2020/ |
Conference
Conference | 13th International Conference on Software Language Engineering, SLE 2020 |
---|---|
Abbreviated title | SLE 2020 |
City | Virtual Event |
Period | 15/11/20 → 20/11/20 |
Internet address |
Fingerprint Dive into the research topics of 'Software Language Engineers' Worst Nightmare'. Together they form a unique fingerprint.
Prizes
-
IFIP TC2 Manfred Paul Award for Excellence in Software: Theory and Practice
Zaytsev, Vadim (Recipient), 22 Dec 2020
Prize: Honorary award