skip to main content
10.1007/978-3-031-38828-6_7guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Testing Languages with a Languages-as-Databases Approach

Published: 20 July 2023 Publication History

Abstract

Language testing is an important element in the cycle of a programming language development. A part of these tests aim at determining features such as what type of binders the language has, whether evaluation takes place underneath a binder, as well as other features.
In prior work, we have proposed languages-as-databases, an approach that is based on storing languages as databases, which then can be interrogated with declarative queries.
This paper illustrates a number of language tests on various aspects of programming languages. We also formulate tests that establish whether the language at hand conforms to the GSOS rule format.
Our tests show that languages-as-databases provides a lightweight approach to language testing.

References

[1]
Aceto L, Bloom B, and Vaandrager F Turning SOS rules into equations Inf. Comput. 1994 111 1 1-52
[2]
Aceto L, Caltais G, Goriac E-I, and Ingolfsdottir A Corradini A, Klin B, and Cîrstea C PREG axiomatizer – a ground bisimilarity checker for GSOS with predicates Algebra and Coalgebra in Computer Science 2011 Heidelberg Springer 378-385
[3]
Aceto L, Cimini M, Ingólfsdóttir A, Mousavi MR, and Reniers MA SOS rule formats for zero and unit elements Theoret. Comput. Sci. 2011 412 28 3045-3071
[4]
Aceto L, Cimini M, Ingolfsdottir A, Mousavi M, and Reniers MA Rule formats for distributivity Theoret. Comput. Sci. 2012 458 1-28
[5]
Bach Poulsen, C., Rouvoet, A., Tolmach, A., Krebbers, R., Visser, E.: Intrinsically-typed definitional interpreters for imperative languages. Proc. ACM Program. Lang. (PACMPL) 2(POPL), 1–34 (2017).
[6]
Baeten, J.C.M., Bergstra, J.A.: Process algebra with signals and conditions. In: Broy, M. (ed.) Programming and Mathematical Method, pp. 273–323. Springer, Heidelberg (1992).
[7]
Baeten JCM, Bergstra JA, and Klop JW Syntax and defining equations for an interrupt mechanism in process algebra Fund. Inform. 1986 9 2 127-167
[8]
Berghofer, S., Nipkow, T.: Random testing in Isabelle/HOL. In: Proceedings of the 2nd International Conference on Software Engineering and Formal Methods, pp. 230–239, SEFM 2004. IEEE Computer Society, USA (2004).
[9]
Bergstra J and Klop J Process algebra for synchronous communication Inf. Control 1984 60 1 109-137
[10]
Bloom, B., Istrail, S., Meyer, A.R.: Bisimulation can’t be traced. J. ACM 42(1), 232–268 (1995).
[11]
Cheney, J.: Toward a general theory of names: binding and scope. In: Proceedings of the 3rd ACM SIGPLAN Workshop on Mechanized Reasoning about Languages with Variable Binding, MERLIN 2005, pp. 33–40. Association for Computing Machinery, New York, NY, USA (2005).
[13]
Cimini, M.: A query language for language analysis. In: Schlingloff, B.H., Chai, M. (eds.) Software Engineering and Formal Methods - 20th International Conference, SEFM 2022, Berlin, Germany, 26–30 September 2022, Proceedings, vol. 13550, pp. 57–73. Springer, Cham (2022).
[14]
Cimini, M.: A declarative validator for GSOS languages. In: Proceedings of the 14th International Workshop on Programming Language Approaches to Concurrency- and Communication-cEntric Software (PLACES 2023), vol. 378, pp. 14–25. Open Publishing Association (2023).
[15]
Cimini, M., Miller, D., Siek, J.G.: Extrinsically typed operational semantics for functional languages. In: Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2020, Virtual Event, USA, 16–17 November 2020, pp. 108–125 (2020).
[16]
Cranen, S., Mousavi, M., Reniers, M.A.: A rule format for associativity. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008 - Concurrency Theory, pp. 447–461. Springer, Heidelberg (2008).
[17]
Felleisen, M., Findler, R.B., Flatt, M.: Semantics Engineering with PLT Redex, 1st edn. The MIT Press (2009)
[18]
Fetscher, B., Claessen, K., Pałka, M., Hughes, J., Findler, R.B.: Making random judgments: automatically generating well-typed terms from the definition of a type-system. In: Vitek, J. (ed.) European Symposium on Programming Languages and Systems (ESOP 2015), pp. 383–405. Springer, Heidelberg (2015).
[19]
Grewe, S., Erdweg, S., Wittmann, P., Mezini, M.: Type systems for the masses: deriving soundness proofs and efficient checkers. In: 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!), pp. 137–150. Onward! 2015. ACM, New York, NY, USA (2015).
[20]
Groote JF and Vaandrager F Structured operational semantics and bisimulation as a congruence Inf. Comput. 1992 100 2 202-260
[21]
Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978).
[22]
Kats, L.C., Vermaas, R., Visser, E.: Integrated language definition testing: enabling test-driven language development. In: Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2011, pp. 139–154. Association for Computing Machinery, New York, NY, USA (2011).
[23]
Klein, C., et al.: Run your research: on the effectiveness of lightweight mechanization. In: Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2012, pp. 285–296. Association for Computing Machinery, New York, NY, USA (2012).
[24]
Milner, R. (ed.): A Calculus of Communicating Systems. LNCS, vol. 92. Springer, Heidelberg (1980).
[25]
Mourad B, Cimini M, et al. Chatzigeorgiou A et al. A calculus for language transformations SOFSEM 2020: Theory and Practice of Computer Science 2020 Cham Springer 547-555
[26]
Mourad B and Cimini M Nakano K and Sagonas K System description: Lang-n-Change - a tool for transforming languages Functional and Logic Programming 2020 Cham Springer 198-214
[27]
Mousavi, M.R., Reniers, M.A.: Prototyping SOS meta-theory in Maude. Electron. Notes Theoret. Comput. Sci. 156(1), 135–150 (2006)., Proceedings of the Second Workshop on Structural Operational Semantics (SOS 2005)
[28]
Mousavi MR, Reniers MA, and Groote JF SOS formats and meta-theory: 20 years after Theoret. Comput. Sci. 2007 373 3 238-272
[29]
Mousavi M, Reniers M, and Groote JF A syntactic commutativity format for SOS Inf. Process. Lett. 2005 93 5 217-223
[30]
Pfenning F and Schürmann C System description: Twelf — a meta-logical framework for deductive systems Automated Deduction — CADE-2016 1999 Heidelberg Springer 202-206
[31]
Pierce, B.C.: Types and Programming Languages. MIT Press (2002)
[32]
Ratiu, D., Voelter, M.: Automated testing of DSL implementations: experiences from building mbeddr. In: Proceedings of the 11th International Workshop on Automation of Software Test, AST 2016, pp. 15–21. Association for Computing Machinery, New York, NY, USA (2016).
[33]
van der Rest, C., Poulsen, C.B., Rouvoet, A., Visser, E., Mosses, P.: Intrinsically-typed definitional interpreters à la carte. Proc. ACM Program. Lang. 6(OOPSLA2), 1903–1932 (2022).
[34]
Roberson, M., Harries, M., Darga, P.T., Boyapati, C.: Efficient software model checking of soundness of type systems. In: Harris, G.E. (ed.) Proceedings of the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications, OOPSLA 2008, pp. 493–504. Association for Computing Machinery, New York, NY, USA (2008).
[35]
Rosu G and Şerbănuţă TF An overview of the K semantic framework J. Logic Algebraic Program. 2010 79 6 397-434
[36]
Sewell P Ott: effective tool support for the working semanticist J. Funct. Program. 2010 20 1 71-122
[37]
Verhoef C Jonsson B and Parrow J A congruence theorem for structured operational semantics with predicates and negative premises CONCUR 1994: Concurrency Theory 1994 Heidelberg Springer 433-448
[38]
Wu, H.: Grammar-driven generation of domain-specific language tools. In: Companion to the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 2006, pp. 772–773. Association for Computing Machinery, New York, NY, USA (2006).

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
Tests and Proofs: 17th International Conference, TAP 2023, Leicester, UK, July 18–19, 2023, Proceedings
Jul 2023
201 pages
ISBN:978-3-031-38827-9
DOI:10.1007/978-3-031-38828-6
  • Editors:
  • Virgile Prevosto,
  • Cristina Seceleanu

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 20 July 2023

Author Tags

  1. Language testing
  2. Domain-specific languages
  3. SQL

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media