Reviewerly/exHarmony huggingface dataset:
Research On 3D Face Recognition Based on Deep Learning Reconstruction

To address the problems of insufficient 3D face data, high acquisition costs and low recognition accuracy, this paper proposes a framework of 3D face recognition algorithm based on deep learning reconstruction. Firstly, two-dimensional face features are extracted by High Resolution Network (HRNet), and the reconstructed three-dimensional face is obtained by using Graph Convolutional Network (GCN). Feature matching is completed using the loss function proposed by Arcface to recognise the reconstructed 3D faces. Using 2D face recognition assistance for 3D face recognition, the similarity between the 2D face and the reconstructed 3D face is weighted to improve the problem of face recognition being affected by complex environments. The experimental results show that the recognition accuracy of the 3D face recognition algorithm based on deep learning reconstruction is 95.83%, and the recognition effect is better than that of 2D face recognition alone as well as 3D face recognition alone.
TypeScript’s Evolution: An Analysis of Feature Adoption Over Time

TypeScript is a quickly evolving superset of JavaScript with active development of new features. Our paper seeks to understand how quickly these features are adopted by the developer community. Existing work in JavaScript shows the adoption of dynamic language features can be a major hindrance to static analysis. As TypeScript evolves the addition of features makes the underlying standard more and more difficult to keep up with. In our work we present an analysis of 454 open source TypeScript repositories and study the adoption of 13 language features over the past three years. We show that while new versions of the TypeScript compiler are aggressively adopted by the community, the same cannot be said for language features. While some experience strong growth others are rarely adopted by projects. Our work serves as a starting point for future study of the adoption of features in TypeScript. We also release our analysis and data gathering software as open source in the hope it helps the programming languages community.
SoK: Anonymity of Lightweight Clients in Cryptocurrency Systems

Cryptocurrencies have developed for over a decade, attracting a large number of users. Based on blockchain technologies, cryptocurrency systems disperse the traditional centralized authority, which naturally requires the transaction history is able to be obtained and verified b y a II t he p articipants, thus challenging users' privacy and anonymity. The lightweight client is the tool to use cryptocurrency systems for resource-constrained device owners. Despite many previous works that have analyzed anonymity issues in cryptocurrency and there are many industrial practices and academic efforts of lightweight clients, there is still a lack of comprehensive anonymity analysis for lightweight clients in cryptocurrency systems. This article provides a systematization work of the anonymity issues of cryptocurrency lightweight clients and proposes the personal information vector to characterize the degrees of de-anonymizing users. This article reviews existing industrial practices and academic efforts of lightweight clients and discusses their anonymity issues brought by the operations of users with the model of systematization.
DeMonitor: Monitoring Decentralization in Blockchains using BigQuery

In recent years, the development of blockchain technology has significantly accelerated in many countries. As a fundamental characteristic of blockchain, decentralization merits considerable attention. Nonetheless, a recent trend toward centralization has been noted, in which case the collusion of a few parties could threaten the immutability of blockchains. This paper introduces DeMonitor, a new BigQuery-based monitoring tool for blockchain decentralization. DeMonitor enables multi-dimensional and multi-level measurements of the decentralization of blockchain systems. It facilitates the monitoring and comparison of the degree of decentralization of any BigQuery-supported blockchain system.
DA-YOLOv7: Velocity Spectrum Pickup Based on Domain Adaptation

The automatic picking of velocity spectrum based on object detection has proven its effectiveness, but these models are limited to the current training work area and cannot get effective inference in other work areas. To improve model generalization and achieve the automatic picking of velocity spectrum in other work areas without enough velocity spectrums and labels, our paper designs a Domain Adaptation velocity spectrum picking model DA-YOLOv7, and optimizes the network to improve the picking accuracy. At the same time, in order to address the domain gap, training pseudo images are generated through image-to-image translation and used as inputs for model training. Finally, post process the results through the constrained KNN anomaly detection method, screen and eliminate the outlier, so that the results are closer to the manual picking up. By comparing with the SOTA domain adaptation networks, it is proved that DA- YOLOv7 is superior to the existing model in precision and visualization.
zk-Oracle: Trusted Off-Chain Compute and Storage for Decentralized Applications

Blockchain and Decentralized Applications (DApps) are increasingly important for creating trust and transparency in data storage and computation. However, on-chain transactions are often costly and slow. To overcome this challenge, off-chain nodes can be used to store and compute data. We tackle this challenge by introducing zk-Oracle, which provides an efficient and trusted compute and storage off-chain. zk-Oracle builds on zero-knowledge proof (zk-proof for short) technologies to achieve two goals. First, the computation of data structures from raw data and the corresponding proof generation is improved in terms of performance. Second, the verification on-chain is inexpensive and fast. Our experiments show that we can speed up zk-proof generation by up to 550 times faster than the baseline method.
Exploring Randomness in Blockchains

Nowadays blockchain systems are widely used in many different fields, not only as a kind of payment method, i.e. cryptocurrency, but also as the infrastructure of decentralized applications. A smart contract, which is a program running on the blockchain, e.g. Ethereum, enables decentralized applications without the need for any trusted third party. To deploy a smart contract every miner of the blockchain needs to perform the same function of the smart contract such that they reach a consensus on its final state. Therefore, current blockchain systems are deterministic and non-probabilistic, disallowing any randomness in smart contracts, which is a significant limitation for the applicability of blockchains. A wide range of real-world applications depend on random functions, most obvious examples are games and lottery applications. Various methods have been proposed To address the random number generation problem, such as using a trusted oracle or the block hash. All of those have different disadvantages and advantages. Noticing the lack of concrete guidance for the inclusion of randomness in smart contracts on blockchains, we investigate the state-of-the-art random number generation methods and compare them in several critical aspects including availability, unpredictability, unbiasability, verifiability, scalability, execution time and cost.
Efficient Credential Revocation Using Cryptographic Accumulators

Credentials must be revoked on time to avoid legal issues, information misuse, and potential economic damage. A cryptographic accumulator is the most efficient data structure to record whether a credential is valid. However, credential holders must update their verification proof, or witness whenever a credential is revoked in the system. The witness update is expensive and not feasible for applications with limited computational power, such as mobile phones. We propose a credential revocation management framework that removes the need for witness updates, while still utilising the benefits of the cryptographic accumulator. We use three accumulators, the notion of epoch and replication of accumulator transition from one state to another for verification. The evaluation shows our method is efficient and suitable for credential holders with limited computing resources.
Considering Chainless Interoperability across Many Parachains

Since the initial appearance of Bitcoin, a wide variety of blockchain projects have been proposed. With an increased demand for exchanging cryptocurrencies between blockchains, it has become important for blockchains to achieve crosschain interoperability, which is the property of storing and fetching information from each other on multiple blockchains. However, public blockchains have a scalability problem of an extremely slow transaction processing capacity. Based on this background, we have considered solving the scalability problem by enhancing the crosschain interoperability. In this paper, we propose a chainless multi-layer consensus, which is a more decentralized method compared to existing blockchain projects when taking into consideration the interoperability, including Polkadot and Cosmos. We conducted some experiments using our implemented node program to evaluate the latency times required to achieve a consensus. As a result of the experiments using a large-scale network constructed with more than 100 parachains, we confirmed that the latency times tend to increase superlinearly when the number of parachains increases to parallel transaction processing. By applying this result, we can estimate the blockchain settings for safely executing a chainless multi-layer consensus while achieving a practical transaction processing capacity.
A Closer Look at Cross-Domain Maximal Extractable Value for Blockchain Decentralisation

In the current literature, many solutions for solving blockchain scaling have been tried historically, whereas most of them usually may compromise the decentralisation. Ethereum has chosen to scale by switching to Proof of Stake consensus and adding data sharding to allow Layer 2 execution to be cheaper. However, in the light of cross-domain Maximal Extractable Value (MEV), even this strategy may have centralising forces built-in. In this work, we focus on cross-domain MEV and try to identify cross domain arbitrage. In particular, we extract Uniswap data from four different domains and provide an initial analysis of how to identify cross domain arbitrages.
Towards Formal Repair and Verification of Industry-scale Deep Neural Networks

There is a strong demand in the industry to update a deep neural network (DNN) as quickly, safely, and user-driven as possible for fixing critical prediction failure cases found in a safety-critical ML-enabled system for continuous quality assurance. DNN repair and equivalence verification (hereinafter called “verification”) with formal methods are promising technologies for this demand because they can guarantee desirable properties, such as repair “locality (i.e., predictions do not degrade for known cases not subject to repair)” and verification “detectability (i.e., a degraded unknown case is found if it truly exists in the search space)”. However, the industrial application of these technologies is difficult, mainly due to the increased computational load for mathematical optimization against a large number of DNN parameters. In this paper, we describe a challenge and new solution with our example to realize formal repair and verification of industry-scale DNNs. In this solution, repair and verification target only sparse parameter changes in a particular DNN layer and the space of inputs to that layer (i.e., feature space). By specializing mathematical optimization in repair and verification, the computational load is dramatically reduced. On the other hand, the solution also introduces new challenges regarding using feature space. We show in a practical and quantifiable way how to reasonably apply formal repair and verification and the specific challenges and issues involved, especially for the industry-scale DNN for image classification with live-action images.
A Multi-faceted Vulnerability Searching Website Powered by Aspect-level Vulnerability Knowledge Graph

Vulnerabilities can cause damages to users. With heavy dependencies among software, it is particularly important to safely select the dependent libraries and maintain security of software in a targeted manner, which require deep understanding of potential weakness of third-party libraries. Current vulnerability advisories only support rough-level description-based vulnerability information searching, which cannot cater the needs of in-depth investigation and understanding of vulnerabilities. Driven by the real needs, we propose a vulnerability aspect-level vulnerability knowledge graph integrating diversified vulnerability key aspect information from heterogeneous vulnerability databases. Based on the knowledge graph, we implement a multi-faceted vulnerability searching website for statistics and details acquiring of vulnerabilities. Our use cases demonstrate the usefulness of our knowledge graph and website to the software security. Demo Video https://youtu.be/vYSy7MYIU48 Source Code: https://github.com/sjmsjmdsg/Multi_faceted_Web Website: see GitHub repository
Bitcoin Double-Spending Attack Detection using Graph Neural Network

Bitcoin transactions include unspent transaction outputs (UTXOs) as their inputs and generate one or more newly owned UTXOs at specified addresses. Each U TXO can only be used as an input in a transaction once, and using it in two or more different transactions is referred to as a double-spending attack. Ultimately, due to the characteristics of the Bitcoin protocol, double-spending is impossible. However, problems may arise when a transaction is considered final even though i ts finality has not been fully guaranteed in order to achieve fast payment. In this paper, we propose an approach to detecting Bitcoin double-spending attacks using a graph neural network (GNN). This model predicts whether all nodes in the network contain a given payment transaction in their own memory pool (mempool) using information only obtained from some observer nodes in the network. Our experiment shows that the proposed model can detect double-spending with an accuracy of at least 0.95 when more than about 1% of the entire nodes in the network are observer nodes.
Evolutionary Computation and Reinforcement Learning for Cyber-physical System Design

Cyber-physical systems (CPSs) are designed to in-tegrate computation and physical processes through constantly interacting with the physical environment. The complexity and uncertainty of the environment often come up with unpredictable situations, which place high demands on the dynamic adaptability of CPSs. Further, as the environment evolves, the CPS needs to constantly evolve itself to adapt to the changing environment. This paper presents a research plan that aims to develop a novel framework to address CPS design challenges under uncertain environments. We propose to utilize evolutionary computation and reinforcement learning techniques to design control policies that can adapt to the dynamic changes and uncertainties of the environment. Further, novel testing and evaluation approaches that can generate test cases while adapting to dynamic changes in the system and the environment will be explored.
Method Chaining Redux: An Empirical Study of Method Chaining in Java, Kotlin, and Python

There are possible benefits and drawbacks to chaining methods together, as is often done in fluent APIs. A prior study investigated how Java developers chain methods in over 2.7k open-source projects. That study observed, for the dataset analyzed, that the use of method chaining in Java is popular and seems to be increasing over time. That study however was limited to a smaller sample of Java projects, and it is also not clear if the results generalize to other languages. In this work, we first replicate the prior results by building a similar dataset and our own analysis scripts. We then extend those results by analyzing a much larger dataset of 89k Java projects and generalizing to other programming languages by analyzing 26k Kotlin projects and 98k Python projects. The results show chaining is more popular in Java and Kotlin than Python, chaining use in Kotlin is not growing, and Python sees more use in non-testing code.
Dealing with Popularity Bias in Recommender Systems for Third-party Libraries: How far Are We?

Recommender systems for software engineering (RSSEs) assist software engineers in dealing with a growing information overload when discerning alternative development solutions. While RSSEs are becoming more and more effective in suggesting handy recommendations, they tend to suffer from popularity bias, i.e., favoring items that are relevant mainly because several developers are using them. While this rewards artifacts that are likely more reliable and well-documented, it would also mean that missing artifacts are rarely used because they are very specific or more recent. This paper studies popularity bias in Third-Party Library (TPL) RSSEs. First, we investigate whether state-of-the-art research in RSSEs has already tackled the issue of popularity bias. Then, we quantitatively assess four existing TPL RSSEs, exploring their capability to deal with the recommendation of popular items. Finally, we propose a mechanism to defuse popularity bias in the recommendation list. The empirical study reveals that the issue of dealing with popularity in TPL RSSEs has not received adequate attention from the software engineering community. Among the surveyed work, only one starts investigating the issue, albeit getting a low prediction performance.
Wasmizer: Curating WebAssembly-driven Projects on GitHub

WebAssembly has attracted great attention as a portable compilation target for programming languages. To facilitate in-depth studies about this technology, we have deployed Wasmizer, a tool that regularly mines GitHub projects and makes an up-to-date dataset of WebAssembly sources and their binaries publicly available. Presently, we have collected 2540 C and C++ projects that are highly-related to WebAssembly, and built a dataset of 8915 binaries that are linked to their source projects. To demonstrate an application of this dataset, we have investigated the presence of eight WebAssembly compilation smells in the wild.
MuTCR: Test Case Recommendation via Multi-Level Signature Matching

Off-the-shelf test cases provide developers with testing knowledge for their reference or reuse, which can help them reduce the effort of creating new test cases. Test case recommendation, a major way of achieving test case reuse, has been receiving the attention of researchers. The basic idea behind test case recommendation is that two similar test targets (methods under test) can reuse each other’s test cases. However, existing test case recommendation techniques either cannot be used in the cross-project scenario, or have low performance in terms of effectiveness and efficiency. In this paper, we propose a novel test case recommendation technique based on multi-level signature matching. The proposed multi-level signature matching consists of three matching strategies with different strict levels, including level-0 exact matching, level-1 fuzzy matching, and level-2 fuzzy matching. For the query test target given by the developer, level-0 exact matching helps to retrieve exact recommendations (test cases), while level-1 and level-2 fuzzy matching contribute to discovering richer relevant recommendations. We further develop a prototype called MuTCR for test case recommendation. We conduct comprehensive experiments to evaluate the effectiveness and efficiency of MuTCR. The experimental results demonstrate that compared with the state-of-the-art, MuTCR can recommend accurate test cases for more test targets. MuTCR is faster than the best baseline by three times based on the time cost. The user study is also performed to prove that the test cases recommended by MuTCR are useful in practice.
A Semi-shared Hierarchical Joint Model for Sequence Labeling

Multi-task learning is an essential yet practical mechanism for improving overall performance in various machine learning fields. Owing to the linguistic hierarchy, the hierarchical joint model is a common architecture used in natural language processing. However, in the state-of-the-art hierarchical joint models, higher-level tasks only share bottom layers or latent representations with lower-level tasks thus ignoring correlations between tasks at different levels, i.e., lower-level tasks cannot be instructed by the higher features. This paper investigates how to advance the correlations among various tasks supervised at different layers in an end-to-end hierarchical joint learning model. We propose a semi-shared hierarchical model that contains cross-layer shared modules and layer-specific modules. To fully leverage the mutual information between various tasks at different levels, we design four different dataflows of latent representations between the shared and layer-specific modules. Extensive experiments on CTB-7 and CONLL-2009 show that our semi-shared approach outperforms basic hierarchical joint models on sequence tagging while having much fewer parameters. It inspires us that the proper implementation of the cross-layer sharing mechanism and residual shortcuts is promising to improve the performance of hierarchical joint natural language processing models while reducing the model complexity.
Performance Analysis with Bayesian Inference

Statistics are part of any empirical science, and performance analysis is no exception. However, for non-statisticians, picking the right statistical tool to answer a research question can be challenging; each statistical tool comes with a set of assumptions, and it is not clear to researchers what happens when those assumptions are violated. Bayesian statistics offers a framework with more flexibility and with explicit assumptions. In this paper, we present a method to analyse benchmark results using Bayesian inference. We demonstrate how to perform a Bayesian analysis of variance (ANOVA) to estimate what factors matter most for performance, and describe how to investigate what factors affect the impact of optimizations. We find the Bayesian model more flexible, and the Bayesian ANOVA’s output easier to interpret.
Crypto Assets Custody: Taxonomy, Components, and Open Challenges

Custody plays a fundamental role for organizations and individuals seeking to access crypto assets (e.g., cryptocurrencies) and decentralized finance (DeFi) applications. Custodians store private keys and approve and sign transactions. Crypto asset transactions must be performed efficiently and securely to prevent a ny losses or theft of the assets. This paper presents a survey and taxonomy of the state-of-the-art solutions for this custody problem, highlighting their various features, as well as the open challenges that must be addressed.