Reviewerly/exHarmony huggingface dataset:
Poster: Distribution-aware Fairness Test Generation

This work addresses how to validate group fairness in image recognition software. We propose a distribution-aware fairness testing approach (called DISTROFAIR) that systemati-cally exposes class-level fairness violations in image classifiers via a synergistic combination of out-of-distribution (OOD) testing and semantic-preserving image mutation. Distrofairauto-matically learns the distribution (e.g., number/orientation) of objects in a set of images and systematically mutates objects in the images to become OOD using three semantic-preserving image mutations - object deletion, object insertion and object rotation. We evaluate Distrofair with two well-known datasets (CityScapes and MS-COCO) and three commercial image recog-nition software (namely, Amazon Rekognition, Google Cloud Vision and Azure Computer Vision) and find that at least 21 % of images generated by Distrofair result in class-level fairness violations. Distrofair is up to 2.3x more effective than the baseline (generation of images within the observed distribution). Finally, we evaluated the semantic validity of our approach via a user study with 81 participants, using 30 real images and 30 corresponding mutated images generated by Distrofair and found that the generated images are 80 % as realistic as the original images.
The Risk-Taking Software Engineer: A Framed Portrait

Background: Risk-taking is prevalent in a host of activities performed by software engineers on a daily basis, yet there is scant research on it. Aims and Method: We study if software engineers’ risk-taking is affected by framing effects and by software engineers’ personality. To this end, we perform a survey experiment with 124 software engineers. Results: We find that framing substantially affects their risk-taking. None of the "Big Five" personality traits are related to risk-taking in software engineers after correcting for multiple testing. Conclusions: Software engineers and their managers must be aware of framing effects and account for them properly.
GIRT-Data: Sampling GitHub Issue Report Templates

GitHub’s issue reports provide developers with valuable information that is essential to the evolution of a software development project. Contributors can use these reports to perform software engineering tasks like submitting bugs, requesting features, and collaborating on ideas. In the initial versions of issue reports, there was no standard way of using them. As a result, the quality of issue reports varied widely. To improve the quality of issue reports, GitHub introduced issue report templates (IRTs), which pre-fill issue descriptions when a new issue is opened. An IRT usually contains greeting contributors, describing project guidelines, and collecting relevant information. However, despite of effectiveness of this feature which was introduced in 2016, only nearly 5% of GitHub repositories (with more than 10 stars) utilize it. There are currently few articles on IRTs, and the available ones only consider a small number of repositories.In this work, we introduce GIRT-DATA, the first and largest dataset of IRTs in both YAML and Markdown format. This dataset and its corresponding open-source crawler tool are intended to support research in this area and to encourage more developers to use IRTs in their repositories. The stable version of the dataset contains 1,084,300 repositories and 50,032 of them support IRTs. The stable version of the dataset and crawler is available here: https://github.com/kargaranamir/girt-data
Some Investigations of Machine Learning Models for Software Defects

Software defect prediction (SDP) and software defect severity prediction (SDSP) models alleviate the burden on the testers by providing the automatic assessment of a newly-developed program in a short amount of time. The research on defect prediction or defect severity prediction is primarily focused on proposing classification frameworks or addressing challenges in developing prediction models; however, the primary yet significant gap in the literature is interpreting the predictions in terms of project objectives. Furthermore, the literature indicates that these models have poor predictive performance. In this thesis, we investigate the use of a diversity-based ensemble learning mechanism for the cross-project defect prediction (CPDP) task and self-training semi-supervised learning for the software defect severity prediction, respectively, for obtaining better prediction performances. We also propose a few project-specific performance measures to interpret the predictions in terms of project objectives (such as a reduction in expenditure, time, and failure chances). Through the empirical analysis, we observe that (1) the diversity-based ensemble learning mechanism improves the prediction performance in terms of both the traditional and proposed measures, and (2) the self-training semi-supervised learning model has a positive impact on predicting the severity of a defective module. Once a potential prediction model is developed, any software organisation may utilise its services. How can an organisation showcase their trust in the developed prediction model? To this end, we investigate the feasibility of SDP models in real-world testing environments by providing proofs using the probabilistic bounds. The proofs summarised show that even if the prediction model has a lower failure probability, the probability of obtaining fewer failures in SDP-tested software than in similar but manually tested software is still exponentially small. This result enables the researchers in SDP to avoid proposing prediction models.
Cross-Project setting using Deep learning Architectures in Just-In-Time Software Fault Prediction: An Investigation

The prediction of whether a software change is fault-inducing or not in the software system using various learning methods, the study concerned in Just-In-Time Software Fault Prediction (JIT-SFP). Building such predicting model requires adequate training data. However, there needs to be more training data at the beginning of the software system. Cross-Project (CP) setting can subjugate this challenge by employing data from different software projects. It can achieve similar predictive performance to Within-Project (WP) fault prediction. It is still being determined to what level the CP training data can be useful in such a situation. Furthermore, it also needs to be discovered whether CP data are helpful in the initial phase of fault detection, and when there is an inadequate WP train set, CP could be beneficial to extend. This article deals with such investigations in real software projects. We proposed a new method by levering a deep belief network and long short-term memory called JITCP-Predictor. Out of ten, the proposed model significantly outperforms every ten project benchmark methods, and it is superior from 10.63% to 136.36% and 7.04% to 35.71% in terms of MCC and F-Measure, respectively. The mean values of MCC and F-Measure produced by JITCP-Predictor are 0.52 ± 0.021 and 0.76 ± 0.76, respectively. We also found that the proposed model is more suitable for large and moderate-size projects. The proposed model avoids class imbalance and overfitting problems and takes reasonable training costs.
Cross-Referencing Scheme to Ensure NFT and Platform Linkage Unaffected by Forking

One blockchain technological update thus far includes smart contract functionality implemented in Ethereum. One of its use cases, the ERC721 Non-Fungible Token Standard (NFT), has gained attention from current industries. NFTs demonstrated digital content transactions with guaranteed uniqueness using unchangeable timestamp on the blockchain. However, the functional limitations of NFT assurance are rarely in focus, and contrary to excessive NFT user expectations, security risks that must be addressed include complex issues. One such risk is NFT fraudulent trading using forged content. Specifically, hard forks in blockchains are extremely important triggers for attacks, as they allow the exact same NFT to be operated on multiple chains. This could depreciate NFT value, and presents a risk that must be addressed to ensure sound NFT transactions. In this study, NFT operational issues in the case of a blockchain fork are summarized, and a cross-referencing scheme using network identities is proposed to prevent the impact of a hard fork.
Bow-tie structure of the Polkadot transfer network

While there are many data collection and analysis tools for Ethereum - the largest smart contract blockchain by market capitalization, development of similar tools for other smart contract blockchains is lacking. Reasons for this are non-existent standards, changing specifications d ue t o rapid development, common usage of the off-chain storage, and lack of developers. One of such blockchains is Polkadot - a layer- zero blockchain featuring a single relay chain whose role is to secure smart contract transactions on multiple other parachains. In this paper we describe a data collection pipeline for Polkadot blockchain that we then use to perform an analysis of the bow-tie structure of its transfer network over time, with special emphasis on the role of nominators and validators in this structure. We find evidence that t he Polkadot ecosystem iss lowly maturing from a system dominated by nominators and validators, both of which require some technical skill as well as willingness to bond sufficient amount of funds, into a system increasingly populated by regular users using the financial services of Polkadot.
Intertwining Communities: Exploring Libraries that Cross Software Ecosystems

Using libraries in applications has helped developers reduce the costs of reinventing already existing code. However, an increase in diverse technology stacks and third-party library usage has led developers to inevitably switch technologies and search for similar libraries implemented in the new technology. To assist with searching for these replacement libraries, maintainers have started to release their libraries to multiple ecosystems. Our goal is to explore the extent to which these libraries are intertwined between ecosystems. We perform a large-scale empirical study of 1.1 million libraries from five different software ecosystems, i.e., PyPI, CRAN, Maven, RubyGems, and NPM, to identify 4,146 GitHub repositories. As a starting point, insights from the study raise implications for library maintainers, users, contributors, and researchers into understanding how these different ecosystems are becoming more intertwined with each other.
Blockchain Network Studies Enabled by SimBlock

A blockchain network simulator SimBlock was developed to enable large-scale blockchain researches. Since it was released in June 2019, it has facilitated number of studies on blockchain performance and security. We demonstrate how such a simulator enables blockchain studies by showing experiments running on SimBlock.
Automated Feature Document Review via Interpretable Deep Learning

A feature in the agile methodology is a function of a product that delivers business value and meets stakeholders' requirements. Developers compile and store the content of features in a structured feature document. Feature documents play a critical role in controlling software development at a macro level. It is therefore important to ensure the quality of feature documents so that defects are not introduced at the outset. Manual review is an effective activity to ensure quality, but it is human-intensive and challenging. In this paper, we propose a feature document review tool to automate the process of manual review (quality classification, and suggestion generation) based on neural networks and interpretable deep learning. Our goal is to reduce human effort in reviewing feature documents and to prompt authors to craft better feature documents. We have evaluated our tool on a real industrial project from ZTE Corporation. The results show that our quality classification model achieved 75.6% precision and 94.4% recall for poor quality feature documents. For the suggestion generation model, about 70% of the poor quality feature documents could be improved to the qualified level in three rounds of revision based on the suggestions. User feedback shows that our tool helps users save an average of 15.9% of their time.
Task Context: A Tool for Predicting Code Context Models for Software Development Tasks

s- A code context model consists of code elements and their relations relevant to a development task. Previous studies found that the explicit formation of code context models can benefit software development practices, e.g., code navigation and searching. However, little focus has been put on how to proactively form code context models. In this paper, we propose a tool named Task Context for predicting code context models and implement it as an Eclipse plug-in. Task Context uses the abstract topological patterns of how developers investigate structurally connected code elements when performing tasks. The tool captures the code elements navigated and searched by a developer to construct an initial code context model. The tool then applies abstract topological patterns with the initial code context model as input and recommends code elements up to 3 steps away in the code structure from the initial code context model. The experimental results indicate that our approach can predict code context models effectively, with a significantly higher F-measure than the state-of-the-art (0.57 over 0.23 on average). Furthermore, the user study suggests that our tool can help practitioners complete development tasks faster and more often as compared to standard Eclipse mechanism. Demo video: https://youtu.be/3yEPh6uvHI8 Repository: https://github.com/icsoft-zju/Task_Context
PPoS : Practical Proof of Storage for Blockchain Full Nodes

Blockchain is a distributed and immutable ledger managed by all participants. The full nodes which store the entire ledger play an essential role in managing it in a transparent and decentralised manner. However, it is difficult to verify that full nodes store the entire ledger in their dedicated storage due to Sybil, outsourcing, or generation attacks. Existing work on proving storage for cloud computing and remote data storage applications has high latency for decryption, and its impact on decentralisation is unclear, rendering it impractical for use in blockchain. In this paper, we propose a decentralised Practical Proof of Storage (PPoS) solution for blockchain full nodes with asymmetric latencies for encryption and decryption, which introduces a chained encryption and decryption architecture. To generate a unique replica of a block, each full node performs encryption with its own address and a previously encrypted block, storing the unique block in its dedicated storage. In PPoS, encryption is expensive and time consuming, enabling it to detect outsourcing and generation attacks and to deter Sybil attacks. Simultaneously, decryption is about 25 times faster than encryption, resulting in minimal performance overhead. The proof process is also decentralised by randomly selecting provers, verifiers, and encrypted blocks. Our experiments use up to 720 real BitCoin blocks to evaluate the performance and quantify the decentralisation of PPoS. Our results show that PPoS's asymmetric design reduces decryption time 25-fold over existing approaches, while maintaining a high degree of decentralisation, confirming its suitability for blockchain full nodes.
Blockchain-based SLA monitoring for 6G: Inter-Provider Agreements as a Use Case

This poster presents a use case for smart contract-based inter-provider agreements and Service Level Agreement (SLA) monitoring for 6G networks. We use chainlink oracle and InterPlanetary File System (IPFS) to monitor SLA data logs. We also provide experimental evaluations of two approaches: raw data log access in IPFS and chainlink-based log access. To understand the performance and feasibility of the proposed approaches on a public blockchain, the proposed framework is deployed on the Ethereum and Polygon testnets to measure the cost and latency for both approaches. We measure the latency as well as the total cost for comparison purposes. The maximum cost observed for the first approach is ≈ 1.4 USD, and the maximum latency observed with the first approach is ≈4 seconds in the Polygon testnet and 12 ~ 14 seconds in the Ethereum testnet. However, the second approach's latency is 30 ~ 60 seconds.
Judging Adam: Studying the Performance of Optimization Methods on ML4SE Tasks

Solving a problem with a deep learning model requires researchers to optimize the loss function with a certain optimization method. The research community has developed more than a hundred different optimizers, yet there is scarce data on optimizer performance in various tasks. In particular, none of the benchmarks test the performance of optimizers on source code-related problems. However, existing benchmark data indicates that certain optimizers may be more efficient for particular domains. In this work, we test the performance of various optimizers on deep learning models for source code and find that the choice of an optimizer can have a significant impact on the model quality, with up to two-fold score differences between some of the relatively well-performing optimizers. We also find that RAdam optimizer (and its modification with the Lookahead envelope) is the best optimizer that almost always performs well on the tasks we consider. Our findings show a need for a more extensive study of the optimizers in code-related tasks, and indicate that the ML4SE community should consider using RAdam instead of Adam as the default optimizer for code-related deep learning tasks.
A Referable NFT Scheme

Existing NFTs confront restrictions of one-time incentive and product isolation. Creators cannot obtain benefits once having sold their NFT products due to the lack of relationships across different NFTs, which results in controversial profit sharing. This paper proposes a referable NFT solution to extend the incentive sustainability of NFTs. We construct the referable NFT (rNFT) network to increase exposure and enhance the referring relationship of inclusive items. We introduce the DAG topology to generate directed edges between each pair of NFTs with corresponding weights and labels for advanced usage. We accordingly implement and propose the scheme under Ethereum Improvement Proposal (EIP) standards, indexed in EIP-5521. Further, we provide the mathematical formation to analyze the utility for each rNFT participant. The discussion gives general guidance among multi-dimensional parameters. The solution, as a result, shape the recognition of potential values hidden in isolated NFTs and raise the interest of communities toward the discovery of NFT derivatives. To our knowledge, this is the first study to build a referable NFT network, explicitly showing the virtual connections among NFTs.
Whistleblowing and Tech on Twitter

From airports to banks, healthcare, space crafts, and even amazon services, technology impacts almost every aspect of today’s life. If wrongdoings occur within or in relation to technology, they can have big implications on individuals, groups of people, or society as a whole. Whistleblowers are insiders who expose such wrongdoings— eventually stopping misconducts, such as fraud, endangerment to public health and safety, or damage to the environment. Twitter is a microblogging service that allows millions of users to share their views with people distributed all over the world on a daily basis. Tweets have the potential to contain useful information about whistleblowing in tech, from the general public and whistleblowers. However, until now this point has not been researched.To fill this gap, we conducted an exploratory study on technology-related whistleblowing tweets by manually analysing tweets, utilising descriptive statistics, and machine learning techniques. We mined 7,400 tweets from whistleblowers themselves, as well as news and opinions about certain whistleblowers and whistleblowing cases. Although our results show that only 30% of the tweets in our sample dataset (obtained through specific search terms) contained relevant information about whistleblowing in technology, our analysis shows that tweets provide valuable information for both researchers and companies to understand the public opinion regarding whistleblowing cases. Furthermore, we found that machine learning techniques are promising means for extracting information about whistleblowing in tech from the vast stream of tweets.
Braess Paradox in Layer-2 Blockchain Payment Networks

Layer-2 is a popular approach to deal with the scalability limitation of blockchain networks. It allows users to execute transactions without committing them to the blockchain by relying on predefined payment channels. Users together with the payment channels form a graph, known as the offchain network topology. Transactions between pairs of users without a connecting channel are also supported through a path of multiple channels. Serving such transactions involves fees paid to intermediate users. In this paper we uncover the potential existence of the Braess paradox in payment networks: Sometimes establishing a new payment channel can increase the fees paid for serving some fixed transactions. We study conditions for the paradox to appear and provide indications for the appearance of the paradox based on real data of Bitcoin's Lightning, a popular layer-2 network. Last, we discuss methods to mitigate the paradox upon establishing a new payment channel.
Proof of Directed Guiding Gradients: A New Proof of Learning Consensus Mechanism with Constant-time Verification

Although PoW has achieved great success over the last decade, its core problem, energy waste, has not been well answered. The purpose of PoL is to use the wasted computing power in another field that is also consuming massive computing power, training large-scale deep learning models. The success of PoW is largely due to that its proof can be verified in constant time. In this paper, we propose a new method for replacing cryptopuzzles with large-scale model training based on the observation of the similarity between the gradient changes during model training and hash functions. Our new consensus mechanism can verify a proof in constant time. Experiments show that the performance of our proposed new consensus mechanism meets expectations.
Assessing Cognitive Load in Software Development with Wearable Sensors

The understandability of source code influences software quality, and being able to measure it could greatly benefit software development and maintenance. There is an ongoing debate about the validity of using software metrics for this purpose. In this context, software developers' cognitive load during code comprehension is increasingly often investigated. The concept of cognitive load provides information about the usage of mental resources. Previous research has shown that cognitive load is derivable from physiological measurements. This paper proposes using wearable body sensors that can be easily deployed in software development settings and for empirical software engineering research to provide a cognitive perspective on code understandability and software metrics.