Improved source code summarization using extended Tree-LSTM.
problem Challenges in applying LSTM to structured source code.
method Extended Tree-LSTM for abstract syntax trees (ASTs).
result Multi-way Tree-LSTM achieves better results than state-of-the-art techniques.
Neural networks model code edits from source code changes.
problem Modeling dynamic changes in source code.
method Developed neural networks to learn and predict code edits.
result Attentional and pointer network components provide best performance.
Develops deep learning for logical code segmentation.
problem Lack of logically segmented source code.
method Novel deep learning approach to generate logical code segments.
result Improves software analysis tasks like commenting, bug detection, and code synthesis.
Transformer model improves source code summarization.
problem Generating readable summaries of source code.
method Transformer model with self-attention mechanism for code representation.
result Transformer model outperforms state-of-the-art techniques.
Contrastive Code Representation Learning improves code summarization and type inference.
problem Code representations are sensitive to edits, hindering downstream semantic understanding tasks.
method ContraCode: a contrastive pre-training task that learns code functionality.
result Contrastive pre-training improves code summarization and type inference accuracy.
Deep neural network predicts semantic labels for source code.
problem Difficulty in labeling and understanding new programming languages and functionalities.
method Language-agnostic deep convolutional neural network trained on Stack Overflow code snippets.
result Mean area under ROC of 0.957 and top-1 accuracy of 86.6% on Github code documents.
Survey on embedding techniques in source code.
problem Applying word embedding techniques to source code.
method Collection and categorization of articles from related work and scholarly searches.
result Word embedding has been successfully applied to various granularities of source code.
We study the problem of building generative models of natural source code (NSC); that is, source code written and understood by humans. Our primary contribution is to describe a family of generative models for NSC that have three key properties: First, they incorporate both sequential and hierarchical structure. Second…
Tangent uses Python code transformation for automatic differentiation.
problem Efficient and readable automatic differentiation in Python.
method Source code transformation to generate derivative code.
result Readable and debuggable gradient code in Python.
New model creates code semantics vectors for better understanding.
problem Improving code understanding and embedding quality.
method Siamese recurrent neural network on Python source code.
result Model significantly outperforms bag-of-tokens embeddings.
Paper presents a code authorship attribution attack using adversarial learning.
problem Misleading attribution of source code using machine learning methods.
method Exploits adversarial examples and semantics-preserving code transformations guided by Monte-Carlo tree search.
result Demonstrates substantial effect on attribution methods, reducing accuracy from over 88% to 1%.
Deep learning detects software vulnerabilities from source code.
problem Automated detection of software vulnerabilities in source code.
method Deep feature representation learning on lexed source code.
result Deep learning can effectively detect software vulnerabilities.
Transfer learning boosts deep learning in source code modeling.
problem Deep learning models are problem-specific and data-hungry.
method Transfer learning to improve performance of deep learning models.
result The proposed approach outperforms state-of-the-art models in source code suggestion task.
New model learns execution of code using GNNs.
problem Stagnation of computer system performance due to Moore's Law.
method Multi-task GNN over low-level code and program state.
result Improved performance on dynamic tasks (26% and 45% over state-of-the-art).
Study makes code models robust to small changes that keep functionality.
problem Vulnerability of deep neural networks to adversarial examples in source code.
method Defined a powerful adversary and adversarial training to learn robust models.
result Significant gains in robustness demonstrated across different languages and architectures.
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.
CODE2SEQ generates natural language sequences from code snippets.
problem Generating natural language descriptions from code.
method CODE2SEQ represents code as AST paths and uses attention to select relevant paths.
result CODE2SEQ outperforms previous models for code-to-text tasks.
Generative model uses graphs to create natural-sounding code.
problem Creating semantically meaningful source code with syntactic and semantic constraints.
method Graph representation for intermediate state, interleaves grammar-driven expansion with graph augmentation and neural message passing.
result Generative model outperforms baselines in generating natural-sounding code.
We offer open-source code for a fundamental industry classification.
problem Creating accurate industry classifications from public data.
method Developed open-source code with modules for data handling.
result Improved trading signals through various industry classifications.
Backdoors can be implanted in neural models of source code, and we detect and remove them.
problem Vulnerability of neural models to backdoors in source code.
method Defined and implemented various backdoor classes, adapted robust statistics algorithms, and detected poisoned data through spectral signatures.
result Demonstrated the ease of injecting and removing backdoors in neural models of source code.
Paper shows semi-supervised clustering is equivalent to a type of source coding.
problem Multiclass labeling of unlabeled elements with noisy binary queries.
method Locally encodable source coding approach, using pairwise queries.
result Lower bounds on the number of queries required for correct labeling.
Convolutional neural network summarizes code comments across multiple languages.
problem Insufficient or missing comments in source code.
method Language-agnostic encoder-decoder model with open vocabulary.
result Comparable results to state-of-the-art on single-language data; first results on multi-language data.
STRATA generates code adversarial examples efficiently without gradients.
problem Generating adversarial examples for code that retains functional meaning.
method Uses token frequency statistics to construct gradient-free adversarial examples.
result Empirically outperforms gradient-based methods with less information and effort.
Unsupervised method constructs knowledge graph from text and code.
problem Lack of structured knowledge in scientific literature and code.
method Word embedding, clustering, and dimensionality reduction techniques.
result Enhanced understanding of scientific literature and code.
Tree-Transformer improves grammar correction in code and natural language.
problem Grammar correction in tree-structured data.
method Tree-Transformer neural network architecture for tree-structured data.
result Significant improvement in grammar correction accuracy.
Improves code2vec for Java classes by obfuscating variable names.
problem Code2vec's reliance on variable names makes it vulnerable to typos and attacks.
method Obfuscate variable names during code2vec training and aggregate method embeddings for class-level predictions.
result Obfuscated variable names improve model's robustness and accuracy.
Paper proposes IABF to improve NECST robustness.
problem Limited robustness of NECST learned coding networks.
method Infomax Adversarial-Bit-Flip (IABF) to improve stability and robustness.
result IABF achieves state-of-the-art performances on compression and error correction benchmarks.
SCC identifies 21 programming languages with 75% accuracy.
problem Classifying code snippets among 21 programming languages.
method Multinomial Naive Bayes classifier trained on Stack Overflow posts.
result SCC achieves 75% accuracy, significantly higher than PLI.
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.
Graph-Structured Cache improves code completion and variable naming tasks.
problem Learning open vocabulary in source code.
method Graph-Structured Cache for handling new words in code.
result Improves code completion and variable naming tasks by over 100%.
This work proposes a meta-learning approach for better adaptation of source code models.
problem Adapting source code models to unseen local contexts.
method Formulated as a meta-learning problem, selecting targeted information for adaptation.
result Improved performance in code auto-completion tasks, especially for identifiers and literals.
The paper optimizes querying schemes for crowdsourced classification using XOR queries.
problem Optimizing querying schemes for crowdsourced classification.
method Modeling crowdsourced labeling/classification as source coding problem, leveraging connections to channel coding.
result Provides querying schemes with almost optimal number of queries, each involving a constant number of labels.
Study on how deterministic dependencies affect information synergy and redundancy.
problem Understanding how deterministic dependencies impact information synergy and redundancy.
method Systematic analysis of deterministic dependencies on information decomposition.
result Identifies how negative terms can originate from deterministic dependencies and discusses implications for neural coding.
We define and discuss the first sparse coding algorithm based on closed-form EM updates and continuous latent variables. The underlying generative model consists of a standard `spike-and-slab' prior and a Gaussian noise model. Closed-form solutions for E- and M-step equations are derived by generalizing probabilistic P…
Devign uses graph neural networks to identify vulnerabilities efficiently.
problem Challenging and tedious process of identifying vulnerabilities in software systems.
method Devign employs a graph neural network to classify graph-level vulnerabilities using comprehensive code semantic representations.
result Devign significantly outperforms state-of-the-art models in vulnerability identification.
Models learn to represent edits from natural language and code.
problem Learning distributed representations of edits.
method Combining a neural editor with an edit encoder.
result Models can capture the structure and semantics of edits.
Jointly learns encoding and decoding for noisy channels.
problem Asymptotic optimality of source and channel separation in finite bit-length regimes.
method Discrete variational autoencoder model with noise simulation.
result Jointly learned codes are competitive and learn robust representations.
STYLE-ANALYZER fixes code style inconsistencies without manual intervention.
problem Manual code reviews are time-consuming and error-prone.
method Unsupervised machine learning with decision tree forest model.
result STYLE-ANALYZER accurately fixes code formatting violations with interpretable rules.
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.
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.
Challenge evaluates semantic code search using annotated corpus.
problem Evaluating relevant code from natural language queries.
method Release of CodeSearchNet Corpus and expert annotations.
result 99 queries with 4k relevance annotations for evaluation.
Model learns code representations from comments for data analysis tasks.
problem Lack of descriptive labels for analyzing large code corpora.
method Weakly supervised transformer architecture for joint code and comment representation.
result Model achieves 38% accuracy increase over expert-supplied heuristics.
Generative Adversarial Network repairs software bugs without labeled data.
problem Automated repair of software vulnerabilities.
method Adversarial learning approach mapping between source and target domains.
result Effective at repairing software vulnerabilities, close to seq2seq approaches.
This paper studies communication efficiency in federated learning by optimizing the sum-rate-distortion function for indirect multiterminal source coding.
problem Indirect multiterminal source coding in federated learning where edge devices send noisy gradients to the server.
method Analyzes the rate region for the quadratic vector Gaussian CEO problem under unbiased estimator and derives an explicit formula for the sum-rate-distortion function.
result Derives an explicit formula for the sum-rate-distortion function in the special case of identical gradients over edge devices.
DeepJSCC-f uses feedback to improve image transmission quality.
problem Improve image transmission quality in feedback channels.
method Autoencoder-based joint source-channel coding (DeepJSCC-f) exploiting feedback.
result Improves reconstruction quality for fixed-length or variable-length transmission.
Tangent automates derivatives in Python, improving expressiveness and performance.
problem Efficiently calculating derivatives for complex models in Python.
method Source-code transformation for dynamically typed array programming.
result Demonstrates improved expressiveness and performance in automatic differentiation.
Graph2Diff neural network predicts precise code changes for build errors.
problem Fixing build errors in software development.
method Represented code and errors as graphs, used Graph Neural Network to predict precise diffs.
result Graph2Diff achieves over double the accuracy of DeepDelta in predicting precise code changes.
SLM models code syntax as trees to generate any programming language code.
problem Generating any piece of code in a given language without restrictions.
method Structural language modeling (SLM) decomposes code into ASTs and estimates probabilities over nodes.
result SLM model generates arbitrary code in any language, outperforming previous methods.