Reviewerly/exHarmony huggingface dataset:
Property-Based Automated Repair of DeFi Protocols

Programming errors enable security attacks on smart contracts, which are used to manage large sums of financial assets. Automated program repair (APR) techniques aim to reduce developers’ burden of manually fixing bugs by automatically generating patches for a given issue. Existing APR tools for smart contracts focus on mitigating typical smart contract vulnerabilities rather than violations of functional specification. However, in decentralized financial (DeFi) smart contracts, the inconsistency between intended behavior and implementation translates into the deviation from the underlying financial model, resulting in monetary losses for the application and its users. In this work, we propose DeFinery—a technique for automated repair of a smart contract that does not satisfy a user-defined correctness property. To explore a larger set of diverse patches while providing formal correctness guarantees w.r.t. the intended behavior, we combine search-based patch generation with semantic analysis of an original program for inferring its specification. Our experiments in repairing 9 real-world and benchmark smart contracts prove that DeFinery efficiently generates high-quality patches that cannot be found by other existing tools.
Towards Effective Static Analysis Approaches for Security Vulnerabilities in Smart Contracts

The growth in the popularity of smart contracts has been accompanied by a rise in security attacks targeting smart contracts, which have led to financial losses of millions of dollars and erosion of trust. To enable developers discover vulnerabilities in smart contracts, several static analysis tools have been proposed. However, despite the numerous bug-finding tools, security vulnerabilities abound in smart contracts, and developers rely on finding vulnerabilities manually. Our goal in this dissertation study is to expand the space of security vulnerabilities detection by proposing effective static analysis approaches for smart contracts. We study the effectiveness of the existing static analysis tools and propose solutions for security vulnerabilities detection relying on analyzing the dependency of the contract code on user inputs that lead to security vulnerabilities. Our results of evaluating static analysis tools show that existing static tools for smart contracts have significant false-negatives and false-positives. Further, the results show that our first vulnerability detection approach achieves a significant improvement in the effectiveness of detecting vulnerabilities compared to the prior work.
Towards Improving Code Review Effectiveness Through Task Automation

Modern code review (MCR) is a widely adopted software quality assurance practice in the contemporary software industry. As software developers spend significant amounts of time on MCR activities, even a small improvement in MCR effectiveness will incur significant savings. As most of the MCR activities are heavily dependent on manual work, there are significant opportunities to improve effectiveness through tool support. To address the challenges, the primary objective of my proposed dissertation is to improve the effectiveness of modern code reviews with the automation of reviewer selection and bug identification. On this goal, I propose three studies. The first study aims to investigate the notion of useful MCRs and factors influencing MCR usefulness. The second study aims to develop a reviewer recommendation system that leverages a reviewer’s prior history of providing useful feedback under similar contexts. Finally, the third study aims to improve the effectiveness of static analysis tools by leveraging bugs identified during prior reviews.
Hierarchical nearest neighbor descent, in-tree, and clustering

Recently, we have proposed a physically-inspired graph-theoretical method, called the Nearest Descent (ND), which is capable of organizing a dataset into an in-tree graph structure. Due to some beautiful and effective features, the constructed in-tree proves well-suited for data clustering. Although there exist some undesired edges (i.e., the inter-cluster edges) in this in-tree, those edges are usually very distinguishable, in sharp contrast to the cases in the famous Minimal Spanning Tree (MST). Here, we propose another graph-theoretical method, called the Hierarchical Nearest Neighbor Descent (HNND). Like ND, HNND also organizes a dataset into an in-tree, but in a more efficient way. Consequently, HNND-based clustering (HNND-C) is more efficient than ND-based clustering (ND-C) as well. This is well proved by the experimental results on five high-dimensional and large-size mass cytometry datasets. The experimental results also show that HNND-C achieves overall better performance than some state-of-the-art clustering methods.
Towards a Live Environment for Code Refactoring

Refactoring code manually can be complex. Several refactoring tools were developed to mitigate the effort needed to create more readable, adaptable, and maintainable code. However, most of them continue to provide late feedback, assistance, and support on how developers should improve their software. That’s where the concept of Live Refactoring comes in. We believe the immediate and continuous suggestion of refactoring candidates to the code will help reduce this problem. Therefore, we prototyped a Live Refactoring Environment that identifies, recommends, and applies Extract Method refactorings. We carried out an empirical experiment that showed us that our approach helped developers reach better code, with more quality, improving their refactoring experience.
A model for automatic generating reusable code from multiple GUIs

In the context of user interface-oriented software development, the task of translating a GUI into code requires sufficient knowledge to identify visual elements and how to code it for one or more platforms. In addition, other issues are important, such as reuse, componentization and understanding of the behavior of trivial visual elements. This is a repetitive and tedious task that could be automated. To perform automation this task many challenges depend on the starting point (hand-draw or hi-fidelity images), the detection and recognition of visual elements from images, their data representation and the code generation itself. This work aims to build a model that makes it possible to automate the process of code generation from images so that it is possible to infer which visual elements are reusable across a range of GUIs and in such a way that you can navigate between GUIs in the same application. This study is being conducted through a DSR (Design Science Research) and so far some classes of problems and artifacts have been found that help to understand how to extract and represent data from GUI and generate web, android and ios application code. The open questions about this problem concern how to identify individual elements and in a group, how to represent these visual elements in a way that can be used in code generators and what is the most efficient code generator for this type of problem. The answers to these questions are part of the next steps of this work.
Activities of Daily Living Detection on Healthcare: A Categorization

The incremental advancement of sensor technology has positively impacted the field of activities of daily living (ADL) recognition and monitoring in Ambient Assisted Living (AAL) environments. People in AAL environments interact by means of electronic devices (e.g., sensors, actuators, mobile phones, tablets, wearable technologies) to accomplish their ADL, which can be analysed to identify such as ADL and monitor the behaviour of inhabitants in AAL. In this paper, we present the trends on this area in the context of Pervasive Healthcare. To do so, we propose a categorization of ADL, along with the monitoring approaches based on sensing and context-awareness technologies. Moreover, we present an overview of evaluation models on the extent of performance of ADL.
Discovering Behavioural Predispositions in Data to Improve Human Activity Recognition

The automatic, sensor-based assessment of challenging behavior of persons with dementia is an important task to support the selection of interventions. However, predicting behaviors like apathy and agitation is challenging due to the large inter- and intra-patient variability. Goal of this paper is to improve the recognition performance by making use of the observation that patients tend to show specific behaviors at certain times of the day or week. We propose to identify such segments of similar behavior via clustering the distributions of annotations of the time segments. All time segments within a cluster then consist of similar behaviors and thus indicate a behavioral predisposition (BPD). We utilize BPDs by training a classifier for each BPD. Empirically, we demonstrate that when the BPD per time segment is known, activity recognition performance can be substantially improved.
Hand Gesture Recognition in Daily Life as an Additional Tool for Unobtrusive Data Labeling in Medical Studies

For many use cases, such as supervised machine learning, labeled data is needed. However, to collect information for labels in real-life contexts, scientists are confronted with the challenge of gathering labeled data over an extended period. Labeling this data can become problematic, as constant supervision, similar to a laboratory setting, is neither feasible nor desired. Therefore, participants of such studies have to label their data themselves via appropriate apps on a smartphone. Nevertheless, this process can become very obtrusive in daily life and might even influence the results, especially studies regarding emotions. For example, in studies where participants need to indicate their stress levels frequently, labels get missed in situations where it would be inappropriate to take the phone. Consequently, missing these labels presents a significant problem. This paper aims to provide an unobtrusive solution to labeling data in real-world studies. We recorded a dataset consisting of five gestures and data from daily life. Thereby, we provide a set of predefined gestures that can be distinguished from other everyday life activities by using accelerometer and gyroscope sensors of wearable devices on the wrist. The use of predefined hand gestures for labeling data can therefore serve as an additional tool for the labeling process. Two machine learning approaches were compared and achieved promising results with Matthews Correlation Coefficients of up to 0.789 for a Random Forest and up to 0.835 for a Convolutional Neural Network.
Online Personalisation of Deep Mobile Activity Recognisers

Activity recognition is an increasingly important feature in mobile consumer devices that enables the design of context-aware applications and the customisation of user experiences. Recent deep learning-based recognisers demonstrate promising performances for hand activity recognition –e. g., washing hands– or human activity recognition –e. g., cycling– when exploiting accelerometer data from smartwatches or Magnetic Angular Rate and Gravity (MARG) data from body-worn sensors. However, the robustness and the generalisation capabilities of deep learning models can be an issue, since the consumers’ locomotion data is typically not available at training time. In this paper, we propose for the first time a pipeline of pre-trained deep feature extractors and online learning-capable shallow classifiers –such as passive-aggressive classifiers, random forests, and support vector classifiers– for the personalisation of mobile activity recognition systems. Our suggested solution could enable efficient on-device online learning for personalisation, thereby contributing to users’ privacy preservation. We report a series of experiments exploring the potential and the limitations of this approach to increase user-specific performance given only a limited number of training samples. Our results are encouraging and show (i) that a single additional data point per activity class (in a 25-class problem) from a new user can reduce recognition errors relatively by up to 20 %, and (ii) that with an increasing number of training samples our personalised models outperform comparable approaches in the literature, achieving accuracies of up to 91.4 %.
Key Agreement on IoT Devices With Echo Profiling

Secure Device-to-Device (D2D) communication is important for the Internet-of-Things (IoT) devices. Key agreement between devices is the important first step in building a secure D2D channel. Due to the lack of third-party certification, key agreement for IoT devices has to rely on the untrusted channel between them, which makes the pairing process vulnerable to attacks such as eavesdropping, jamming, and predictable channel attack. We solve this problem with a novel key agreement method named EchoKey, where two nearby devices can generate a symmetric key independently, leveraging the ambient sound signal that can be locally collected by devices. The intuition of this idea is that the propagation delays of the ambient sounds and the echoes will carry fine-grained information about the spatial context of the receiving device, which can be transformed to a special key for that device. So, nearby devices which have similar spatial context will generate similar echo profiles. We implement a prototype of EchoKey and evaluate its performance in resisting different attacks. The results tell that, with EchoKey, the key agreement process is even undetectable by an attacker which is only 50cm away from the pairing devices, and is thus resistant to all attacks mentioned above.
PIN Scrambler: Assessing the Impact of Randomized Layouts on the Usability and Security of PINs

Randomizing the layout of the keypad has been proposed to improve the security of PIN entry. However, there has been no empirical quantification of its impact on usability and security. We present the first usability (N=17) and security (N=24) evaluations to compare PIN entry with the standard vs randomized layout. Our results show that randomizing the layout increases resistance to shoulder surfing and thermal attacks significantly, and has a very minor impact on entry accuracy, but it increases entry time (from ≈ 1.4 seconds to ≈ 2 seconds). We discuss how this simple approach can improve security with little impact on usability.
Frankie: Exploring how Self-Tracking Technologies can go from Data-Centred to Human-Centred

Self-tracking technologies have long promised to enhance our well-being. However, our initial work and that of others show that most of these technologies focus on data, not the user. Based on interviews, development of mood boards, and the creation of a research product, we propose an alternative approach to self-tracking: re-humanising self-tracking technologies. Our work shows that feelings play an important role with data, that data are temporal, and associated with work and utility. We interpret four design criteria, which are applied in the creation of Frankie: a human-centred tracking device which records both quantitative (number of activities) and qualitative (perceived weight of the activity and spoken reflections) data to foster self-reflection. Through this design case we add to the discussion on re-imagining self-tracking technologies to go beyond data-centric artefacts.
Maintaining Reading Flow in E-Readers with Interactive Grammar Augmentations for Language Learning

Books can be a valuable resource for language learners, providing entertainment and showcasing authentic language usage. To further support learners, e-book platforms already include interactive vocabulary aids. Similarly, research has started to investigate the feasibility and usability of grammar aids. However, grammar aids can hinder reading flow. In this paper, we design an interactive e-reading interface with different levels of grammar support. We perform a within-subject user study (n = 24) where we assess the relationship between the reading flow, usability, and usefulness with these designs in a fiction reading scenario. Our findings show that more detailed designs are considered more useful, but also more disruptive and less usable than simpler designs. Hence, grammar support interfaces need to balance the focus on learning and the reading experience.
Cuckoo Counter: Adaptive Structure of Counters for Accurate Frequency and Top-k Estimation

Frequency estimation and top-k flows identification are fundamental problems in network traffic measurement. Sketch, as a basic probabilistic data structure, has been extensively investigated and used in different management applications. However, few of them is suitable for both estimating frequency and finding top-k flows due to the unbalanced distribution of real-world network streams. By introducing a pre-filtering stage to isolate elephant and mice flows, the recently proposed Augmented Sketch (ASketch) significantly improves accuracy for both tasks. However, it suffers from serious performance degradation because of frequent flow exchanges. In this paper, we propose Cuckoo Counter (CC), an adaptive structure that consists of several buckets organized in a specific way. The size of the entry in each bucket is carefully designed to match the actual distribution of streams. During processing, CC hashes a flow to buckets and uses the idea of cuckoo hashing to relocate the flow if an overflow or collision happens, which contributes to fully utilizing memory. Therefore, the replacement strategy helps CC precisely record elephant flows and cover more mice flows, and also guarantees the throughput. Extensive experimental results show that CC has the highest (Freq.) accuracy, excellent (Heavy hitter / change) accuracy, highest (Top-k) precision, and competitive throughput compared to the state-of-the-art. Specifically, CC improves the throughput and accuracy by around 1 and 2 orders of magnitude respectively compared to the well-known ASketch.
Basic Consideration of Collaborative Filtering Based on Rough Co-clustering Induced by Multinomial Mixture Models

Collaborative filtering (CF) is a method for recommending preferable contents to each user based on the user’s preference. Clustering is a method for automatically classifying and summarizing data by extracting clusters composed of similar objects. Rough clustering can extract overlapped clusters by considering the uncertainty of belonging of object to clusters based on rough set theory. Co-clustering is a useful technique for summarizing co-occurrence information between objects and items. Since dataset in CF tasks are considered to be co-occurrence information data that include the uncertainty based on human senses and sensitivities, rough co-clustering is considered to be suitable for CF tasks. In this study, we propose collaborative filtering based on rough co-clustering induced by multinomial mixture models (RCCMM-CF). Furthermore, we verified the recommendation performance of the proposed method, RCCMM-CF, through numerical experiments using two real-world datasets, namely, NEEDS-SCAN/PANEL dataset and MovieLens 100K dataset.
The Crime of Electronic Blackmail in the Emirati Law

The crime of electronic blackmail is one of the most dangerous crimes that cause the victim a lot of harm, whether in his work, reputation or private life. Therefore, most Arab legislations worked to confront it, and took all necessary measures to prevent its commission and impose penalties on the offender. Among these legislations is Federal Decree-Law No. (34) of 2021 in the matter of combating rumors and cybercrime in the UAE, Law No. (175) of (2018) in the matter of combating Egyptian information technology crimes, and the Jordanian Cybercrime Combating Law of 2015 and its amendments in 2018. The research mainly addressed the regulation decided by the UAE legislator, and for that, we chose to search for the nature of electronic extortion in the first topic, to enter from that to the scope of the second topic to explain the pillars of the crime of electronic extortion and the third topic to explain the penalty for the crime of electronic blackmail, and we ended the research with a conclusion that included the most important results and recommendations.
A Low Complexity Deep Learning Based Precoder Designing for Enhanced Throughput in Underlay Network

Conventional optimization methods for precoder designing exhibits significantly poor performance in terms of computational cost and higher latency rate. The reason behind this shortcoming lies in the traditionally used approaches, which are associated with complex mathematical frameworks having higher computational costs. However, due to changes in channel parameters caused by the dynamic environment, the traditional techniques is not suitable for the 5G communication system. Thus, in order to facilitate the low complexity precoder designing method, deep learning (DL) based scheme is proposed to enhance the throughput in the MIMO-cognitive relay network (CRN). Here the secondary network <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$(SN)$</tex> accesses the spectrum of the primary network <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$(PN)$</tex> using underlay mode. DL maps the non-convex problem using a non linear function and predicts the precoder weights subject to the constraints of power and interference at the relay without the need of any complex mathematical framework. We demonstrate the efficacy of the proposed scheme by simulation results where the proposed scheme gives a comparable performance as a conventional scheme with lower computational complexity, whilst, it outperforms in terms of robustness when channel statistics changes dynamically.
Green Internet of Things (IoT) Solar Photovoltaic Absorption Optimization Based Panel Orientation in East Malaysia

The development of Internet of Things (IoT) technology and its integration into smart cities have transformed the way people work and live while enriching civilization. However, IoT technologies pose a range of challenges in smart cities, including increased energy consumption, hazardous contamination and e-waste. Smart City applications need to be environmentally responsible, which requires a shift to green IoT. Consequently, tactics and strategies aimed at reducing pollution threats, traffic waste, resource use, energy use, public safety, quality of life, environmental sustainability, and cost management should be taken into consideration. Past researches have been initiated to study the efficiency of solar energy as an alternative energy source for IoT. An IoT system has been developed to monitor the effectiveness of solar panels and identify factors that may influence its effectiveness. This article addresses the optimisation of photovoltaic absorption when polycrystalline and monocrystalline solar panels are used for comparative purposes to determine which panel is more efficient. In this study, the panels were exposed to sunlight for at least 12 hours per day and oriented south and north respectively to obtain the optimal position. The results showed that the power generated by the monocrystalline (0.3A) is greater than the polycrystalline solar panels (0.25A). The intensity of sunlight for the country (Malaysia) in the northern hemisphere is expected to be greater in the south. But the result showed a slightly higher light intensity in the north. The phenomenon was explained and the solar panels located in East Malaysia were recommended to be turned according to the optimum monthly tilt-angle change.