Proceedings of the Institute for System Programming of the RAS
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Proceedings of ISP RAS:
Year:
Volume:
Issue:
Page:
Find






Personal entry:
Login:
Password:
Save password
Enter
Forgotten password?
Register


Proceedings of the Institute for System Programming of the RAS, 2016, Volume 28, Issue 2, Pages 33–44
DOI: https://doi.org/10.15514/ISPRAS-2016-28(2)-2
(Mi tisp18)
 

This article is cited in 5 scientific papers (total in 5 papers)

Refinement types in jolie

Alexander Tchitchigin, Larisa Safina, Mohamed Elwakil, Manuel Mazzara, Fabrizio Montesi, Victor Rivera

Innopolis University, Software Engineering Lab
Full-text PDF (343 kB) Citations (5)
References:
Abstract: 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 an 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 cooperate in order to reduce testing effort and enhance security.
Refinement types are well-known technique for numeric, array and algebraic data types. They rely on corresponding SMT-theories. Recently SMT solvers got support for a theory of strings and regular expressions. In the paper, we describe possible application of the theory to string refinement types. We use Jolie programming language to illustrate feasibility and usefulness of such extension. First, because Jolie already has syntax extension to support string refinements. We build on top of that extension to provide static type checking. Second, because in the realm of microservices the need for improved checking of string data is much higher as most of external communication goes through text-based protocols.
We present simplified but real-world example from the domain of web-development. We intentionally introduce a bug in the example demonstrating how easily it can slip a conventional type system. Proposed solution is feasible, as it do not accept program with the bug. Complete solution will need enhancements in precision and error reporting.
Keywords: Microservices, Jolie, Refinement Types, SMT, SAT, Z3.
Bibliographic databases:
Document Type: Article
Language: English
Citation: Alexander Tchitchigin, Larisa Safina, Mohamed Elwakil, Manuel Mazzara, Fabrizio Montesi, Victor Rivera, “Refinement types in jolie”, Proceedings of ISP RAS, 28:2 (2016), 33–44
Citation in format AMSBIB
\Bibitem{TchSafElw16}
\by Alexander Tchitchigin, Larisa Safina, Mohamed Elwakil, Manuel Mazzara, Fabrizio Montesi, Victor Rivera
\paper Refinement types in jolie
\jour Proceedings of ISP RAS
\yr 2016
\vol 28
\issue 2
\pages 33--44
\mathnet{http://mi.mathnet.ru/tisp18}
\crossref{https://doi.org/10.15514/ISPRAS-2016-28(2)-2}
\elib{https://elibrary.ru/item.asp?id=26480303}
Linking options:
  • https://www.mathnet.ru/eng/tisp18
  • https://www.mathnet.ru/eng/tisp/v28/i2/p33
  • This publication is cited in the following 5 articles:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Proceedings of the Institute for System Programming of the RAS
    Statistics & downloads:
    Abstract page:124
    Full-text PDF :58
    References:34
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024