A test-driven approach for developing software languages

O. Badreddin, Andrew Forward, T. Lethbridge
{"title":"A test-driven approach for developing software languages","authors":"O. Badreddin, Andrew Forward, T. Lethbridge","doi":"10.5220/0004699502250234","DOIUrl":null,"url":null,"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.","PeriodicalId":336046,"journal":{"name":"2014 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","volume":"52 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-01-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5220/0004699502250234","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13

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.
开发软件语言的测试驱动方法
测试驱动开发(TDD)是在编写软件之前尝试使用它的实践。前提很简单,但在不同领域应用它的细节可能很复杂。在本文中,我们为语言开发提供了aTDD方法。其本质是在语言处理的四个层次中的每一个层次上应用TDD,因此我们称我们的方法为多级TDD,或MLTDD。MLTDD可以应用于编程语言、预处理器、领域特定语言和转换引擎。MLTDD用于构建Umple,这是一种面向模型的编程语言,可用于Java、Ruby和PHP。我们提供了两个案例研究,其中实现了这种方法来开发另外两种特定于领域的语言。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信