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.
Abstract. The success of the cloud computing initiative is heavily dependent on realizing trustworthy Web Services. The trustworthiness of a Web Service is judged by four factors: security, privacy, reliability and business integrity. Web Services use message-passing for communication which opens the door for messages races. Messages race with each other when their order of arrival at a destination is not guaranteed and is affected non-deterministically by factors such as network latencies and scheduling variations. Message races are dangerous to Web Services because they can be unforeseen consequences of bugs, causing messages to arrive in an unexpected ordering. In this paper we present a novel approach for improving the reliability of Web Services by detecting message races using SMT-based analysis. We model a BPEL process as a Web Service Modeling Graph (WSMG). A WSMG model is then encoded into a set of SMT constraints. The satisfiability of these constraints means that message races will occur during the actual execution of the Web Service. Hence, we reduce the message race detection problem to constraint solving problem based on satisfiability modulo theories (SMT).
Abstract. We present a trace-driven SMT-based symbolic debugging tool for MCAPI (Multicore Association Communication API) applications. MCAPI is a newly proposed standard that provides an API for connectionless and connection-oriented communication in multicore applications. Our tool obtains a trace by executing an instrumented MCAPI. The collected trace is then encoded into an SMT formula such that its satisfiability indicates the existence of a reachable error state such as an assertion failure.
The Multicore Communications API (MCAPI) is a new message-passing API that was released by the Multicore Association. MCAPI provides an interface designed for closely distributed embedded systems with multiple cores on a chip and/or chips on a board. Similar to parallel programs in other domains, debugging MCAPI programs is a challenging task due to their nondeterministic behavior. In this article we present a tool that is capable of deterministically replaying MCAPI program executions, which provides valuable insight for MCAPI developers in case of failure.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.