• Publications
  • Influence
The Blockchain as a Software Connector
This paper provides rationales to support the architectural decision on whether to employ a decentralized blockchain as opposed to other software solutions, like traditional shared data storage and explores specific implications of using the blockchain as a software connector including design trade-offs regarding quality attributes. Expand
Vandal: A Scalable Security Analysis Framework for Smart Contracts
Vandal is both fast and robust, successfully analysing over 95% of all 141k unique contracts with an average runtime of 4.15 seconds; outperforming the current state of the art tools---Oyente, EthIR, Mythril, and Rattle---under equivalent conditions. Expand
A Provably Starvation-Free Distributed Directory Protocol
COMBINE is presented, a distributed directory protocol for shared objects, designed for large-scale distributed systems, and the correctness of the protocol, including starvation freedom, is proved, despite asynchrony and concurrent requests. Expand
More than you ever wanted to know about synchronization: synchrobench, measuring the impact of the synchronization on concurrent algorithms
A new micro-benchmark suite, called Synchrobench, is developed in C/C++ and Java, hence helping the community evaluate new data structures and synchronization techniques, and concludes that although compare-and-swap helps achieving the best performance on multicores, doing so correctly is hard. Expand
A Contention-Friendly Binary Search Tree
This paper proposes a new lock-based concurrent binary tree using a methodology for writing concurrent data structures. This methodology limits the high contention induced by today's multicoreExpand
Why STM can be more than a research toy
Despite earlier claims, Software Transactional Memory outperforms sequential code in terms of memory efficiency. Expand
On Availability for Blockchain-Based Systems
This paper identifies the availability limitations of two mainstream blockchains, Ethereum and Bitcoin, and demonstrates that while read availability of blockchains is typically high, write availability - for transaction management - is actually low. Expand
Elastic Transactions
Elastic transactions are a complementary alternative to traditional transactions, particularly appealing when implementing search structures, and can be safely composed with normal ones, but significantly improve performance if used instead. Expand
Large-Scale Dynamic Controller Placement
An algorithm named LiDy+ is proposed that combines a controller module placement algorithm with a dynamic flow management algorithm and achieves a smaller number of controllers and a higher controller utilization but also incurs less energy and maintenance costs than the previous solution. Expand
(Leader/Randomization/Signature)-free Byzantine Consensus for Consortium Blockchains
This paper revisits the consensus validity property by requiring that the decided value satisfies a predefined predicate, which does not systematically exclude a value proposed only by Byzantine processes, thereby generalizing the validity properties found in the literature. Expand