A Test-Driven Approach for Developing Software Languages

Omar Badreddin, Andrew Forward, Timothy C. Lethbridge

2014

Abstract

Test-Driven Development (TDD) is the practice of attempting to use the software you intend to write, before you write it. The premise is straightforward, but the specifics of applying it in different domains can be complex. In this paper, we provide aTDD approach for language development. The essence is to apply TDD at each of four levels of language processing, hence we call our approach Multi-Level TDD, or MLTDD. MLTDD can be applied to programming languages, preprocessors, domain specific languages, and transformation engines. MLTDD was used to build Umple, a model-oriented programming language available for Java, Ruby, and PHP. We present two case studies where this approach was implemented to develop two other domain specific languages.

Download


Paper Citation


in Harvard Style

Badreddin O., Forward A. and Lethbridge T. (2014). A Test-Driven Approach for Developing Software Languages . In Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-007-9, pages 225-234. DOI: 10.5220/0004699502250234

in Bibtex Style

@conference{modelsward14,
author={Omar Badreddin and Andrew Forward and Timothy C. Lethbridge},
title={A Test-Driven Approach for Developing Software Languages},
booktitle={Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2014},
pages={225-234},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004699502250234},
isbn={978-989-758-007-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 2nd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - A Test-Driven Approach for Developing Software Languages
SN - 978-989-758-007-9
AU - Badreddin O.
AU - Forward A.
AU - Lethbridge T.
PY - 2014
SP - 225
EP - 234
DO - 10.5220/0004699502250234