-
Shape dynamics and migration of branched cells on complex networks
Authors:
Jiayi Liu,
Javier Boix-Campos,
Jonathan E. Ron,
Johan M. Kux,
Nir S. Gov,
Pablo J. Sáez
Abstract:
Migratory and tissue resident cells exhibit highly branched morphologies to perform their function and to adapt to the microenvironment. Immune cells, for example, display transient branched shapes while exploring the surrounding tissues. In another example, to properly irrigate the tissues, blood vessels bifurcate thereby forcing the branching of cells moving on top or within the vessels. In both…
▽ More
Migratory and tissue resident cells exhibit highly branched morphologies to perform their function and to adapt to the microenvironment. Immune cells, for example, display transient branched shapes while exploring the surrounding tissues. In another example, to properly irrigate the tissues, blood vessels bifurcate thereby forcing the branching of cells moving on top or within the vessels. In both cases microenvironmental constraints force migrating cells to extend several highly dynamic protrusions. Here, we present a theoretical model for the shape dynamics and migration of cells that simultaneously span several junctions, which we validated by using micropatterns with an hexagonal array, and a neuronal network image analysis pipeline to monitor the macrophages and endothelial cell shapes and migration. In our model we describe how the actin retrograde flow controls branch extension, retraction and global cell polarization. We relate the noise in this flow to the residency times and trap** of the cell at the junctions of the network. In addition, we found that macrophages and endothelial cells display very different migration regimes on the network, with macrophages moving faster and having larger changes in cell length in comparison to endothelial cells. These results expose how cellular shapes and migration are intricately coupled inside complex geometries.
△ Less
Submitted 29 March, 2024;
originally announced April 2024.
-
Generative AI to Generate Test Data Generators
Authors:
Benoit Baudry,
Khashayar Etemadi,
Sen Fang,
Yogya Gamage,
Yi Liu,
Yuxin Liu,
Martin Monperrus,
Javier Ron,
André Silva,
Deepika Tiwari
Abstract:
Generating fake data is an essential dimension of modern software testing, as demonstrated by the number and significance of data faking libraries. Yet, developers of faking libraries cannot keep up with the wide range of data to be generated for different natural languages and domains. In this paper, we assess the ability of generative AI for generating test data in different domains. We design t…
▽ More
Generating fake data is an essential dimension of modern software testing, as demonstrated by the number and significance of data faking libraries. Yet, developers of faking libraries cannot keep up with the wide range of data to be generated for different natural languages and domains. In this paper, we assess the ability of generative AI for generating test data in different domains. We design three types of prompts for Large Language Models (LLMs), which perform test data generation tasks at different levels of integrability: 1) raw test data generation, 2) synthesizing programs in a specific language that generate useful test data, and 3) producing programs that use state-of-the-art faker libraries. We evaluate our approach by prompting LLMs to generate test data for 11 domains. The results show that LLMs can successfully generate realistic test data generators in a wide range of domains at all three levels of integrability.
△ Less
Submitted 14 June, 2024; v1 submitted 31 January, 2024;
originally announced January 2024.
-
Fair coins tend to land on the same side they started: Evidence from 350,757 flips
Authors:
František Bartoš,
Alexandra Sarafoglou,
Henrik R. Godmann,
Amir Sahrani,
David Klein Leunk,
Pierre Y. Gui,
David Voss,
Kaleem Ullah,
Malte J. Zoubek,
Franziska Nippold,
Frederik Aust,
Felipe F. Vieira,
Chris-Gabriel Islam,
Anton J. Zoubek,
Sara Shabani,
Jonas Petter,
Ingeborg B. Roos,
Adam Finnemann,
Aaron B. Lob,
Madlen F. Hoffstadt,
Jason Nak,
Jill de Ron,
Koen Derks,
Karoline Huth,
Sjoerd Terpstra
, et al. (25 additional authors not shown)
Abstract:
Many people have flipped coins but few have stopped to ponder the statistical and physical intricacies of the process. In a preregistered study we collected $350{,}757$ coin flips to test the counterintuitive prediction from a physics model of human coin tossing developed by Diaconis, Holmes, and Montgomery (DHM; 2007). The model asserts that when people flip an ordinary coin, it tends to land on…
▽ More
Many people have flipped coins but few have stopped to ponder the statistical and physical intricacies of the process. In a preregistered study we collected $350{,}757$ coin flips to test the counterintuitive prediction from a physics model of human coin tossing developed by Diaconis, Holmes, and Montgomery (DHM; 2007). The model asserts that when people flip an ordinary coin, it tends to land on the same side it started -- DHM estimated the probability of a same-side outcome to be about 51%. Our data lend strong support to this precise prediction: the coins landed on the same side more often than not, $\text{Pr}(\text{same side}) = 0.508$, 95% credible interval (CI) [$0.506$, $0.509$], $\text{BF}_{\text{same-side bias}} = 2359$. Furthermore, the data revealed considerable between-people variation in the degree of this same-side bias. Our data also confirmed the generic prediction that when people flip an ordinary coin -- with the initial side-up randomly determined -- it is equally likely to land heads or tails: $\text{Pr}(\text{heads}) = 0.500$, 95% CI [$0.498$, $0.502$], $\text{BF}_{\text{heads-tails bias}} = 0.182$. Furthermore, this lack of heads-tails bias does not appear to vary across coins. Additional exploratory analyses revealed that the within-people same-side bias decreased as more coins were flipped, an effect that is consistent with the possibility that practice makes people flip coins in a less wobbly fashion. Our data therefore provide strong evidence that when some (but not all) people flip a fair coin, it tends to land on the same side it started. Our data provide compelling statistical support for the DHM physics model of coin tossing.
△ Less
Submitted 2 June, 2024; v1 submitted 6 October, 2023;
originally announced October 2023.
-
Servo: Increasing the Scalability of Modifiable Virtual Environments Using Serverless Computing -- Extended Technical Report
Authors:
Jesse Donkervliet,
Javier Ron,
Junyan Li,
Tiberiu Iancu,
Cristina L. Abad,
Alexandru Iosup
Abstract:
Online games with modifiable virtual environments (MVEs) have become highly popular over the past decade. Among them, Minecraft -- supporting hundreds of millions of users -- is the best-selling game of all time, and is increasingly offered as a service. Although Minecraft is architected as a distributed system, in production it achieves this scale by partitioning small groups of players over isol…
▽ More
Online games with modifiable virtual environments (MVEs) have become highly popular over the past decade. Among them, Minecraft -- supporting hundreds of millions of users -- is the best-selling game of all time, and is increasingly offered as a service. Although Minecraft is architected as a distributed system, in production it achieves this scale by partitioning small groups of players over isolated game instances. From the approaches that can help other kinds of virtual worlds scale, none is designed to scale MVEs, which pose a unique challenge -- a mix between the count and complexity of active in-game constructs, player-created in-game programs, and strict quality of service. Serverless computing emerged recently and focuses, among others, on service scalability. Thus, addressing this challenge, in this work we explore using serverless computing to improve MVE scalability. To this end, we design, prototype, and evaluate experimentally Servo, a serverless backend architecture for MVEs. We implement Servo as a prototype and evaluate it using real-world experiments on two commercial serverless platforms, of Amazon Web Services (AWS) and Microsoft Azure. Results offer strong support that our serverless MVE can significantly increase the number of supported players per instance without performance degradation, in our key experiment by 40 to 140 players per instance, which is a significant improvement over state-of-the-art commercial and open-source alternatives. We release Servo as open-source, on Github: https://github.com/atlarge-research/opencraft
△ Less
Submitted 28 April, 2023;
originally announced May 2023.
-
Highly Available Blockchain Nodes With N-Version Design
Authors:
Javier Ron,
César Soto-Valero,
Long Zhang,
Benoit Baudry,
Martin Monperrus
Abstract:
As all software, blockchain nodes are exposed to faults in their underlying execution stack. Unstable execution environments can disrupt the availability of blockchain nodes interfaces, resulting in downtime for users. This paper introduces the concept of N-version Blockchain nodes. This new type of node relies on simultaneous execution of different implementations of the same blockchain protocol,…
▽ More
As all software, blockchain nodes are exposed to faults in their underlying execution stack. Unstable execution environments can disrupt the availability of blockchain nodes interfaces, resulting in downtime for users. This paper introduces the concept of N-version Blockchain nodes. This new type of node relies on simultaneous execution of different implementations of the same blockchain protocol, in the line of Avizienis' N-version programming vision. We design and implement an N-version blockchain node prototype in the context of Ethereum, called N-ETH. We show that N-ETH is able to mitigate the effects of unstable execution environments and significantly enhance availability under environment faults. To simulate unstable execution environments, we perform fault injection at the system-call level. Our results show that existing Ethereum node implementations behave asymmetrically under identical instability scenarios. N-ETH leverages this asymmetric behavior available in the diverse implementations of Ethereum nodes to provide increased availability, even under our most aggressive fault-injection strategies. We are the first to validate the relevance of N-version design in the domain of blockchain infrastructure. From an industrial perspective, our results are of utmost importance for businesses operating blockchain nodes, including Google, ConsenSys, and many other major blockchain companies.
△ Less
Submitted 7 February, 2024; v1 submitted 25 March, 2023;
originally announced March 2023.
-
Challenges of Producing Software Bill Of Materials for Java
Authors:
Musard Balliu,
Benoit Baudry,
Sofia Bobadilla,
Mathias Ekstedt,
Martin Monperrus,
Javier Ron,
Aman Sharma,
Gabriel Skoglund,
César Soto-Valero,
Martin Wittlinger
Abstract:
Software bills of materials (SBOM) promise to become the backbone of software supply chain hardening. We deep-dive into 6 tools and the accuracy of the SBOMs they produce for complex open-source Java projects. Our novel insights reveal some hard challenges for the accurate production and usage of SBOMs.
Software bills of materials (SBOM) promise to become the backbone of software supply chain hardening. We deep-dive into 6 tools and the accuracy of the SBOMs they produce for complex open-source Java projects. Our novel insights reveal some hard challenges for the accurate production and usage of SBOMs.
△ Less
Submitted 7 June, 2023; v1 submitted 20 March, 2023;
originally announced March 2023.
-
Chaos Engineering of Ethereum Blockchain Clients
Authors:
Long Zhang,
Javier Ron,
Benoit Baudry,
Martin Monperrus
Abstract:
In this paper, we present ChaosETH, a chaos engineering approach for resilience assessment of Ethereum blockchain clients. ChaosETH operates in the following manner: First, it monitors Ethereum clients to determine their normal behavior. Then, it injects system call invocation errors into one single Ethereum client at a time, and observes the behavior resulting from perturbation. Finally, ChaosETH…
▽ More
In this paper, we present ChaosETH, a chaos engineering approach for resilience assessment of Ethereum blockchain clients. ChaosETH operates in the following manner: First, it monitors Ethereum clients to determine their normal behavior. Then, it injects system call invocation errors into one single Ethereum client at a time, and observes the behavior resulting from perturbation. Finally, ChaosETH compares the behavior recorded before, during, and after perturbation to assess the impact of the injected system call invocation errors. The experiments are performed on the two most popular Ethereum client implementations: GoEthereum and Nethermind. We assess the impact of 22 different system call errors on those Ethereum clients with respect to 15 application-level metrics. Our results reveal a broad spectrum of resilience characteristics of Ethereum clients w.r.t. system call invocation errors, ranging from direct crashes to full resilience. The experiments clearly demonstrate the feasibility of applying chaos engineering principles to blockchain systems.
△ Less
Submitted 17 June, 2023; v1 submitted 30 October, 2021;
originally announced November 2021.
-
A Software-Repair Robot based on Continual Learning
Authors:
Benoit Baudry,
Zimin Chen,
Khashayar Etemadi,
Han Fu,
Davide Ginelli,
Steve Kommrusch,
Matias Martinez,
Martin Monperrus,
Javier Ron,
He Ye,
Zhongxing Yu
Abstract:
Software bugs are common and correcting them accounts for a significant part of costs in the software development and maintenance process. This calls for automatic techniques to deal with them. One promising direction towards this goal is gaining repair knowledge from historical bug fixing examples. Retrieving insights from software development history is particularly appealing with the constant p…
▽ More
Software bugs are common and correcting them accounts for a significant part of costs in the software development and maintenance process. This calls for automatic techniques to deal with them. One promising direction towards this goal is gaining repair knowledge from historical bug fixing examples. Retrieving insights from software development history is particularly appealing with the constant progress of machine learning paradigms and skyrocketing `big' bug fixing data generated through Continuous Integration (CI). In this paper, we present R-Hero, a novel software repair bot that applies continual learning to acquire bug fixing strategies from continuous streams of source code changes, implemented for the single development platform Github/Travis CI. We describe R-Hero, our novel system for learning how to fix bugs based on continual training, and we uncover initial successes as well as novel research challenges for the community.
△ Less
Submitted 6 December, 2021; v1 submitted 12 December, 2020;
originally announced December 2020.
-
One dimensional cell motility patterns
Authors:
Jonathan E. Ron,
Pascale Monzo,
Nils Gauthier,
Raphael Voituriez,
Nir S. Gov
Abstract:
During migration cells exhibit a rich variety of seemingly random migration patterns, which makes unraveling the underlying mechanisms that control cell migration a daunting challenge. For efficient migration cells require a mechanism for polarization, so that traction forces are produced in the direction of motion, while adhesion is released to allow forward migration. To simplify the study of th…
▽ More
During migration cells exhibit a rich variety of seemingly random migration patterns, which makes unraveling the underlying mechanisms that control cell migration a daunting challenge. For efficient migration cells require a mechanism for polarization, so that traction forces are produced in the direction of motion, while adhesion is released to allow forward migration. To simplify the study of this process cells have been studied when placed along one-dimensional tracks, where single cells exhibit both smooth and stick-slip migration modes. The stick-slip motility mode is characterized by protrusive motion at the cell front, coupled with slow cell elongation, which is followed by rapid retractions of the cell back. In this study, we explore a minimal physical model that couples the force applied on the adhesion bonds to the length variations of the cell and the traction forces applied by the polarized actin retrograde flow. We show that the rich spectrum of cell migration patterns emerges from this model as different \emph{deterministic} dynamical phases. This result suggests a source for the large cell-to-cell variability (CCV) in cell migration patterns observed in single cells over time and within cell populations. The large heterogeneity can arise from small fluctuations in the cellular components that are greatly amplified due to moving the cells' internal state across the dynamical phase transition lines. Temporal noise is shown to drive random changes in the cellular polarization direction, which is enhanced during the stick-slip migration mode. These results offer a new framework to explain experimental observations of migrating cells, resulting from noisy switching between underlying deterministic migration modes.
△ Less
Submitted 8 March, 2020;
originally announced March 2020.