OpenRaiser/Intern-Atlas huggingface dataset:
When Deep Learning Meets Smart Contracts
Venue: arXiv cs.SE 2020
Year: 2020

Ethereum has become a widely used platform to enable secure, Blockchain-based financial and business transactions. However, many identified bugs and vulnerabilities in smart contracts have led to serious financial losses, which raises serious concerns about smart contract security. Thus, there is a significant need to better maintain smart contract code and ensure its high reliability. In this research: (1) Firstly, we propose an automated deep learning based approach to learn structural code embeddings of smart contracts in Solidity, which is useful for clone detection, bug detection and contract validation on smart contracts. We apply our approach to more than 22K solidity contracts collected from the Ethereum blockchain, results show that the clone ratio of solidity code is at around 90%, much higher than traditional software. We collect a list of 52 known buggy smart contracts belonging to 10 kinds of common vulnerabilities as our bug database. Our approach can identify more than 1000 clone related bugs based on our bug databases efficiently and accurately. (2) Secondly, according to developers' feedback, we have implemented the approach in a web-based tool, named SmartEmbed, to facilitate Solidity developers for using our approach. Our tool can assist Solidity developers to efficiently identify repetitive smart contracts in the existing Ethereum blockchain, as well as checking their contract against a known set of bugs, which can help to improve the users' confidence in the reliability of the contract. We optimize the implementations of SmartEmbed which is sufficient in supporting developers in real-time for practical uses. The Ethereum ecosystem as well as the individual Solidity developer can both benefit from our research.
Impact of meta-roles on the evolution of organisational institutions
Venue: arXiv cs.AI 2020
Year: 2020

This paper investigates the impact of changes in agents' beliefs coupled with dynamics in agents' meta-roles on the evolution of institutions. The study embeds agents' meta-roles in the BDI architecture. In this context, the study scrutinises the impact of cognitive dissonance in agents due to unfairness of institutions. To showcase our model, two historical long-distance trading societies, namely Armenian merchants of New-Julfa and the English East India Company are simulated. Results show how change in roles of agents coupled with specific institutional characteristics leads to changes of the rules in the system.
Reasoning about Cardinal Directions between 3-Dimensional Extended Objects using Answer Set Programming
Venue: arXiv cs.AI 2020
Year: 2020

We propose a novel formal framework (called 3D-nCDC-ASP) to represent and reason about cardinal directions between extended objects in 3-dimensional (3D) space, using Answer Set Programming (ASP). 3D-nCDC-ASP extends Cardinal Directional Calculus (CDC) with a new type of default constraints, and nCDC-ASP to 3D. 3D-nCDC-ASP provides a flexible platform offering different types of reasoning: Nonmonotonic reasoning with defaults, checking consistency of a set of constraints on 3D cardinal directions between objects, explaining inconsistencies, and inferring missing CDC relations. We prove the soundness of 3D-nCDC-ASP, and illustrate its usefulness with applications. This paper is under consideration for acceptance in TPLP.
A New Abstraction for Internet QoE Optimization
Venue: arXiv cs.NI 2020
Year: 2020

A perennial quest in networking research is how to achieve higher quality of experience (QoE) for users without incurring more resources. This work revisits an important yet often overlooked piece of the puzzle: what should the QoE abstraction be? A QoE abstraction is a representation of application quality that describes how decisions affect QoE. The conventional wisdom has relied on developing hand-crafted quality metrics (e.g., video rebuffering events, web page loading time) that are specialized to each application, content, and setting. We argue that in many cases, it maybe fundamentally hard to capture a user's perception of quality using a list of handcrafted metrics, and that expanding the metric list may lead to unnecessary complexity in the QoE model without a commensurate gain. Instead, we advocate for a new approach based on a new QoE abstraction called visual rendering. Rather than a list of metrics, we model the process of quality perception as a user watching a continuous "video" (visual rendering) of all the pixels on their screen. The key advantage of visual rendering is that it captures the full experience of a user with the same abstraction for all applications. This new abstraction opens new opportunities (e.g., the possibility of end-to-end deep learning models that infer QoE directly from a visual rendering) but it also gives rise to new research challenges (e.g., how to emulate the effect on visual rendering of an application decision). This paper makes the case for visual rendering as a unifying abstraction for Internet QoE and outlines a new research agenda to unleash its opportunities.
Making Byzantine Consensus Live (Extended Version)
Venue: arXiv cs.DC 2020
Year: 2020

Partially synchronous Byzantine consensus protocols typically structure their execution into a sequence of views, each with a designated leader process. The key to guaranteeing liveness in these protocols is to ensure that all correct processes eventually overlap in a view with a correct leader for long enough to reach a decision. We propose a simple view synchronizer abstraction that encapsulates the corresponding functionality for Byzantine consensus protocols, thus simplifying their design. We present a formal specification of a view synchronizer and its implementation under partial synchrony, which runs in bounded space despite tolerating message loss during asynchronous periods. We show that our synchronizer specification is strong enough to guarantee liveness for single-shot versions of several well-known Byzantine consensus protocols, including HotStuff, Tendermint, PBFT and SBFT. We furthermore give precise latency bounds for these protocols when using our synchronizer. By factoring out the functionality of view synchronization we are able to specify and analyze the protocols in a uniform framework, which allows comparing them and highlights trade-offs.
Path-Based Reasoning over Heterogeneous Networks for Recommendation via Bidirectional Modeling
Venue: arXiv cs.IR 2020
Year: 2020

Heterogeneous Information Network (HIN) is a natural and general representation of data in recommender systems. Combining HIN and recommender systems can not only help model user behaviors but also make the recommendation results explainable by aligning the users/items with various types of entities in the network. Over the past few years, path-based reasoning models have shown great capacity in HIN-based recommendation. The basic idea of these models is to explore HIN with predefined path schemes. Despite their effectiveness, these models are often confronted with the following limitations: (1) Most prior path-based reasoning models only consider the influence of the predecessors on the subsequent nodes when modeling the sequences, and ignore the reciprocity between the nodes in a path; (2) The weights of nodes in the same path instance are usually assumed to be constant, whereas varied weights of nodes can bring more flexibility and lead to expressive modeling; (3) User-item interactions are noisy, but they are often indiscriminately exploited. To overcome the aforementioned issues, in this paper, we propose a novel path-based reasoning approach for recommendation over HIN. Concretely, we use a bidirectional LSTM to enable the two-way modeling of paths and capture the reciprocity between nodes. Then an attention mechanism is employed to learn the dynamical influence of nodes in different contexts. Finally, the adversarial regularization terms are imposed on the loss function of the model to mitigate the effects of noise and enhance HIN-based recommendation. Extensive experiments conducted on three public datasets show that our model outperforms the state-of-the-art baselines. The case study further demonstrates the feasibility of our model on the explainable recommendation task.
Describe What to Change: A Text-guided Unsupervised Image-to-Image Translation Approach
Venue: arXiv cs.CV 2020
Year: 2020

Manipulating visual attributes of images through human-written text is a very challenging task. On the one hand, models have to learn the manipulation without the ground truth of the desired output. On the other hand, models have to deal with the inherent ambiguity of natural language. Previous research usually requires either the user to describe all the characteristics of the desired image or to use richly-annotated image captioning datasets. In this work, we propose a novel unsupervised approach, based on image-to-image translation, that alters the attributes of a given image through a command-like sentence such as "change the hair color to black". Contrarily to state-of-the-art approaches, our model does not require a human-annotated dataset nor a textual description of all the attributes of the desired image, but only those that have to be modified. Our proposed model disentangles the image content from the visual attributes, and it learns to modify the latter using the textual description, before generating a new image from the content and the modified attribute representation. Because text might be inherently ambiguous (blond hair may refer to different shadows of blond, e.g. golden, icy, sandy), our method generates multiple stochastic versions of the same translation. Experiments show that the proposed model achieves promising performances on two large-scale public datasets: CelebA and CUB. We believe our approach will pave the way to new avenues of research combining textual and speech commands with visual attributes.
From the logistic-sigmoid to nlogistic-sigmoid: modelling the COVID-19 pandemic growth
Venue: arXiv cs.NE 2020
Year: 2020

Real-world growth processes, such as epidemic growth, are inherently noisy, uncertain and often involve multiple growth phases. The logistic-sigmoid function has been suggested and applied in the domain of modelling such growth processes. However, existing definitions are limiting, as they do not consider growth as restricted in two-dimension. Additionally, as the number of growth phases increase, the modelling and estimation of logistic parameters becomes more cumbersome, requiring more complex tools and analysis. To remedy this, we introduce the nlogistic-sigmoid function as a compact, unified modern definition of logistic growth for modelling such real-world growth phenomena. Also, we introduce two characteristic metrics of the logistic-sigmoid curve that can give more robust projections on the state of the growth process in each dimension. Specifically, we apply this function to modelling the daily World Health Organization published COVID-19 time-series data of infection and death cases of the world and countries of the world to date. Our results demonstrate statistically significant goodness of fit greater than or equal to 99% for affected countries of the world exhibiting patterns of either single or multiple stages of the ongoing COVID-19 outbreak, such as the USA. Consequently, this modern logistic definition and its metrics, as a machine learning tool, can help to provide clearer and more robust monitoring and quantification of the ongoing pandemic growth process.
Sketching semidefinite programs for faster clustering
Venue: arXiv cs.IT 2020
Year: 2020

Many clustering problems enjoy solutions by semidefinite programming. Theoretical results in this vein frequently consider data with a planted clustering and a notion of signal strength such that the semidefinite program exactly recovers the planted clustering when the signal strength is sufficiently large. In practice, semidefinite programs are notoriously slow, and so speedups are welcome. In this paper, we show how to sketch a popular semidefinite relaxation of a graph clustering problem known as minimum bisection, and our analysis supports a meta-claim that the clustering task is less computationally burdensome when there is more signal.
Can We Spot the "Fake News" Before It Was Even Written?
Venue: arXiv cs.CL 2020
Year: 2020

Given the recent proliferation of disinformation online, there has been also growing research interest in automatically debunking rumors, false claims, and "fake news." A number of fact-checking initiatives have been launched so far, both manual and automatic, but the whole enterprise remains in a state of crisis: by the time a claim is finally fact-checked, it could have reached millions of users, and the harm caused could hardly be undone. An arguably more promising direction is to focus on fact-checking entire news outlets, which can be done in advance. Then, we could fact-check the news before it was even written: by checking how trustworthy the outlets that published it is. We describe how we do this in the Tanbih news aggregator, which makes readers aware of what they are reading. In particular, we develop media profiles that show the general factuality of reporting, the degree of propagandistic content, hyper-partisanship, leading political ideology, general frame of reporting, and stance with respect to various claims and topics.
Cross-Platform Games in Kotlin
Venue: arXiv cs.SE 2020
Year: 2020

This demo paper describes a simple and practical approach to writing cross-platform casual games using the Kotlin programming language. A key aim is to make it much easier for researchers to demonstrate their AI playing a range of games. Pure Kotlin code (which excludes using any Java graphics libraries) can be transpiled to JavaScript and run in a web browser. However, writing Kotlin code that will run without modification both in a web browser and on the JVM is not trivial; it requires strict adherence to an appropriate methodology. The contribution of this paper is to provide such a method including a software design and to demonstrate this working for Tetris, played either by AI or human.
Bert: Scalable Source Routed Multicast for Cloud Data Centers
Venue: arXiv cs.NI 2020
Year: 2020

Traditional IP multicast routing is not suitable for cloud data center (DC) networks due to the need for supporting large numbers of groups with large group sizes. State-of-the-art DC multicast routing approaches aim to overcome the scalability issues by, for instance, taking advantage of the symmetry of DC topologies and the programmability of DC switches to compactly encode multicast group information inside packets, thereby reducing the overhead resulting from the need to store the states of flows at the network switches. However, although these scale well with the number of multicast groups, they do not do so with group sizes, and as a result, they yield substantial traffic control overhead and network congestion. In this paper, we present Bert, a scalable, source-initiated DC multicast routing approach that scales well with both the number and the size of multicast groups, and does so through clustering, by dividing the members of the multicast group into a set of clusters with each cluster employing its own forwarding rules. Compared to the state-of-the-art approach, Bert yields much lesser traffic control overhead by significantly reducing the packet header sizes and the number of extra packet transmissions, resulting from the need for compacting forwarding rules across the switches.
Localizing Patch Points From One Exploit
Venue: arXiv cs.CR 2020
Year: 2020

Automatic patch generation can significantly reduce the window of exposure after a vulnerability is disclosed. Towards this goal, a long-standing problem has been that of patch localization: to find a program point at which a patch can be synthesized. We present PatchLoc, one of the first systems which automatically identifies such a location in a vulnerable binary, given just one exploit, with high accuracy. PatchLoc does not make any assumptions about the availability of source code, test suites, or specialized knowledge of the vulnerability. PatchLoc pinpoints valid patch locations in large real-world applications with high accuracy for about 88% of 43 CVEs we study. These results stem from a novel approach to automatically synthesizing a test-suite which enables probabilistically ranking and effectively differentiating between candidate program patch locations.
Montreal AI Ethics Institute's (MAIEI) Submission to the World Intellectual Property Organization (WIPO) Conversation on Intellectual Property (IP) and Artificial Intelligence (AI) Second Session
Venue: arXiv cs.CY 2020
Year: 2020

This document posits that, at best, a tenuous case can be made for providing AI exclusive IP over their "inventions". Furthermore, IP protections for AI are unlikely to confer the benefit of ensuring regulatory compliance. Rather, IP protections for AI "inventors" present a host of negative externalities and obscures the fact that the genuine inventor, deserving of IP, is the human agent. This document will conclude by recommending strategies for WIPO to bring IP law into the 21st century, enabling it to productively account for AI "inventions". Theme: IP Protection for AI-Generated and AI-Assisted Works Based on insights from the Montreal AI Ethics Institute (MAIEI) staff and supplemented by workshop contributions from the AI Ethics community convened by MAIEI on July 5, 2020.
Vid2Player: Controllable Video Sprites that Behave and Appear like Professional Tennis Players
Venue: arXiv cs.GR 2020
Year: 2020

We present a system that converts annotated broadcast video of tennis matches into interactively controllable video sprites that behave and appear like professional tennis players. Our approach is based on controllable video textures, and utilizes domain knowledge of the cyclic structure of tennis rallies to place clip transitions and accept control inputs at key decision-making moments of point play. Most importantly, we use points from the video collection to model a player's court positioning and shot selection decisions during points. We use these behavioral models to select video clips that reflect actions the real-life player is likely to take in a given match play situation, yielding sprites that behave realistically at the macro level of full points, not just individual tennis motions. Our system can generate novel points between professional tennis players that resemble Wimbledon broadcasts, enabling new experiences such as the creation of matchups between players that have not competed in real life, or interactive control of players in the Wimbledon final. According to expert tennis players, the rallies generated using our approach are significantly more realistic in terms of player behavior than video sprite methods that only consider the quality of motion transitions during video synthesis.
Upper approximating probabilities of convergence in probabilistic coherence spaces
Venue: arXiv cs.LO 2020
Year: 2020

We develop a theory of probabilistic coherence spaces equipped with an additional extensional structure and apply it to approximating probability of convergence of ground type programs of probabilistic PCF whose free variables are of ground types. To this end we define an adapted version of Krivine Machine which computes polynomial approximations of the semantics of these programs in the model. These polynomials provide approximations from below and from above of probabilities of convergence; this is made possible by extending the language with an error symbol which is extensionally maximal in the model.
FedNNNN: Norm-Normalized Neural Network Aggregation for Fast and Accurate Federated Learning
Venue: arXiv cs.LG 2020
Year: 2020

Federated learning (FL) is a distributed learning protocol in which a server needs to aggregate a set of models learned some independent clients to proceed the learning process. At present, model averaging, known as FedAvg, is one of the most widely adapted aggregation techniques. However, it is known to yield the models with degraded prediction accuracy and slow convergence. In this work, we find out that averaging models from different clients significantly diminishes the norm of the update vectors, resulting in slow learning rate and low prediction accuracy. Therefore, we propose a new aggregation method called FedNNNN. Instead of simple model averaging, we adjust the norm of the update vector and introduce momentum control techniques to improve the aggregation effectiveness of FL. As a demonstration, we evaluate FedNNNN on multiple datasets and scenarios with different neural network models, and observe up to 5.4% accuracy improvement.
Cooperative Verification via Collective Invariant Generation
Venue: arXiv cs.SE 2020
Year: 2020

Software verification has recently made enormous progress due to the development of novel verification methods and the speed-up of supporting technologies like SMT solving. To keep software verification tools up to date with these advances, tool developers keep on integrating newly designed methods into their tools, almost exclusively by re-implementing the method within their own framework. While this allows for a conceptual re-use of methods, it requires novel implementations for every new technique. In this paper, we employ cooperative verification in order to avoid reimplementation and enable usage of novel tools as black-box components in verification. Specifically, cooperation is employed for the core ingredient of software verification which is invariant generation. Finding an adequate loop invariant is key to the success of a verification run. Our framework named CoVerCIG allows a master verification tool to delegate the task of invariant generation to one or several specialized helper invariant generators. Their results are then utilized within the verification run of the master verifier, allowing in particular for crosschecking the validity of the invariant. We experimentally evaluate our framework on an instance with two masters and three different invariant generators using a number of benchmarks from SV-COMP 2020. The experiments show that the use of CoVerCIG can increase the number of correctly verified tasks without increasing the used resources
Extension of JPEG XS for Two-Layer Lossless Coding
Venue: arXiv cs.MM 2020
Year: 2020

A two-layer lossless image coding method compatible with JPEG XS is proposed. JPEG XS is a new international standard for still image coding that has the characteristics of very low latency and very low complexity. However, it does not support lossless coding, although it can achieve visual lossless coding. The proposed method has a two-layer structure similar to JPEG XT, which consists of JPEG XS coding and a lossless coding method. As a result, it enables us to losslessly restore original images, while maintaining compatibility with JPEG XS.
Code-based Vulnerability Detection in Node.js Applications: How far are we?
Venue: arXiv cs.SE 2020
Year: 2020

With one of the largest available collection of reusable packages, the JavaScript runtime environment Node.js is one of the most popular programming application. With recent work showing evidence that known vulnerabilities are prevalent in both open source and industrial software, we propose and implement a viable code-based vulnerability detection tool for Node.js applications. Our case study lists the challenges encountered while implementing our Node.js vulnerable code detector.