Software systems are the engines of modern information society. Our ability to cope with the increasing complexity of software systems is limited by the programming languages we use to build them. Bridging the gap between domain concepts and the implementation of these concepts in a programming language is one of the core challenges of software engineering. Modern programming languages have considerably reduced this gap, but still require low-level programmatic encodings of domain concepts. Domain-specific software languages (DSLs) address this problem through linguistic abstraction by providing notation, analysis, verification, and optimization that are specialized to an application domain. Language workbenches assist language designers with the implementation of languages. However, DSL implementations rarely formally guarantee semantic correctness properties such as type soundness and behaviour preservation of transformations, since current language workbenches provide no support for such verification, which leads to intricate errors in language designs that are discovered late. In this project, I will work towards new methods and techniques for automating verification of language definitions. The key innovations are: (1) High-level formalisms for the declarative specification of software languages that are declarative, multi-purpose, and generative as well as reductive; (2) Efficient and scalable language parametric algorithms for name resolution, type checking, and program execution; (3) Language parametric test generators that attempt to generate counter examples to type soundness and semantics preservation based on language definitions; (4) Language parametric proof engineering techniques to support automated verification of type soundness and semantics preservation. The techniques will be integrated in the innovative Spoofax Language Workbench and should enable DSL designers to detect semantic errors at low cost in the early stages of the design process. I will evaluate the techniques by verifying and testing a representative set of language definitions.
Software systems are the engines of modern information society. Our ability to cope with the increasing complexity of software systems is limited by the programming languages we use to build them. Bridging the gap between domain concepts and the implementation of these concepts in a programming language is one of the core challenges of software engineering. Modern programming languages have considerably reduced this gap, but still require low-level programmatic encodings of domain concepts. Domain-specific software languages (DSLs) address this problem through linguistic abstraction by providing notation, analysis, verification, and optimization that are specialized to an application domain. Language workbenches assist language designers with the implementation of languages. However, DSL implementations rarely formally guarantee semantic correctness properties such as type soundness and behaviour preservation of transformations, since current language workbenches provide no support for such verification, which leads to intricate errors in language designs that are discovered late. In this project, I will work towards new methods and techniques for automating verification of language definitions. The key innovations are: (1) High-level formalisms for the declarative specification of software languages that are declarative, multi-purpose, and generative as well as reductive; (2) Efficient and scalable language parametric algorithms for name resolution, type checking, and program execution; (3) Language parametric test generators that attempt to generate counter examples to type soundness and semantics preservation based on language definitions; (4) Language parametric proof engineering techniques to support automated verification of type soundness and semantics preservation. The techniques will be integrated in the innovative Spoofax Language Workbench and should enable DSL designers to detect semantic errors at low cost in the early stages of the design process. I will evaluate the techniques by verifying and testing a representative set of language definitions.

| Name | consent |
|---|---|
| Description | This cookie holds user cookies consent info. |
| Provider | OpenAIRE |
| Expiration | 395 days |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | greekSession |
|---|---|
| Description | Stores the user session ID for Academic Bibliometrics & Assessment Computational Utility Service. |
| Provider | Academic Bibliometrics & Assessment Computational Utility Service |
| Expiration | Session |
| Name | openAIRESession |
|---|---|
| Description | Stores the user session ID for OpenAIRE Services. |
| Provider | OpenAIRE |
| Expiration | Session |
| Name | AccessToken |
|---|---|
| Description | Stores a JSON Web Token (JWT) used to authenticate the user's access to protected services. |
| Provider | OpenAIRE |
| Expiration | 1 hour |
| Name | jsCheck |
|---|---|
| Description | Checks whether the client has javascript enabled. |
| Provider | System |
| Expiration | Session |
| Name | verifiedUser |
|---|---|
| Description | Indicates that the user has been verified as human. |
| Provider | System |
| Expiration | 1 day |
| Name | reload- |
|---|---|
| Description | Stores a list of URLs for redirection to ensure smooth navigation. |
| Provider | System |
| Expiration | Session |
| Name | ^_pk_id |
|---|---|
| Description | Used to store a few details about the user such as the unique visitor ID. |
| Provider | Matomo |
| Expiration | 13 months |
| Name | ^_pk_ses |
|---|---|
| Description | Short lived cookies used to temporarily store data for the visit. |
| Provider | Matomo |
| Expiration | 30 minutes |