Testing framework for embedded languages

Daniel Lesko1 and Mate Tejfel1

  1. Department of Programming Languages and Compilers, Eotvos Lorand University
    {ldani, matej}@elte.hu


Embedding a new programming language into an existing one is a widely used technique, because it fastens the development process and gives a part of a language infrastructure for free (e.g. lexical, syntactical analyzers). In this paper we are presenting a new advantage of this development approach regarding to adding testing support for these new languages. Tool support for testing is a crucial point for a newly designed programming language. It could be done in the hard way by creating a testing tool from scratch, or we could try to reuse existing testing tools by extending them with an interface to our new language. The second approach requires less work, and also it fits very well for the embedded approach. The problem is that the creation of such interfaces is not straightforward at all, because the existing testing tools are mostly not designed to be extendable and to be able to deal with new languages. This paper presents an extendable and modular model of a testing framework, in which the most basic design decision was to keep the – previously mentioned – interface creation simple and straightforward. Other important aspects of our model are the test data generation, the oracle problem and the customizability of the whole testing phase.

Key words

testing support for embedded languages, testing framework, abstraction over evaluation

Digital Object Identifier (DOI)


Publication information

Volume 10, Issue 4 (October 2013)
Special Issue on Advances in Model Driven Engineering, Languages and Agents
Year of Publication: 2013
ISSN: 2406-1018 (Online)
Publisher: ComSIS Consortium

Full text

DownloadAvailable in PDF
Portable Document Format

How to cite

Lesko, D., Tejfel, M.: Testing framework for embedded languages. Computer Science and Information Systems, Vol. 10, No. 4, 1647-1659. (2013), https://doi.org/10.2298/CSIS130115069L