DeepHGNN detects program identity changes using system behaviors.
problem Detecting program identity changes to prevent malware.
method Attentional heterogeneous graph neural network (DeepHGNN) for graph classification.
result DeepHGNN effectively identifies program identities across various metrics.
The paper classifies vehicle shapes and colors using deep neural networks.
problem Vehicle reidentification and classification challenges.
method Used deeper neural networks for classification accuracy.
result Good classification accuracy on make/model and color.
Method transfers knowledge between partially labeled domains to classify all samples.
problem Weakly supervised open-set domain adaptation between partially labeled domains.
method Collaborative Distribution Alignment (CDA) method for bilaterally knowledge transfer and outlier identification.
result Achieves state-of-the-art performance on Office benchmark and person reidentification.
Preserving the privacy of individuals by protecting their sensitive attributes is an important consideration during microdata release. However, it is equally important to preserve the quality or utility of the data for at least some targeted workloads. We propose a novel framework for privacy preservation based on the …
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.
Stochastic programs simplify complex models with noise and nondeterminism.
problem Handling models with nuisance parameters, noise, and nondeterminism.
method Developed a reference implementation for stochastic probabilistic programs and inference.
result Efficient inference in models with noise and nondeterminism is possible.
Deployable probabilistic programming for Go and other languages.
problem Adding probabilistic programming to mainstream languages.
method Design guidelines and Infergo implementation for Go.
result Infergo demonstrates performance and applicability in various use cases.
Improves probabilistic programming by analyzing program structure.
problem Inefficiency and limitations of single inference algorithms in probabilistic programming.
method Three novel techniques: static and dynamic analyses to adapt programs for more efficient inference.
result Improves probabilistic programming by making inference more efficient.
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.
Paper introduces techniques to learn higher-order programs, improving predictive accuracy and reducing learning times.
problem Expressing and learning complex programs in ILP.
method Extending meta-interpretive learning to support higher-order definitions as background knowledge.
result Learning higher-order programs reduces hypothesis space and sample complexity, improving predictive accuracy and reducing learning times.
Graph-based approach repairs programs from diagnostic feedback.
problem Learning to repair programs from limited labeled data and compiler error messages.
method Introduces program-feedback graph and graph neural network for reasoning, and self-supervised learning with unlabeled programs.
result DrRepair significantly outperforms prior work, achieving high repair rates.
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.
SPoC uses search to translate pseudocode into correct programs with error localization.
problem Mapping pseudocode to functionally correct long programs.
method Search-based approach guided by compilation errors for credit assignment.
result Search improves synthesis success rate from 25.6% to 44.7%.
New method reduces infinite variance in probabilistic programs with rejection sampling.
problem Infinite variance in naive importance sampling for programs with rejection sampling.
method Developed a new amortized importance sampling estimator with finite variance proof.
result Empirically demonstrated efficiency and correctness compared to existing alternatives.
Synthesizes static analysis for probabilistic programs.
problem Optimize learning process, verify models, improve programming interface.
method Organize and analyze static analysis techniques for probabilistic programming.
result Future directions for improvement in statistical machine learning.
We present a new algorithm for approximate inference in probabilistic programs, based on a stochastic gradient for variational programs. This method is efficient without restrictions on the probabilistic program; it is particularly practical for distributions which are not analytically tractable, including highly struc…
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 …
This book is a graduate-level introduction to probabilistic programming. It not only provides a thorough background for anyone wishing to use a probabilistic programming system, but also introduces the techniques needed to design and build these systems. It is aimed at people who have an undergraduate-level understandi…
We develop a technique for generalising from data in which models are samplers represented as program text. We establish encouraging empirical results that suggest that Markov chain Monte Carlo probabilistic programming inference techniques coupled with higher-order probabilistic programming languages are now sufficien…
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.
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 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.
The seven non euclidean geometries of the Thurston's geometrization program are proved to originate naturally from singularization morphisms and versal deformations on euclidean 3-manifolds generated in the frame of the Langlands global program. The Poincare conjecture for a 3-manifold appears as a particular case of t…
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.
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.
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.
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.
Cascading flows improve variational inference in structured programs.
problem Challenges in variational inference for complex probabilistic programs.
method Integrates normalizing flows and ASVI to create cascading flows, which embed the forward-pass of probabilistic programs.
result Cascading flows outperform normalizing flows and ASVI in structured inference problems.
Generative model learns diverse fixes for program errors.
problem Uncertainty in predicting a single fix for program errors.
method Deep conditional variational autoencoder with diversity regularizer.
result Strong improvements over state-of-the-art approaches, generating up to 45% diverse fixes.
BUSTLE synthesizes programs by learning from intermediate values.
problem Challenges in synthesizing complex programs due to large search space.
method Bottom-up search guided by a neural network trained on input-output examples.
result Bottom-up search with execution of intermediate programs provides valuable semantic information.
Forward inference techniques such as sequential Monte Carlo and particle Markov chain Monte Carlo for probabilistic programming can be implemented in any programming language by creative use of standardized operating system functionality including processes, forking, mutexes, and shared memory. Exploiting this we have …
This work offers a broad perspective on probabilistic modeling and inference in light of recent advances in probabilistic programming, in which models are formally expressed in Turing-complete programming languages. We consider a typical workflow and how probabilistic programming languages can help to automate this wor…
Multimodal deep learning improves flaw detection in software programs.
problem Current flaw detection relies on single software representations.
method Adapted multimodal deep learning models for flaw detection.
result Multimodal models outperform traditional deep learning models.
Introduces Motion Programs for better video analysis of human motion.
problem Current video analysis focuses on raw pixels or keypoints, missing higher-level motion primitives.
method Introduces Motion Programs as a neuro-symbolic representation of motions as a composition of high-level primitives.
result Motion Programs accurately describe diverse human motions and improve downstream tasks.
MultiVerse uses importance sampling for efficient causal reasoning in probabilistic programming.
problem Efficient causal reasoning in probabilistic models, especially counterfactual inference.
method Native implementation of importance sampling in probabilistic programming, optimizing inference through query structure.
result Significant optimisation of inference process through careful design choices and query structure consideration.
Programming has been an important skill for researchers and practitioners in computer science and other related areas. To learn basic programing skills, a long-time systematic training is usually required for beginners. According to a recent market report, the computer software market is expected to continue expanding …
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.
A new method for efficient inference in probabilistic programs with mixed support.
problem Challenges in inference for programs with both continuous and discrete latent variables.
method Stochastic gradient Markov Chain Monte Carlo algorithms.
result Outperforms existing composing inference baselines and works almost as well as inference in marginalized versions.
Our goal is to learn a semantic parser that maps natural language utterances into executable programs when only indirect supervision is available: examples are labeled with the correct execution result, but not the program itself. Consequently, we must search the space of programs for those that output the correct resu…
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.
TreeCaps improves code comprehension for software developers.
problem Processing code efficiently for software developers.
method Tree-based capsule networks for capturing code syntactical structures and dependencies.
result TreeCaps outperforms other approaches in classifying program functionalities.
Neural networks enhance linear programming for complex decision-making problems.
problem High-dimensional and combinatorial operations research problems.
method Hybrid solution method combining linear programming and neural networks.
result Neural network value function approximations outperform polynomial approximations in a transportation problem.
Probabilistic inference procedures are usually coded painstakingly from scratch, for each target model and each inference algorithm. We reduce this effort by generating inference procedures from models automatically. We make this code generation modular by decomposing inference algorithms into reusable program-to-progr…
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.
This paper introduces a new technique for quantifying the approximation error of a broad class of probabilistic inference programs, including ones based on both variational and Monte Carlo approaches. The key idea is to derive a subjective bound on the symmetrized KL divergence between the distribution achieved by an a…
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.
DPBD simplifies labeling functions through interactive demonstrations.
problem Difficulty in writing labeling functions for large-scale labeled training data.
method Data Programming by Demonstration (DPBD) framework using interactive demonstrations.
result Ruler system generates labeling rules more easily and with higher user satisfaction.
This abstract extends on the previous work (arXiv:1407.2646, arXiv:1606.00075) on program induction using probabilistic programming. It describes possible further steps to extend that work, such that, ultimately, automatic probabilistic program synthesis can generalise over any reasonable set of inputs and outputs, in …