COSET benchmarks neural program embeddings using diverse source-code datasets.
problem Evaluating neural program embeddings is challenging due to lack of straightforward metrics.
method COSET framework with labeled programs, transformations, and a pilot study.
result COSET identifies strengths and weaknesses of neural models and program characteristics.
Paper explores understanding of neural source code embeddings.
problem Lack of understanding of contents and characteristics of code2vec embeddings.
method Small case study using code2vec embeddings to create binary SVM classifiers and compare performance with handcrafted features.
result Code2vec embeddings perform similarly to handcrafted features and have more evenly distributed information gains.
With the celebrated success of deep learning, some attempts to develop effective methods for detecting malicious PowerShell programs employ neural nets in a traditional natural language processing setup while others employ convolutional neural nets to detect obfuscated malicious commands at a character level. While the…
funcGNN uses graph neural networks to estimate program similarity efficiently.
problem Estimating accurate program similarity for software engineering tasks.
method funcGNN trains on labeled CFG pairs to predict GED between unseen programs using effective embedding vectors.
result funcGNN achieves lower error rate (0.00194) and is 23 times faster than traditional methods.
Program or process is an integral part of almost every IT/OT system. Can we trust the identity/ID (e.g., executable name) of the program? To avoid detection, malware may disguise itself using the ID of a legitimate program, and a system tool (e.g., PowerShell) used by the attackers may have the fake ID of another commo…
With the recent success of embeddings in natural language processing, research has been conducted into applying similar methods to code analysis. Most works attempt to process the code directly or use a syntactic tree representation, treating it like sentences written in a natural language. However, none of the existin…
Program synthesis from natural language (NL) is practical for humans and, once technically feasible, would significantly facilitate software development and revolutionize end-user programming. We present SAPS, an end-to-end neural network capable of mapping relatively complex, multi-sentence NL specifications to snippe…
The abundance of open-source code, coupled with the success of recent advances in deep learning for natural language processing, has given rise to a promising new application of machine learning to source code. In this work, we explore the use of a Siamese recurrent neural network model on Python source code to create …
SED integrates synthesis, execution, and debugging for neural program synthesis.
problem Challenges in synthesizing complex programs that match specifications.
method SED combines synthesis, execution, and debugging to improve neural program generation.
result SED reduces error rates and outperforms standard decoding methods.
In this paper, we propose a new feature extraction technique for program execution logs. First, we automatically extract complex patterns from a program's behavior graph. Then, we embed these patterns into a continuous space by training an autoencoder. We evaluate the proposed features on a real-world malicious softwar…
Neural program analyzers are brittle and sensitive to input changes.
problem Reliability of neural program analyzers in software engineering.
method Developing testing techniques for neural program analyzers.
result Simple input perturbations can cause neural program analyzers to make mistakes.
NeuroMatch efficiently matches subgraphs in large graphs using neural networks.
problem Determining the presence and location of a query graph in a large target graph.
method NeuroMatch decomposes graphs into subgraphs, embeds them using graph neural networks, and matches them directly in the embedding space.
result NeuroMatch is 100x faster and 18% more accurate than existing methods.
This paper proposes a variant of the method of Guédon and Verhynin for estimating the cluster matrix in the Mixture of Gaussians framework via Semi-Definite Programming. A clustering oriented embedding is deduced from this estimate. The procedure is suitable for very high dimensional data because it is based on pairwis…
In 1960s, Almgren initiated a program to find minimal hypersurfaces in compact manifolds using min-max method. This program was largely advanced by Pitts and Schoen-Simon in 1980s when the manifold has no boundary. In this paper, we finish this program for general compact manifold with nonempty boundary. As a result, w…
Synthesizing programs using example input/outputs is a classic problem in artificial intelligence. We present a method for solving Programming By Example (PBE) problems by using a neural model to guide the search of a constraint logic programming system called miniKanren. Crucially, the neural model uses miniKanren's i…
New algorithm for RL using mean embeddings of return distributions.
problem Improving reinforcement learning algorithms for dynamic programming.
method Mean embeddings of return distributions, novel algorithms for RL.
result Asymptotic convergence and improved performance in deep RL.
Efficient FPGA dropout algorithm reduces memory usage.
problem Overfitting in deep neural networks.
method Hardware-oriented dropout algorithm for FPGA implementation.
result Significant resource reduction in FPGA implementation.
PLANS synthesizes programs from noisy inputs using neural specs and filtering.
problem Synthesizing robust programs from noisy, raw inputs.
method Hybrid model combining neural extraction and rule-based synthesis with noise filtering.
result State-of-the-art performance in diverse environments with no ground-truth training.
Hybrid model learns novel handwritten characters better than neural or symbolic models alone.
problem Generating novel yet structured concepts.
method Neuro-symbolic model combining neural networks and probabilistic programs.
result Hybrid model outperforms alternative models in learning and generalizing novel handwritten characters.
New memory in neural networks mimics computer architectures.
problem Learning algorithms and complex tasks with neural networks.
method Introducing a new memory to store weights for a neural controller, similar to stored-program memory in computers.
result Neural Stored-program Memory enhances neural networks' adaptability and learning capabilities.
A neural program synthesis method with iterative fix operations.
problem Creating correct programs from input-output examples.
method Combines encoder-decoder synthesis with a differentiable fixer.
result Improves synthesis accuracy by reducing discrepancies between outputs and desired outputs.
TASO optimizes CNN models for memory-constrained devices.
problem Large CNN models are too resource-intensive for mobile devices.
method Integer Linear Programming (ILP) for selecting operations and workspace allocation.
result 8x speedup and 2.2x reduction in memory usage compared to greedy algorithms.
Adapting neural networks to guide program optimization for better classifiers.
problem Learning differentiable programs with complex architectures.
method Formulating program optimization as a graph search problem, using neural networks as heuristic relaxations.
result Trained neural networks can guide combinatorial search for programmatic classifiers, improving accuracy and interpretability.
New tools for uncertainty in dynamical systems without distribution assumptions.
problem Uncertainty representation in dynamical systems without distributional assumptions.
method Kernel mean embedding and kernel probabilistic programming.
result Distribution-free representation, comparison, and propagation of uncertainties.
CrossBeam learns to search more efficiently in program synthesis.
problem Efficiently searching through vast program spaces.
method Trains a neural model to guide program synthesis, combining previously explored programs.
result CrossBeam explores much smaller portions of the program space compared to state-of-the-art methods.
Neural network identifies undeclared variables and infers their types.
problem Undeclared variable errors in programs.
method Trained on structural semantic details of AST, identifies and infers types of undeclared variables.
result Correctly identified and inferred types for 80% of programs with undeclared variable errors.
System uses neural networks to prove program equivalence via rewrite rules.
problem Proving equivalence between two dataflow graphs.
method Developed a graph-to-sequence neural network trained on example generation to find semantics-preserving rewrite rules.
result System correctly outputs a rewrite sequence for 96% of program pairs, proving equivalence.
We introduce a method for using deep neural networks to amortize the cost of inference in models from the family induced by universal probabilistic programming languages, establishing a framework that combines the strengths of probabilistic programming and deep learning methods. We call what we do "compilation of infer…
Framework uses neural networks to learn fitness functions for machine programming.
problem Automatic software generation and crafting effective fitness functions.
method Genetic algorithms augmented with neural networks and a search heuristic.
result Framework discovers more correct programs with fewer candidate generations.
PG-IM uses neural-symbolic programs to manipulate images.
problem Creating holistic image representations and manipulations.
method PG-IM detects patterns, induces symbolic programs, and manipulates images using a neural network.
result PG-IM learns from a single image and achieves superior performance.
New approach generates better synthetic data for neural program synthesis.
problem Current approaches to neural program synthesis generalize poorly to real data.
method Adversarial approach to control synthetic data distributions.
result Proposed method outperforms current approaches.
In this paper we prove the existence of rational homology balls smoothly embedded in regular neighborhoods of certain linear chains of smooth 2-spheres by using techniques from minimal model program for 3-dimensional complex algebraic variety.
We present a neurosymbolic framework for the lifelong learning of algorithmic tasks that mix perception and procedural reasoning. Reusing high-level concepts across domains and learning complex procedures are key challenges in lifelong learning. We show that a program synthesis approach that combines gradient descent w…
Real-world problems of operations research are typically high-dimensional and combinatorial. Linear programs are generally used to formulate and efficiently solve these large decision problems. However, in multi-period decision problems, we must often compute expected downstream values corresponding to current decision…
Program synthesis is the task of automatically generating a program consistent with a specification. Recent years have seen proposal of a number of neural approaches for program synthesis, many of which adopt a sequence generation paradigm similar to neural machine translation, in which sequence-to-sequence models are …
Automates API mapping across languages with minimal manual effort.
problem Manual effort required to identify parallel program corpora and API mappings.
method Combines domain adaptation and code embedding with GANs to align vector spaces of APIs.
result Automatically identifies cross-language API mappings with less prior knowledge.
New method for efficient probabilistic inference using masked language modeling.
problem Efficient posterior inference in probabilistic programs with many hyper-parameters.
method Formulate inference as masked language modeling, train a neural network to unmask random values.
result Foundation posterior for zero-shot inference and fine-tuning across a range of programs.
New approach uses neural networks to learn program structure and parameters.
problem Learning programs and their structure efficiently.
method Free category prior over programs, end-to-end learning of structure and parameters.
result Neural networks can serve as primitives in probabilistic programs.
Ansor generates high-performance tensor programs for deep learning.
problem Generating high-performance tensor programs for deep learning on various hardware platforms is challenging.
method Ansor uses a hierarchical representation of the search space, sampling programs, and evolutionary search with a learned cost model to find high-performance programs.
result Ansor improves deep neural network execution performance up to 3.8x on Intel CPU, 2.6x on ARM CPU, and 1.7x on NVIDIA GPU.
Study Gaussian-process limits of neural networks using tensor programs.
problem Understanding the behavior of neural networks as they approach infinite width.
method Quantitative analysis through tensor programs and Wasserstein distance.
result Explicit finite-width error bounds, showing convergence to Gaussian-process limits.
PATOIS synthesizes code from natural language using learned code idioms.
problem Synthesizing general-purpose source code from natural language specifications is challenging.
method PATOIS uses a neural synthesizer that interleaves high-level and low-level reasoning, incorporating learned code idioms from a corpus.
result Using learned code idioms improves the synthesizer's accuracy on semantic parsing datasets.
Paper tackles non-Markovian control problems with new learning methods.
problem Non-Markovian stochastic control problems with unknown parameters.
method Off-model training and importance sampling for deep neural network approximation.
result Quantitative error bounds for adaptive learning under model uncertainty.
Supporting evidence for adaptive feature program across diverse models.
problem Analyzing feature learning in neural networks.
method Over-parameterized sequence models and feature error measure (FEM).
result FEM is decreasing during training of adaptive feature models.
The sequence-to-sequence (seq2seq) model for neural machine translation has significantly improved the accuracy of language translation. There have been new efforts to use this seq2seq model for program language translation or program comparisons. In this work, we present the detailed steps of using a seq2seq model to …
Unified framework for hyperbolic embeddings from mixed data types.
problem Computing hyperbolic embeddings from noisy metric and non-metric data.
method Semidefinite programming and spectral factorization methods.
result Efficient computation of hyperbolic embeddings from arbitrary data.
New methodology controls synthetic data bias for neural program synthesis.
problem Deep networks generalize poorly to certain data distributions when trained on synthetic examples.
method Proposes a new methodology to control and evaluate the bias of synthetic data distributions over programs and specifications.
result Training deep networks on controlled synthetic data distributions leads to improved cross-distribution generalization performance.
EvoNUDGE uses graph neural networks to improve genetic programming performance.
problem Efficiency in evolutionary computation for problem solving.
method Graph neural network to elicit additional knowledge from symbolic regression problems.
result EvoNUDGE significantly outperforms conventional and neural genetic programming methods.
POET enables large neural network training on tiny devices with reduced energy.
problem Training large neural networks on memory-limited edge devices.
method Jointly optimizes rematerialization and paging for memory reduction, formulating an MILP for energy-efficient training.
result POET trains ResNet-18 and BERT within Cortex-M memory constraints, outperforming current methods in energy efficiency.