Reviewerly/exHarmony huggingface dataset:
A Regression Model-Based Short-Term PV Power Generation Forecasting

Solar photovoltaic (PV) modules have been increasingly integrated into power systems. However, their intermittency and variability have considerable impacts on power grids and could jeopardize the grid's stability when the penetration is high. Developing accurate PV power generation forecasting methods is key to enhancing reliable and secure grid operation. In this paper, a data-driven regression model-based short-term PV power generation forecasting is proposed, where nineteen regression models (including both deterministic and probabilistic predictors) from five regression families are evaluated, and performance assessment indices, such as RMSE and R-squared, are adopted to find the best models. To further improve the performance of forecasting models, hyperparameter optimization and tuning are conducted using MATLAB Regression Learner App. A real-world historical dataset of PV power generation is used to train and further test the models. It is found that the interactions linear, medium Gaussian support vector machine (SVM), and the ensemble of bagged trees outperform other regression models in this study. The proposed method can be utilized by the system operator for effective scheduling future power systems.
Climate Change Combat and Disaster Management with re.photos, the Web Portal for Rephotography

Comparing two or more images taken on different dates from the same vantage point is beneficial for rescuers, researchers, and politicians to improve the assessment of natural disasters and climate change. Rephotography, i.e., shooting and comparing two or more images, can show fast changes in surroundings, e.g., before and after a tsunami, earthquake, and other environmental disasters, as well as slow changes like glacial movements. Retrieving these rephotographies is difficult since images from different shooting dates are usually not found on a single source, are without georeference, are lacking in metadata like precise recording times, and have different or no licensing information. Thus, rephotography is time intensive, costly, and not easy to use by rescuers. Overcoming the drawback and providing rephotography after disasters, our web portal re.photos addresses the difficulties of automatic image registration for large scene changes as happened after, e.g., earthquakes. Once the images are registered, georeferenced, and stored in a database, our web portal provides this in an easy-to-use interface. This database of compilations can be queried via metadata search. Rephotographies of two or more images is visualized as a table or on an interactive map. We provide custom interactive registration methods to register complex compilations with only a few fixed corresponding landmarks in the before and after images. By providing these interaction methods, rephotography for disaster management become valuable, e.g., by registering images of flooded or destroyed areas within minutes. re.photos allows its users to retrieve existing compilations, create template images that colleagues or citizen scientists can rephotograph, and register, georeference and persistently publish their rephotographic compilations.
Implementation and Experimental Evaluation of the Rebalancing Algorithm for Folded Clos Networks

Folded Clos network (FCN) is an important topology as it plays a significant role in building high-performance data center networks. To exchange packets over an FCN, traffic load must be uniformly diffused to fully utilize its high bandwidth. As a method to do this, the rebalancing algorithm was proposed. Previous studies have demonstrated the effectiveness of the method through theoretical analysis and computer simulation. However, its practical feasibility has not been elucidated. Moreover, its performance has not been confirmed on a physical experimental environment. This paper reports how the rebalancing algorithm is implemented on switches built on PCs using software tools supported by the Linux OS. This confirms that it is relatively easy to practically implement the algorithm. In addition, the performance of the implemented algorithm was assessed and compared with that of a conventional method through an experiment. As a result, the rebalancing algorithm was found to be more advantageous in avoiding traffic congestion for heavy traffic and flows with different sizes.
Through the Window: On the exploitability of Xtensa's Register Window Overflow

While the name Xtensa is still mostly unknown to the public, the architecture plays a big role in the field of Internet of Things (IoT), be it in the form of custom designs or broadly used microcontrollers such as the ESP32 used inside millions of devices. This paper describes a newly discovered vulnerability that uses the window overflow exception handlers of an Xtensa LX processor to leak and manipulate data. To show its severity, an exploit is demonstrated that allows to disable Stack Canaries, a common protection against stack buffer overflows. Requirements and potential possibilities to escalate the vulnerability, including code-reuse attacks to completely compromise the attacked device. Finally, a countermeasure is introduced with a <0.5% runtime overhead in our worst-case scenario.
Learning from Unreliable Human Action Advice in Interactive Reinforcement Learning

Interactive Reinforcement Learning (IRL) uses human input to improve learning speed and enable learning in more complex environments. Human action advice is here one of the input channels preferred by human users. However, many existing IRL approaches do not explicitly consider the possibility of inaccurate human action advice. Moreover, most approaches that account for inaccurate advice compute trust in human action advice independent of a state. This can lead to problems in practical cases, where human input might be inaccurate only in some states while it is still useful in others. To this end, we propose a novel algorithm that can handle state-dependent unreliable human action advice in IRL. Here, we combine three potential indicator signals for unreliable advice, i.e. consistency of advice, retrospective optimality of advice, and behavioral cues that hint at human uncertainty. We evaluate our method in a simulated gridworld and in robotic sorting tasks with 28 subjects. We show that our method outperforms a state-independent baseline and analyze occurrences of behavioral cues related to unreliable advice.
Analysis of Lightweight Cryptographic Algorithms on IoT Hardware Platforms

Highly constrained devices that are interconnected and interact to complete a task are being used in a diverse range of new fields. The Internet of Things (IoT), cyber-physical systems, distributed control systems, vehicular systems, wireless sensor networks, tele-medicine, and smart grid are a few examples of these fields. In any of these contexts, security and privacy might be essential aspects. Research on secure communication in Internet of Things (IoT) networks is a highly contested topic. One method for ensuring secure data transmission is cryptography. Since IoT devices have limited resources, such as power, memory, and batteries, IoT networks have boosted the term “lightweight cryptography”. Algorithms for lightweight cryptography are designed to efficiently protect data while using minimal resources. In this research work, we evaluate and benchmark lightweight symmetric ciphers for resource-constrained devices. The evaluation is performed using two widely used platform: Arduino and Raspberry PI. In the first part, we implement 39 block ciphers on an ATMEGA328p micro-controller and analyze them in terms of speed, cost, and energy efficiency during encryption and decryption for different block and key sizes. In the second part, the 2 <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">nd</sup> round NIST candidates (80 stream and block cipher algorithms) were added to the first part ciphers in a comprehensive analysis for equivalent block and key sizes in terms of latency and energy efficiency.
End-To-End Deep Reinforcement Learning for First-Person Pedestrian Visual Navigation in Urban Environments

We solve a pedestrian visual navigation problem with a first-person view in an urban setting via deep reinforcement learning in an end-to-end manner. The major challenges lie in severe partial observability and sparse positive experiences of reaching the goal. To address partial observability, we propose a novel 3D-temporal convolutional network to encode sequential historical visual observations, its effectiveness is verified by comparing to a commonly-used Frame-Stacking approach. For sparse positive samples, we propose an improved automatic curriculum learning algorithm NavACL <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">+</sup> , which proposes meaningful curricula starting from easy tasks and gradually generalizing to challenging ones. NavACL <sup xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">+</sup> is shown to facilitate the learning process with 21% earlier convergence, to improve the task success rate on difficult tasks by 40% compared to the original NavACL algorithm [1] and to offer enhanced generalization to different initial poses compared to training from a fixed initial pose.
Precise (Un)Affected Version Analysis for Web Vulnerabilities

Web applications are attractive attack targets given their popularity and large number of vulnerabilities. To mitigate the threat of web vulnerabilities, an important piece of information is their affected versions. However, it is non-trivial to build accurate affected version information because confirming a version as affected or unaffected requires security expertise and huge efforts, while there are usually hundreds of versions to examine. As a result, such information is maintained in a low-quality manner in almost every public vulnerability database. Therefore, it is extremely useful to have a tool that can automatically and precisely examine a large part (even if not all) of the software versions as affected or unaffected.
Automatic Software Timing Attack Evaluation &amp; Mitigation on Clear Hardware Assumption

Embedded systems are widely used for implementing diverse Internet-of-Things (IoT) applications. These applications often deal with secret/sensitive data and encryption keys which can potentially be leaked through timing side-channel analysis. Runtime-based timing side-channel attacks are performed by measuring the time a code takes to execute and using that information to extract sensitive data. Effectively detecting such vulnerabilities with high precision and low false positives is a challenging task due to the runtime dependence of software code on the underlying hardware. Effectively fixing such vulnerabilities with low overhead is also non-trivial due to the diverse nature of embedded systems. In this article, we propose an automatic runtime side channel vulnerability detection and mitigation framework that not only considers the software code but also use the underlying hardware architecture information to tune the framework for more accurate vulnerability detection and system-specific tailored mitigation.
Automatically Tagging the “AAA” Pattern in Unit Test Cases Using Machine Learning Models

The AAA pattern, i.e. the Arrangement, Action, and Assertion, is a common and nature layout to create a test case. Following this pattern in test cases may benefit comprehension, debugging, and maintenance. The AAA structure of real-life test cases may not be explicit due to its high complexity. Manually labeling AAA statements in test cases is tedious. Thus, an automated approach for labeling AAA statements in existing test cases could benefit new developers and projects that practice collective code ownership and test driven development.
Consistent Scene Graph Generation by Constraint Optimization

Scene graph generation takes an image and derives a graph representation of key objects in the image and their relations. This core computer vision task is often used in autonomous driving, where traditional software and machine learning (ML) components are used in tandem. However, in such a safety-critical context, valid scene graphs can be further restricted by consistency constraints captured by domain or safety experts. Existing ML approaches for scene graph generation focus exclusively on relation-level accuracy but provide little to no guarantee that consistency constraints are satisfied in the generated scene graphs. In this paper, we aim to complement existing ML-based approaches by a post-processing step using constraint optimization over probabilistic scene graphs that can (1) guarantee that no consistency constraints are violated and (2) improve the overall accuracy of scene graph generation by fixing constraint violations. We evaluate the effectiveness of our approach using well-known, and novel metrics in the context of two popular ML datasets augmented with consistency constraints and two ML-based scene graph generation approaches as baselines.
Answering Software Deployment Questions via Neural Machine Reading at Scale

As software systems continue to grow in complexity and scale, deploying and delivering them becomes increasingly difficult. In this work, we develop DeployQA, a novel QA bot that automatically answers software deployment questions over user manuals and Stack Overflow posts. DeployQA is built upon RoBERTa. To bridge the gap between natural language and the domain of software deployment, we propose three adaptations in terms of vocabulary, pre-training, and fine-tuning, respectively. We evaluate our approach on our constructed DeQuAD dataset. The results show that DeployQA remarkably outperforms baseline methods by leveraging the three domain adaptation strategies.
Learning to Synthesize Relational Invariants

We propose a method for synthesizing invariants that can help verify relational properties over two programs or two different executions of a program. Applications of such invariants include verifying functional equivalence, non-interference security, and continuity properties. Our method generates invariant candidates using syntax guided synthesis (SyGuS) and then filters them using an SMT-solver based verifier, to ensure they are both inductive invariants and sufficient for verifying the property at hand. To improve performance, we propose two learning based techniques: a logical reasoning (LR) technique to determine which part of the search space can be pruned away, and a reinforcement learning (RL) technique to determine which part of the search space to prioritize. Our experiments on a diverse set of relational verification benchmarks show that our learning based techniques can drastically reduce the search space and, as a result, they allow our method to generate invariants of a higher quality in much shorter time than state-of-the-art invariant synthesis techniques.
ADEPT: A Testing Platform for Simulated Autonomous Driving

Effective quality assurance methods for autonomous driving systems ADS have attracted growing interests recently. In this paper, we report a new testing platform ADEPT, aiming to provide practically realistic and comprehensive testing facilities for DNN-based ADS. ADEPT is based on the virtual simulator CARLA and provides numerous testing facilities such as scene construction, ADS importation, test execution and recording, etc. In particular, ADEPT features two distinguished test scenario generation strategies designed for autonomous driving. First, we make use of real-life accident reports from which we leverage natural language processing to fabricate abundant driving scenarios. Second, we synthesize physically-robust adversarial attacks by taking the feedback of ADS into consideration and thus are able to generate closed-loop test scenarios. The experiments confirm the efficacy of the platform.
Explaining the Behaviour of Game Agents Using Differential Comparison

The difficulty in exploring the game balance has been increasing, especially in Game-as-a-Service (GaaS) with updates in every few weeks, and due to the complexity in game design and business models. In the limited time available for testing, using automated game agents enables much more test plays than using human test players does, and it has been accelerated by the recent progress of deep reinforcement learning. However, understanding specific behaviours of each agent is hard due to their "black-box" nature. In this paper, we propose a method for explaining the behaviour of game agents using differential comparison between agents. This comparison approach is motivated by our experience with existing explanation techniques that often extracted uninteresting, common aspects of the behaviour. In addition, there are large potentials for the application of the comparison: between agents with different learning algorithms, between human agents and automated agents, and between test agents and users. We applied our technique to a prototype of a commercial GaaS and confirmed our technique can extract specific differences between agents.
FlexType: A Plug-and-Play Framework for Type Inference Models

Types in TypeScript play an important role in the correct usage of variables and APIs. Type errors such as variable or function misuse can be avoided with explicit type annotations. In this work, we introduce FlexType, an IDE extension that can be used on both JavaScript and TypeScript to infer types in an interactive or automatic fashion. We perform experiments with FlexType in JavaScript to determine how many types FlexType could resolve if it were to be used to migrate top JavaScript projects to TypeScript. FlexType is able to annotate 56.69% of all types with high precision and confidence including native and imported types from modules. In addition to the automatic inference, we believe the interactive Visual Studio Code extension is inherently useful in both TypeScript and JavaScript especially when resolving types is taxing for the developer.
Design-Space Exploration for Decision-Support Software

Presence monitoring or intrusion detection in a location/area are examples of decision-support applications. Decision-support applications are applications where monitoring is used to collect (heterogeneous) data and create situational awareness, which further requires decisions and/or actions. As such, decision-support software consists of different interconnected components with very diverse roles, whose communication and synchronization are essential for the application functionality and performance. Despite this complexity, software design for decision-support is often driven by short-term functional requirements and only supported by designers’ previous experience. In the current non-systematic approach, mistakes can be easily made, and can be very difficult to repair.
Robust Learning of Deep Predictive Models from Noisy and Imbalanced Software Engineering Datasets

With the rapid development of Deep Learning, deep predictive models have been widely applied to improve Software Engineering tasks, such as defect prediction and issue classification, and have achieved remarkable success. They are mostly trained in a supervised manner, which heavily relies on high-quality datasets. Unfortunately, due to the nature and source of software engineering data, the real-world datasets often suffer from the issues of sample mislabelling and class imbalance, thus undermining the effectiveness of deep predictive models in practice. This problem has become a major obstacle for deep learning-based Software Engineering.
Test-Driven Multi-Task Learning with Functionally Equivalent Code Transformation for Neural Code Generation

Automated code generation is a longstanding challenge in both communities of software engineering and artificial intelligence. Currently, some works have started to investigate the functional correctness of code generation, where a code snippet is considered correct if it passes a set of test cases. However, most existing works still model code generation as text generation without considering program-specific information, such as functionally equivalent code snippets and test execution feedback. To address the above limitations, this paper proposes a method combining program analysis with deep learning for neural code generation, where functionally equivalent code snippets and test execution feedback will be considered at the training stage. Concretely, we firstly design several code transformation heuristics to produce different variants of the code snippet satisfying the same functionality. In addition, we employ the test execution feedback and design a test-driven discriminative task to train a novel discriminator, aiming to let the model distinguish whether the generated code is correct or not. The preliminary results on a newly published dataset demonstrate the effectiveness of our proposed framework for code generation. Particularly, in terms of the [email protected] metric, we achieve 8.81 and 11.53 gains compared with CodeGPT and CodeT5, respectively.
Finding Property Violations through Network Falsification: Challenges, Adaptations and Lessons Learned from OpenPilot

Openpilot is an open source system to assist drivers by providing features like automated lane centering and adaptive cruise control. Like most systems for autonomous vehicles, Openpilot relies on a sophisticated deep neural network (DNN) to provide its functionality, one that is susceptible to safety property violations that can lead to crashes. To uncover such potential violations before deployment, we investigate the use of falsification, a form of directed testing that analyzes a DNN to generate an input that will cause a safety property violation. Specifically, we explore the application of a state-of-the-art falsifier to the DNN used in OpenPilot, which reflects recent trends in network design. Our investigation reveals the challenges in applying such falsifiers to real-world DNNs, conveys our engineering efforts to overcome such challenges, and showcases the potential of falsifiers to detect property violations and provide meaningful counterexamples. Finally, we summarize the lessons learned as well as the pending challenges for falsifiers to realize their potential on systems like OpenPilot.
Optimal region gradated fusion based automatic image stitching for industrial systems

In this paper, an improved image stitching method based on image fusion is presented, and the purpose is to use multi-equipments and image stitching algorithm to obtain the complete image of a large-scale production line for industrial systems. Focus on the problems in the existing image stitching algorithm, an improved fusion algorithm is proposed. Firstly, the optimal seam is found, and then the fusion range is limited. Finally, the gradated in and out fusion algorithm is used to perform fusion calculation within the limited fusion range to complete image stitching. Compared with the existing fusion algorithms, the experimental results based on different image fusion indexes show that the method in this paper solves the problem of unnatural image stitching effect, enhances the image stitching result, and has the great fusion effect.