skip to main content
10.1145/2896921.2896922acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Automated testing of DSL implementations: experiences from building mbeddr

Published:14 May 2016Publication History

ABSTRACT

Domain specific languages promise to improve productivity and quality of software by providing problem-adequate abstractions to developers. Projectional language workbenches like JetBrains MPS allow the definition of modular and extensible domain specific languages, generators and development environments. While recent advances in language engineering have enabled the definition of DSLs and tooling in a modular and cost-effective manner, the quality assurance of their implementation is still challenging. In this paper we present our work on testing the implementation of domain specific languages and associated tools, and discuss different approaches to increase the automation of language testing. We illustrate this based on MPS and our experience with testing mbeddr, a set of domain specific languages and tools on top of C tailored to embedded software development.

References

  1. JetBrains MPS Documentation. https://www.jetbrains.com/mps/documentation/.Google ScholarGoogle Scholar
  2. M. Amrani, B. Combemale, L. Lucio, G. M. K. Selim, J. Dingel, Y. L. Traon, H. Vangheluwe, and J. R. Cordy. Formal verification techniques for model transformations: A tridimensional classification. Journal of Object Technology, 14(3):1:1--43, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  3. F. Campagne. The MPS Language Workbench. CreateSpace Publishing, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. E. M. Clarke, D. Kroening, and F. Lerda. A tool for checking ANSI-C programs. In Tools and Algorithms for the Construction and Analysis of Systems, - 10th International Conference, 2004.Google ScholarGoogle Scholar
  5. S. Erdweg, T. Storm, M. Völter, et al. The State of the Art in Language Workbenches. In Software Language Engineering, LNCS. Springer, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  6. M. Eysholdt. Executable specifications for xtext. Website, 2014. http://www.xpect-tests.org/.Google ScholarGoogle Scholar
  7. L. C. Kats, R. Vermaas, and E. Visser. Integrated language definition testing: enabling test-driven language development. In ACM SIGPLAN Notices, volume 46, pages 139--154. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. Lämmel. Grammar testing. In Proceedings of the 4th International Conference on Fundamental Approaches to Software Engineering, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Z. Molotnikov, M. Völter, and D. Ratiu. Automated domain-specific C verification with mbeddr. In Proc. of the 29th ACM/IEEE Intl. Conference on Automated Software Engineering, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Pavletic, S. A. Raza, K. Dummann, and K. Hasslbauer. Testing extensible language debuggers. In Proceedings of 1st International Workshop on Executable Modeling, 2015.Google ScholarGoogle Scholar
  11. D. Ratiu, M. Voelter, B. Kolb, and B. Schätz. Using language engineering to lift languages and analyses at the domain level. In NASA Formal Methods, 5th International Symposium, 2013.Google ScholarGoogle Scholar
  12. M. Voelter, S. Benz, C. Dietrich, B. Engelmann, M. Helander, L. Kats, E. Visser, and G. Wachsmuth. DSL Engineering. dslbook.org, 2013.Google ScholarGoogle Scholar
  13. M. Voelter, D. Ratiu, B. Schätz, and B. Kolb. mbeddr: an extensible C-based programming language and IDE for embedded systems. In SPLASH '12, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. H. Wu, R. Monahan, and J. F. Power. Metamodel instance generation: A systematic literature review. Computing Research Repository (CoRR), 2012.Google ScholarGoogle Scholar
  15. X. Yang, Y. Chen, E. Eide, and J. Regehr. Finding and understanding bugs in c compilers. SIGPLAN Not., 46(6):283--294, June 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Automated testing of DSL implementations: experiences from building mbeddr

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      AST '16: Proceedings of the 11th International Workshop on Automation of Software Test
      May 2016
      105 pages
      ISBN:9781450341516
      DOI:10.1145/2896921

      Copyright © 2016 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 14 May 2016

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Upcoming Conference

      ICSE 2025

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader