Posts by Collection




CArmor is a compiler extension that splits a C program into two partitions according to security annotations.


Scivik is an automated toolchain that formally verifies the functional correctness of Yul, the intermediate representation of Ethereum smart contracts.


An IoT network prototyping software with the integration of serverless architecture


[QIP 2020] Communication over Continuous Quantum Secure Dialogue using Einstein-Podolsky-Rosen States [PDF] [Poster]

Shaokai Lin, Zichuan Wang, Lior Horesh

With the emergence of quantum computing and quantum networks, many communication protocols that take advantage of the unique properties of quantum mechanics to achieve a secure bidirectional exchange of information, have been proposed. In this study, we propose a new quantum communication protocol, called Continuous Quantum Secure Dialogue (CQSD), that allows two parties to continuously exchange messages without halting while ensuring the privacy of the conversation. Compared to existing protocols, CQSD improves the efficiency of quantum communication. In addition, we offer an implementation of the CQSD protocol using the Qiskit framework. Finally, we conduct a security analysis of the CQSD protocol in the context of several common forms of attack.

[arxiv] SciviK: A Versatile Framework for Specifying and Verifying Smart Contracts [PDF]

Shaokai Lin, Xinyuan Sun, Jianan Yao, Ronghui Gu

The growing adoption of smart contracts on blockchains poses new security risks that can lead to significant monetary loss, while existing approaches either provide no (or partial) security guarantees for smart contracts or require huge proof effort. To address this challenge, we present SciviK, a versatile framework for specifying and verifying industrial-grade smart contracts. SciviK’s versatile approach extends previous efforts with three key contributions: (i) an expressive annotation system enabling built-in directives for vulnerability pattern checking, neural-based loop invariant inference, and the verification of rich properties of real-world smart contracts (ii) a fine-grained model for the Ethereum Virtual Machine (EVM) that provides low-level execution semantics, (iii) an IR-level verification framework integrating both SMT solvers and the Coq proof assistant. We use SciviK to specify and verify security properties for 12 benchmark contracts and a real-world Decentralized Finance (DeFi) smart contract. Among all 158 specified security properties (in six types), 151 properties can be automatically verified within 2 seconds, five properties can be automatically verified after moderate modifications, and two properties are manually proved with around 200 lines of Coq code.

[FDL2021] Debugging and Verification Tools for LINGUA FRANCA in GEMOC Studio [PDF]

Julien Deantoni, João Cambeiro, Soroush Bateni, Shaokai Lin, Marten Lohstroh

LINGUA Franca (lf) is a polyglot coordination language designed for the composition of concurrent, time-sensitive, and potentially distributed reactive components called reactors. The LF coordination layer facilitates the use of target languages (e.g., C, C++, Python, TypeScript) to realize the program logic, where each target language requires a separate runtime implementation that must correctly implement the reactor semantics. Verifying the correctness of runtime implementations is not a trivial task, and is currently done on the basis of regression testing. To provide a more formal verification tool for existing and future target runtimes, as well as to help verify properties of LF programs, we recruit the use of GemocStudio-an Eclipse-based workbench for the development, integration, and use of heterogeneous executable modeling languages. We present an operational model for LF, realized in GEmocStudio, that is primed to interact with a rich set of analysis and verification tools. Our instrumentation provides the ability to navigate the execution of LF programs using an omniscient debugger with graphical model animation; to check assertions in particular execution runs, or exhaustively, using a model checker; and to validate or debug traces obtained from arbitrary LF runtime environments.

[arxiv] Quantifying and Generalizing the CAP Theorem [PDF]

Edward A Lee, Soroush Bateni, Shaokai Lin, Marten Lohstroh, Christian Menard

In distributed applications, Brewer’s CAP theorem tells us that when networks become partitioned, there is a tradeoff between consistency and availability. Consistency is agreement on the values of shared variables across a system, and availability is the ability to respond to reads and writes accessing those shared variables. We quantify these concepts, giving numerical values to inconsistency and unavailability. Recognizing that network partitioning is not an all-or-nothing proposition, we replace the P in CAP with L, a numerical measure of apparent latency, and derive the CAL theorem, an algebraic relation between inconsistency, unavailability, and apparent latency. This relation shows that if latency becomes unbounded (e.g., the network becomes partitioned), then one of inconsistency and unavailability must also become unbounded, and hence the CAP theorem is a special case of the CAL theorem. We describe two distributed coordination mechanisms, which we have implemented as an extension of the Lingua Franca coordination language, that support arbitrary tradeoffs between consistency and availability as apparent latency varies. With centralized coordination, inconsistency remains bounded by a chosen numerical value at the cost that unavailability becomes unbounded under network partitioning. With decentralized coordination, unavailability remains bounded by a chosen numerical quantity at the cost that inconsistency becomes unbounded under network partitioning. Our centralized coordination mechanism is an extension of techniques that have historically been used for distributed simulation, an application where consistency is paramount. Our decentralized coordination mechanism is an extension of techniques that have been used in distributed databases when availability is paramount.



Teaching experience 1

Undergraduate course, University 1, Department, 2014

This is a description of a teaching experience. You can use markdown like any other post.

Teaching experience 2

Workshop, University 1, Department, 2015

This is a description of a teaching experience. You can use markdown like any other post.