Refinement types in Jolie
This work addresses type safety and security challenges for developers using the Jolie microservices language, representing an incremental improvement by combining existing verification methods.
The paper tackles the problem of integrating static and dynamic type checking in the Jolie microservices language by introducing refinement types verified via an SMT solver, aiming to reduce testing effort and enhance security.
Jolie is the first language for microservices and it is currently dynamically type checked. This paper considers the opportunity to integrate dynamic and static type checking with the introduction of refinement types, verified via SMT solver. The integration of the two aspects allows a scenario where the static verification of internal services and the dynamic verification of (potentially malicious) external services cooperates in order to reduce testing effort and enhancing security.