27,812 research outputs found

    Graph Neural Networks For Mapping Variables Between Programs -- Extended Version

    Full text link
    Automated program analysis is a pivotal research domain in many areas of Computer Science -- Formal Methods and Artificial Intelligence, in particular. Due to the undecidability of the problem of program equivalence, comparing two programs is highly challenging. Typically, in order to compare two programs, a relation between both programs' sets of variables is required. Thus, mapping variables between two programs is useful for a panoply of tasks such as program equivalence, program analysis, program repair, and clone detection. In this work, we propose using graph neural networks (GNNs) to map the set of variables between two programs based on both programs' abstract syntax trees (ASTs). To demonstrate the strength of variable mappings, we present three use-cases of these mappings on the task of program repair to fix well-studied and recurrent bugs among novice programmers in introductory programming assignments (IPAs). Experimental results on a dataset of 4166 pairs of incorrect/correct programs show that our approach correctly maps 83% of the evaluation dataset. Moreover, our experiments show that the current state-of-the-art on program repair, greatly dependent on the programs' structure, can only repair about 72% of the incorrect programs. In contrast, our approach, which is solely based on variable mappings, can repair around 88.5%.Comment: Extended version of "Graph Neural Networks For Mapping Variables Between Programs", paper accepted at ECAI 2023. Github: https://github.com/pmorvalho/ecai23-GNNs-for-mapping-variables-between-programs. 11 pages, 5 figures, 4 tables and 3 listing

    Process control of a laboratory combustor using neural networks

    Get PDF
    Active feedback and feedforward-feedback control systems based on static-trained feedforward multi-layer-perceptron (FMLP) neural networks were designed and demonstrated, by experiment and simulation, for selected species from a laboratory two stage combustor. These virtual controllers functioned through a Visual Basic platform. A proportional neural network controller (PNNC) was developed for a monotonic control problem - the variation of outlet oxygen level with overall equivalence ratio (Φ0). The FMLP neural network maps the control variable to the manipulated variable. This information is in turn transferred to a proportional controller, through the variable control bias value. The proposed feedback control methodology is robust and effective to improve control performance of the conventional control system without drastic changes in the control structure. A detailed case study in which two clusters of FMLP neural networks were applied to a non-monotonic control problem - the variation of outlet nitric oxide level with first-stage equivalence ratio (Φ0) - was demonstrated. The two clusters were used in the feedforward-feedback control scheme. The key novelty is the functionalities of these two network clusters. The first cluster is a neural network-based model-predictive controller (NMPC). It identifies the process disturbance and adjusts the manipulated variables. The second cluster is a neural network-based Smith time-delay compensator (NSTC) and is used to reduce the impact of the long sampling/analysis lags in the process. Unlike other neural network controllers reported in the control field, NMPC and NSTC are efficiently simple in terms of the network structure and training algorithm. With the pre-filtered steady-state training data, the neural networks converged rapidly. The network transient response was originally designed and enabled here using additional tools \u27and mathematical functions in the Visual Basic program. The controller based on NMPC/NSTC showed a superior performance over the conventional proportional-integral derivative (PID) controller. The control systems developed in this study are not limited to the combustion process. With sufficient steady-state training data, the proposed control systems can be applied to control applications in other engineering fields

    Formal Verification of Input-Output Mappings of Tree Ensembles

    Full text link
    Recent advances in machine learning and artificial intelligence are now being considered in safety-critical autonomous systems where software defects may cause severe harm to humans and the environment. Design organizations in these domains are currently unable to provide convincing arguments that their systems are safe to operate when machine learning algorithms are used to implement their software. In this paper, we present an efficient method to extract equivalence classes from decision trees and tree ensembles, and to formally verify that their input-output mappings comply with requirements. The idea is that, given that safety requirements can be traced to desirable properties on system input-output patterns, we can use positive verification outcomes in safety arguments. This paper presents the implementation of the method in the tool VoTE (Verifier of Tree Ensembles), and evaluates its scalability on two case studies presented in current literature. We demonstrate that our method is practical for tree ensembles trained on low-dimensional data with up to 25 decision trees and tree depths of up to 20. Our work also studies the limitations of the method with high-dimensional data and preliminarily investigates the trade-off between large number of trees and time taken for verification
    corecore