27 research outputs found

    Copiloting the Copilots: Fusing Large Language Models with Completion Engines for Automated Program Repair

    Full text link
    During Automated Program Repair (APR), it can be challenging to synthesize correct patches for real-world systems in general-purpose programming languages. Recent Large Language Models (LLMs) have been shown to be helpful "copilots" in assisting developers with various coding tasks, and have also been directly applied for patch synthesis. However, most LLMs treat programs as sequences of tokens, meaning that they are ignorant of the underlying semantics constraints of the target programming language. This results in plenty of statically invalid generated patches, impeding the practicality of the technique. Therefore, we propose Repilot, a framework to further copilot the AI "copilots" (i.e., LLMs) by synthesizing more valid patches during the repair process. Our key insight is that many LLMs produce outputs autoregressively (i.e., token by token), resembling human writing programs, which can be significantly boosted and guided through a Completion Engine. Repilot synergistically synthesizes a candidate patch through the interaction between an LLM and a Completion Engine, which 1) prunes away infeasible tokens suggested by the LLM and 2) proactively completes the token based on the suggestions provided by the Completion Engine. Our evaluation on a subset of the widely-used Defects4j 1.2 and 2.0 datasets shows that Repilot fixes 66 and 50 bugs, respectively, surpassing the best-performing baseline by 14 and 16 bugs fixed. More importantly, Repilot is capable of producing more valid and correct patches than the base LLM when given the same generation budget

    Is Your Code Generated by ChatGPT Really Correct? Rigorous Evaluation of Large Language Models for Code Generation

    Full text link
    Program synthesis has been long studied with recent approaches focused on directly using the power of Large Language Models (LLMs) to generate code according to user intent written in natural language. Code evaluation datasets, containing curated synthesis problems with input/output test-cases, are used to measure the performance of various LLMs on code synthesis. However, test-cases in these datasets can be limited in both quantity and quality for fully assessing the functional correctness of the generated code. Such limitation in the existing benchmarks begs the following question: In the era of LLMs, is the code generated really correct? To answer this, we propose EvalPlus -- a code synthesis benchmarking framework to rigorously evaluate the functional correctness of LLM-synthesized code. In short, EvalPlus takes in the base evaluation dataset and uses an automatic input generation step to produce and diversify large amounts of new test inputs using both LLM-based and mutation-based input generators to further validate the synthesized code. We extend the popular HUMANEVAL benchmark and build HUMANEVAL+ with 81x additionally generated tests. Our extensive evaluation across 14 popular LLMs demonstrates that HUMANEVAL+ is able to catch significant amounts of previously undetected wrong code synthesized by LLMs, reducing the pass@k by 15.1% on average! Moreover, we even found several incorrect ground-truth implementations in HUMANEVAL. Our work not only indicates that prior popular code synthesis evaluation results do not accurately reflect the true performance of LLMs for code synthesis but also opens up a new direction to improve programming benchmarks through automated test input generation

    Fuzz4All: Universal Fuzzing with Large Language Models

    Full text link
    Fuzzing has achieved tremendous success in discovering bugs and vulnerabilities in various software systems. Systems under test (SUTs) that take in programming or formal language as inputs, e.g., compilers, runtime engines, constraint solvers, and software libraries with accessible APIs, are especially important as they are fundamental building blocks of software development. However, existing fuzzers for such systems often target a specific language, and thus cannot be easily applied to other languages or even other versions of the same language. Moreover, the inputs generated by existing fuzzers are often limited to specific features of the input language, and thus can hardly reveal bugs related to other or new features. This paper presents Fuzz4All, the first fuzzer that is universal in the sense that it can target many different input languages and many different features of these languages. The key idea behind Fuzz4All is to leverage large language models (LLMs) as an input generation and mutation engine, which enables the approach to produce diverse and realistic inputs for any practically relevant language. To realize this potential, we present a novel autoprompting technique, which creates LLM prompts that are wellsuited for fuzzing, and a novel LLM-powered fuzzing loop, which iteratively updates the prompt to create new fuzzing inputs. We evaluate Fuzz4All on nine systems under test that take in six different languages (C, C++, Go, SMT2, Java and Python) as inputs. The evaluation shows, across all six languages, that universal fuzzing achieves higher coverage than existing, language-specific fuzzers. Furthermore, Fuzz4All has identified 98 bugs in widely used systems, such as GCC, Clang, Z3, CVC5, OpenJDK, and the Qiskit quantum computing platform, with 64 bugs already confirmed by developers as previously unknown.Comment: Accepted at ICSE 202

    Anti-apoptotic and anti-fibrotic efficacy of exercise training in hypertensive hearts: A systematic review

    Get PDF
    BackgroundThis review aims to summarize the antiapoptotic, pro-survival, and antifibrotic effects of exercise training in hypertensive hearts.MethodsKeyword searches were conducted in PubMed, Web of Science, and Scopus in May 2021. Research published in English on the effects of exercise training on the apoptosis, survival, and fibrosis pathways in hypertension was included. The CAMARADES checklist was used to determine the quality of the studies. Two reviewers independently implemented predesigned protocols for the search and selection of studies, the assessment of study quality, and the evaluation of the strength of evidence.ResultsEleven studies were included after selection. The duration of the exercise training ranged from 5 to 27 weeks. Nine studies showed that exercise training improved cardiac survival rates by increasing IGF-1, IGF-1 receptor, p-PI3K, Bcl-2, HSP 72, and p-Akt. Furthermore, 10 studies showed that exercise training reduced apoptotic pathways by downregulating Bid, t-Bid, Bad, Bak, Bax, TNF, and FADD. Finally, two studies reported the modification and subsequent improvement of physiological characteristics of fibrosis and decreased MAPK p38 and PTEN levels by exercise training in the left ventricle of the heart.ConclusionsThe findings of the review showed that exercise training could improve cardiac survival rates and attenuate cardiac apoptotic and fibrotic pathways in hypertension, suggesting that exercise training could act as a therapeutic approach to prevent hypertension-induced cardiac apoptosis and fibrosis.Systematic Review Registrationhttps://www.crd.york.ac.uk, identifier: CRD42021254118

    Online Decision-Making under Uncertainty in Edge Computing Systems

    No full text
    Scheduling has been a principal area of computer science research because it directly influences the performance, efficiency, and utility of computational and network systems. The scheduler can generally make better decisions with enhanced foreknowledge of the system’s current and future status, which we refer to as offline scheduling. However, obtaining such comprehensive insight is often unfeasible in most real-world scenarios, which limits the application of offline scheduling. In contrast to offline scheduling, online scheduling strives to establish a mechanism for making online decisions as tasks arrive, without comprehensive knowledge of the future system status. In our work, we focus on online scheduling in Edge Computing Systems. We introduce the Cloud-Edge Stretch Minimisation Algorithm (CESMA), an innovative online heuristic that optimises max-stretch in Cloud- Edge Systems. CESMA outperforms existing solutions in terms of performance, adaptability, and computational overhead, showcasing its potential for practical Cloud-Edge Systems. Following this, we propose online decision-making algorithms for practical applications on the Edge Computing Platform. We emphasize the application of Edge Computing in the energy management field. This scenario necessitates online decision-making for effective energy management. We first propose the Virtual Algorithm-based Lightweight Online Scheduling (VALOS) to reduce the energy cost in an energy system. VALOS is a lightweight online algorithm that operates on Edge Computing Platform, designed to improve the energy management under uncertainties. Subsequently, we extend our study to minimise the microgrid operating cost under peak load limitations. We introduce a Rankbased Multiple-choice Secretary Algorithm, RMSA, specifically designed for the price-based demand response scheme. We conducted extensive experiments using real-world datasets, demonstrating its robustness and adaptability in varied and complex scenarios

    Energy Demand Response Management in Smart Home Environments

    No full text
    ENABLING DEMAND RESPONSE ON ENERGY MANAGEMENT IN SMART HOME With the penetration of the Internet of Things (IoT) paradigm into the household scenario, an increasing number of smart appliances have been deployed to improve the comfort of living in the household. At present, most smart home devices are adopting the Cloud-based paradigm. The increasing electricity overhead from these smart appliances, however, has caused issues, as existing home energy management systems are unable to reduce electricity consumption effectively. To address this issue, we propose the use of an Edge-based computing platform with lightweight computing devices. In our experiments, this Edge-based platform has proven to be more energy efficient when compared to the traditional Cloud-based platform. To further reduce energy tariffs for households, we propose an energy management framework, namely Edge-based energy management System (EEMS), to be used with the Edge-based system that was designed in the first stage of our research. The EEMS is a low infrastructure investment system. A small-scale solar energy harvesting system has also been integrated into this system. The non-intrusive load monitoring (NILM) algorithm has been implemented in appliances monitoring. Regarding to energy management function, the scheduling strategy can also conform to user preference. We have conducted a realistic experiment with several smart appliances and Raspberry Pi. The experiment resulted in the electricity tariff being reduced by 82.3%. The last part of research addresses demand response (DR) technology. With the development of DR, energy management systems such as EEMS are better able to be implemented. We propose the use of an electricity business trading model, integrated with user-side demand response resources. The business trading model can be adopted to manage risks, increase profit and improve user satisfaction. Users will also benefit from tariffs reduction with the use of this model

    Abrasive-assisted Nickel Electroforming Process with Moving Cathode

    No full text

    Short-Term Load Forecasting Based on the Transformer Model

    No full text
    From the perspective of energy providers, accurate short-term load forecasting plays a significant role in the energy generation plan, efficient energy distribution process and electricity price strategy optimisation. However, it is hard to achieve a satisfactory result because the historical data is irregular, non-smooth, non-linear and noisy. To handle these challenges, in this work, we introduce a novel model based on the Transformer network to provide an accurate day-ahead load forecasting service. Our model contains a similar day selection approach involving the LightGBM and k-means algorithms. Compared to the traditional RNN-based model, our proposed model can avoid falling into the local minimum and outperforming the global search. To evaluate the performance of our proposed model, we set up a series of simulation experiments based on the energy consumption data in Australia. The performance of our model has an average MAPE (mean absolute percentage error) of 1.13, where RNN is 4.18, and LSTM is 1.93

    Discovery of Novel Small-Molecule Inhibitors of PD-1/PD-L1 Interaction via Structural Simplification Strategy

    No full text
    Blockade of the programmed cell death 1 (PD-1)/programmed cell death-ligand 1 (PD-L1) interaction is currently the focus in the field of cancer immunotherapy, and so far, several monoclonal antibodies (mAbs) have achieved encouraging outcomes in cancer treatment. Despite this achievement, mAbs-based therapies are struggling with limitations including poor tissue and tumor penetration, long half-life time, poor oral bioavailability, and expensive production costs, which prompted a shift towards the development of the small-molecule inhibitors of PD-1/PD-L1 pathways. Even though many small-molecule inhibitors targeting PD-1/PD-L1 interaction have been reported, their development lags behind the corresponding mAb, partly due to the challenges of developing drug-like small molecules. Herein, we report the discovery of a series of novel inhibitors targeting PD-1/PD-L1 interaction via structural simplification strategy by using BMS-1058 as a starting point. Among them, compound A9 stands out as the most promising candidate with excellent PD-L1 inhibitory activity (IC50 = 0.93 nM, LE = 0.43) and high binding affinity to hPD-L1 (KD = 3.64 nM, LE = 0.40). Furthermore, A9 can significantly promote the production of IFN-γ in a dose-dependent manner by rescuing PD-L1 mediated T-cell inhibition in Hep3B/OS-8/hPD-L1 and CD3-positive T cells co-culture assay. Taken together, these results suggest that A9 is a promising inhibitor of PD-1/PD-L1 interaction and is worthy for further study
    corecore