Reviewerly/exHarmony huggingface dataset:
Sentiment Analysis Using Machine Learning Techniques on IMDB Dataset

Artificial intelligence is utilized in various sectors due to the surge in data. The fundamental element of artificial intelligence is data, which is sourced from various channels, including websites. It involves analyzing emotions, opinions, and attitudes expressed in text data. Websites provide significant volumes of comment data, which is used to conduct sentiment analysis studies. Sentiment analysis is a natural language processing (NLP) task, which is a core focus of artificial intelligence research. Sentiment analysis was conducted on open-source data obtained from IMDb, a platform containing information about films as well as reviews of actors, directors, and movies. The data was preprocessed before word vectorization was performed with the frequency-based TF-IDF method, and then machine learning algorithms were employed for classification. SVM was found to have the highest accuracy of 90%.
From Misuse to Mastery: Enhancing Code Generation with Knowledge-Driven AI Chaining

Large Language Models (LLMs) have shown promising results in automatic code generation by improving coding efficiency to a certain extent. However, generating high-quality and reliable code remains a formidable task because of LLMs' lack of good programming practice, especially in exception handling. In this paper, we first conduct an empirical study and summarize three crucial challenges of LLMs in exception handling, i.e., incomplete exception handling, incorrect exception handling and abuse of try-catch. We then try prompts with different granularities to address such challenges, finding fine-grained knowledge-driven prompts works best. Based on our empirical study, we propose a novel Knowledge-driven Prompt Chaining-based code generation approach, name KPC, which decomposes code generation into an AI chain with iterative check-rewrite steps and chains fine-grained knowledge-driven prompts to assist LLMs in considering exception-handling specifications. We evaluate our KPC-based approach with 3,079 code generation tasks extracted from the Java official API documentation. Extensive experimental results demonstrate that the KPC-based approach has considerable potential to ameliorate the quality of code generated by LLMs. It achieves this through proficiently managing exceptions and obtaining remarkable enhancements of 109.86% and 578.57% with static evaluation methods, as well as a reduction of 18 runtime bugs in the sampled dataset with dynamic validation.
Design and Development of a Smartphone-Enabled Smart Card-Based Attendance Tracking Module for Personalized Education

During the recent years, and especially with the advances in e-learning and m-learning and the recent global pandemic, personalized education has gained a lot of traction. It involves suggesting educational content and learning paths that are better suited to the learner's abilities and can be achieved by monitoring various data points during the learning process. The solution proposed in this paper focuses on class, course and/or other educational event attendance, which can be considered an important data point, as previous attendance can serve as a solid base for content and/or curriculum suggestion. An implementation of a system using smart cards, dedicated smart card reader hardware, as well as mobile devices as convenient and readily available smart card readers in the context of attendance tracking is presented, including an example architecture and a working solution.
A Lot Less Likely Than I Thought: Introducing Evidence-Based Security Risk Assessment for Healthcare Software

Security and privacy are particularly important for health applications and health-related devices. So, it is vital that health software developers, especially in small to medium companies, devote their time and resources only to the security and privacy activities that will be most effective for them. Accordingly, this paper describes the creation and development of a facilitated workshop to help developers create risk assessments, using a structured series of activities based on a healthcare industry risk model. The authors found little publicly available information on risk probabilities, requiring our own calculations. The results of six workshop trials showed that cards with stories and probabilities promoted effective risk analysis, and that this was valuable to less experienced development teams. This workshop approach provides a powerful lightweight approach to calculating evidence-based security and privacy loss expectations, allowing better decision making to improve the security of the many healthcare software systems we all depend upon.
When Less is Enough: Positive and Unlabeled Learning Model for Vulnerability Detection

Automated code vulnerability detection has gained increasing attention in recent years. The deep learning (DL)-based methods, which implicitly learn vulnerable code patterns, have proven effective in vulnerability detection. The performance of DL-based methods usually relies on the quantity and quality of labeled data. However, the current labeled data are generally automatically collected, such as crawled from human-generated commits, making it hard to ensure the quality of the labels. Prior studies have demonstrated that the non-vulnerable code (i.e., negative labels) tends to be unreliable in commonly-used datasets, while vulnerable code (i.e., positive labels) is more determined. Considering the large numbers of unlabeled data in practice, it is necessary and worth exploring to leverage the positive data and large numbers of unlabeled data for more accurate vulnerability detection. In this paper, we focus on the Positive and Unlabeled (PU) learning problem for vulnerability detection and propose a novel model named PILOT, i.e., Positive and unlabeled Learning mOdel for vulnerability deTection. PILOT only learns from positive and unlabeled data for vulnerability detection. It mainly contains two modules: (1) A distance-aware label selection module, aiming at generating pseudo-labels for selected unlabeled data, which involves the inter-class distance prototype and progressive fine-tuning; (2) A mixed-supervision representation learning module to further alleviate the influence of noise and enhance the discrimination of representations. Extensive experiments in vulnerability detection are conducted to evaluate the effectiveness of PILOT based on real-world vulnerability datasets. The experimental results show that PILOT outperforms the popular weakly supervised methods by 2.78%-18.93% in the PU learning setting. Compared with the state-of-the-art methods, PILOT also improves the performance of 1.34%-12.46 % in F1 score metrics in the supervised setting. In addition, PILOT can identify 23 mislabeled from the FFMPeg+Qemu dataset in the PU learning setting based on manual checking.
An Investigation of Recent Backdoor Attacks and Defenses in Federated Learning

Federated learning (FL) is a promising paradigm for training machine learning models across distributed datasets while preserving data privacy. But it is still vulnerable to various security risks, including backdoor attacks. Backdoor attacks manifest when adversaries introduce subtle modifications to the training process, resulting in models demonstrating abnormal outputs when triggered by particular inputs. The objective of this study is to provide a comprehensive overview of the most recent advancements in both backdoor attacks and defenses within the FL context. In terms of backdoor attacks, we provide two taxonomies that are based on triggers and attack methodologies, respectively, and subdivide various attack schemes within each taxonomy. In terms of backdoor defenses, we divide the defense measures into three main categories: detection, backdoor mitigation, and robust training, and then present the technical details supporting each category. Beyond investigating current literature, our study highlights significant avenues for future research on backdoor attack and defense strategies to further enhance the security and privacy of FL systems.
A Distributed Algorithm for Identifying Strongly Connected Components on Incremental Graphs

Incremental graphs that change over time capture the changing relationships of different entities. Given that many real-world networks are extremely large, it is often necessary to partition the network over many distributed systems and solve a complex graph problem over the partitioned network. This paper presents a distributed algorithm for identifying strongly connected components (SCC) on incremental graphs. We propose a two-phase asynchronous algorithm that involves storing the intermediate results between each iteration of dynamic updates in a novel meta-graph storage format for efficient recomputation of the SCC for successive iterations. To the best of our knowledge, this is the first attempt at identifying SCC for incremental graphs across distributed compute nodes. Our experimental analysis on real and synthesized graphs shows up to 2.8x performance improvement over the state-of-the-art by reducing the overall memory utilized and improving the communication bandwidth.
Facial Features Recognition Based on Their Shape and Color Using YOLOv8

the human face is a wealthy source of information, with distinct features such as the eyes, nose, and mouth offering a wealth of data. Facial feature recognition algorithms leverage this wealth of information to distinguish one person from another, making it a powerful tool with many applications. This technology has found its way into numerous aspects of our daily lives, from unlocking smartphones with a simple glance to enhancing security in public spaces. Even more, a person's personality traits can be predicted from their outer appearance according to physiognomy as each shape of facial features can tell a lot about a person's personality; what encouraged us to address this by proposing a novel dataset created for facial feature recognition based on their shape and color, specially designed for the YOLO object detection models; the final dataset contains 2,116 images with Over 10K annotations with six classes, namely blue eye, brown eye, rounded nose, rounded eyebrows, pointy nose, and straight eyebrows, employed in all version of the YOLOv8 object detection model, experiment result shows that the small version of YOLOv8 performed the best based on mAP of 89.9%, this work also proposed a modified lightweight version of YOLOv8 with only 211 layers which outperformed the best model by 1.4% as it reaches 91.3%mAP on the proposed dataset.
A Signal Processing Interpretation of Noise-Reduction Convolutional Neural Networks: Exploring the mathematical formulation of encoding-decoding CNNs

Encoding-decoding convolutional neural networks (CNNs) play a central role in data-driven noise reduction and can be found within numerous deep learning algorithms. However, the development of these CNN architectures is often done in an ad hoc fashion and theoretical underpinnings for important design choices are generally lacking. Up to now, there have been different existing relevant works that have striven to explain the internal operation of these CNNs. Still, these ideas are either scattered and/or may require significant expertise to be accessible for a bigger audience. To open up this exciting field, this article builds intuition on the theory of deep convolutional framelets (TDCFs) and explains diverse encoding-decoding (ED) CNN architectures in a unified theoretical framework. By connecting basic principles from signal processing to the field of deep learning, this self-contained material offers significant guidance for designing robust and efficient novel CNN architectures.
Generating Variable Explanations via Zero-shot Prompt Learning

As basic elements in program, variables convey essential information that is critical for program comprehension and maintenance. However, understanding the meanings of variables in program is not always easy for developers, since poor-quality variable names are prevalent while such variable are less informative for program comprehension. Therefore, in this paper, we target at generating concise natural language explanations for variables to facilitate program comprehension. In particular, there are two challenges in variable explanation generation, including the lack of training data and the association with complex code contexts around the variable. To address these issues, we propose a novel approach ZeroVar,which leverages code pre-trained models and zero-shot prompt learning to generate explanations for the variable based on its code context. ZeroVarcontains two stages: (i) a pre-training stage that continually pre-trains a base model (i.e., CodeT5) to recover the randomly-masked parameter descriptions in method docstrings; and (ii) a zero-shot prompt learning stage that leverages the pre-trained model to generate explanations for a given variable via the prompt constructed with the variable and its belonging method context. We then extensively evaluate the quality and usefulness of the variable explanations generated by ZeroVar.We construct an evaluation dataset of 773 variables and their reference explanations. Our results show that ZeroVarcan generate higher-quality explanations than baselines, not only on automated metrics such as BLEU and ROUGE, but also on human metrics such as correctness, completeness, and conciseness. Moreover, we further assess the usefulness of ZeroVAR-generated explanations on two downstream tasks related to variable naming quality, i.e., abbreviation expansion and spelling correction. For abbreviation expansion, the generated variable explanations can help improve the present rate (+13.1%), precision (+3.6%), and recall (+10.0%) of the state-of-the-art abbreviation explanation approach. For spelling correction, by using the generated explanations we can achieve higher hit@1 (+162.9(%) and hit@3 (+49.6%) than the recent variable representation learning approach.
HexT5: Unified Pre-Training for Stripped Binary Code Information Inference

Decompilation is a widely used process for reverse engineers to significantly enhance code readability by lifting assembly code to a higher-level C-like language, pseudo-code. Nevertheless, the process of compilation and stripping irreversibly discards high-level semantic information that is crucial to code comprehension, such as comments, identifier names, and types. Existing approaches typically recover only one type of information, making them suboptimal for semantic inference. In this paper, we treat pseudo-code as a special programming language, then present a unified pre-trained model, HexT5, that is trained on vast amounts of natural language comments, source identifiers, and pseudo-code using novel pseudo-code-based pre-training objectives. We fine-tune HexT5 on various downstream tasks, including code summarization, variable name recovery, function name recovery, and similarity detection. Comprehensive experiments show that HexT5 achieves state-of-the-art performance on four downstream tasks, and it demonstrates the robust effectiveness and generalizability of HexT5 for binary-related tasks.
Software Engineering Using Autonomous Agents: Are We There Yet?

Autonomous agents equipped with Large Language Models (LLMs) are rapidly gaining prominence as a revolutionary technology within the realm of Software Engineering. These intelligent and autonomous systems demonstrate the capacity to perform tasks and make independent decisions, leveraging their intrinsic reasoning and decision-making abilities. This paper delves into the current state of autonomous agents, their capabilities, challenges, and opportunities in Software Engineering practices. By employing different prompts (with or without context), we conclude the advantages of contextrich prompts for autonomous agents. Prompts with context enhance user requirement understanding, avoiding irrelevant details that could hinder task comprehension and degrade model performance, particularly when dealing with complex frameworks such as Spring Boot, Django, Flask, etc. This exploration is conducted using Auto-GPT (v0.3.0), an open-source application powered by GPT-3.5 and GPT-4 which intelligently connects the “thoughts” of Large Language Models (LLMs) to independently accomplish the assigned goals or tasks.
A Comparative Study of Self-Sufficient Houses with Half-Cut Solar Cells in Turkey: Antalya, Giresun Region

In this article we have presented the results of our study based on two different locations with different sunshine hours, Antalya and Giresun. The houses were designed in such a way that, the consumption was kept the same, and the direction of the panels faced south, which is the optimum direction for panels on the roof. In order to make a reasonable comparison and see the effect of sun-panel interaction, the roofs were decorated with half-cut solar panels. Knowing the consumption, the required panel numbers were calculated and the simulations were conducted with PvSol program. The average daily energy needed for the house was taken as 36.6 kW. Depending on sunshine hours of two different provinces the number of half-cut cells was calculated. Antalya, which has a higher sunshine duration, needed 18 panels, whereas Giresun with lower sunshine hour needed 30 panels for the same consumption. The results obtained are consistent with the studies in the literature.
Functional Model of the Clinical and Hematological Syndromes Diagnosis

The purpose of this article is to show that the existing modeling language, Integration Definition for Function Modeling (IDEF0), is applicable for structuring and automating the process of diagnosing clinical hematological syndrome. This method comprehensively analyzes the process of diagnosing the disease. Process decomposition helps to consider the relationship between its internal functions and the relationship with external elements. The developed functional model, being the basis of the structure of the medical decision-making system, leads to increased efficiency of the process of diagnosing anemia and minimizing medical errors.
How Virtual Reality (VR) Impacts Learner Engagement in Online Courses: Initial Findings

Virtual Reality (VR) has been shown it can have a positive impact on learners' retention and satisfaction. To investigate this possible influence, three massive open online courses (MOOCs) on the Coursera platform were augmented with tailor-made VR immersive experiences via a new integration method. This article documents the initial quantitative effect of these VR additions to the course and explores further extensions of this pilot research.
MUTEN: Mutant-Based Ensembles for Boosting Gradient-Based Adversarial Attack

Mutation testing (MT) for deep learning (DL) has gained huge attention in the past few years. However, how MT can really help DL is still unclear. In this paper, we introduce one promising direction for the usage of mutants. Specifically, since mutants can be seen as one kind of ensemble model and ensemble model can be used to boost the adversarial attack, we propose MUTEN, which applies the attack on mutants to improve the success rate of well-known attacks against gradient-masking models. Experimental results on MNIST, SVHN, and CIFAR-10 show that MUTEN can increase the success rate of four attacks by up to 45%. Furthermore, experiments on four defense approaches, bit-depth reduction, JPEG compression, Defensive distillation, and Label smoothing, demonstrate that MUTEN can break the defense models effectively by enhancing the attacks with the success rate of up to 96%.
Expediting Neural Network Verification via Network Reduction

A wide range of verification methods have been proposed to verify the safety properties of deep neural networks ensuring that the networks function correctly in critical applications. However, many well-known verification tools still struggle with complicated network architectures and large network sizes. In this work, we propose a network reduction technique as a pre-processing method prior to verification. The proposed method reduces neural networks via eliminating stable ReLU neurons, and transforming them into a sequential neural network consisting of ReLU and Affine layers which can be handled by most verification tools. We instantiate the reduction technique on the state-of-the-art complete and incomplete verification tools, including <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$\alpha,\beta$</tex> -crown, VeriNet and PRIMA. Our experiments on a large set of benchmarks indicate that the proposed technique can significantly reduce neural networks and speed up existing verification tools. Furthermore, the experiment results also show that network reduction can improve the availability of existing verification tools on many networks by reducing them into sequential neural networks.
OrdinalFix: Fixing Compilation Errors via Shortest-Path CFL Reachability

The development of correct and efficient software can be hindered by compilation errors, which must be fixed to ensure the code's syntactic correctness and program language constraints. Neural network-based approaches have been used to tackle this problem, but they lack guarantees of output correctness and can require an unlimited number of modifications. Fixing compilation errors within a given number of modifications is a challenging task. We demonstrate that finding the minimum number of modifications to fix a compilation error is NP-hard. To address compilation error fixing problem, we propose OrdinalFix, a complete algorithm based on shortest-path CFL (context-free language) reachability with attribute checking that is guaranteed to output a program with the minimum number of modifications required. Specifically, OrdinalFix searches possible fixes from the smallest to the largest number of modifications. By incorporating merged attribute checking to enhance efficiency, the time complexity of OrdinalFix is acceptable for application. We evaluate OrdinalFix on two datasets and demonstrate its ability to fix compilation errors within reasonable time limit. Comparing with existing approaches, OrdinalFix achieves a success rate of 83.5 %, surpassing all existing approaches (71.7%).
DCLINK: Bridging Data Constraint Changes and Implementations in FinTech Systems

A FinTech system is a cluster of FinTech applications that intensively interact with databases containing a large quantity of user data. To ensure data consistency, it is a common practice to specify data constraints to validate data at runtime. However, data constraints often evolve according to changes in business requirements. Meanwhile, the developers can hardly keep up with the latest requirements during the development cycle. Such an information barrier increases the communication burden and prevents FinTech applications from being updated in time, impeding the development cycle significantly. In this paper, we present a comprehensive empirical study on data constraints in FinTech systems, investigating how they evolve and affect the development process. Our results show that developers find it hard to update their code timely because no mapping from data constraint changes to code is provided. Inspired by the findings from code updates respecting data constraint changes, we propose DCLINK, a traceability link analysis for linking each data constraint change to target methods demanding the code update in the FinTech application. We extensively evaluate DCLINK upon real-world change cases in Ant Group. The results show that DCLINK can effectively and efficiently localize the target methods.