A survey on deep learning for software engineering
In 2006, Geoffrey Hinton proposed the concept of training “Deep Neural Networks (DNNs)”
and an improved model training method to break the bottleneck of neural network …
and an improved model training method to break the bottleneck of neural network …
A systematic literature review on the use of deep learning in software engineering research
An increasingly popular set of techniques adopted by software engineering (SE)
researchers to automate development tasks are those rooted in the concept of Deep …
researchers to automate development tasks are those rooted in the concept of Deep …
Graph neural networks: foundation, frontiers and applications
The field of graph neural networks (GNNs) has seen rapid and incredible strides over the
recent years. Graph neural networks, also known as deep learning on graphs, graph …
recent years. Graph neural networks, also known as deep learning on graphs, graph …
[PDF][PDF] Hoppity: Learning graph transformations to detect and fix bugs in programs
We present a learning-based approach to detect and fix a broad range of bugs in Javascript
programs. We frame the problem in terms of learning a sequence of graph transformations …
programs. We frame the problem in terms of learning a sequence of graph transformations …
Learning to fuzz from symbolic execution with application to smart contracts
Fuzzing and symbolic execution are two complementary techniques for discovering software
vulnerabilities. Fuzzing is fast and scalable, but can be ineffective when it fails to randomly …
vulnerabilities. Fuzzing is fast and scalable, but can be ineffective when it fails to randomly …
Programl: A graph-based program representation for data flow analysis and compiler optimizations
Abstract Machine learning (ML) is increasingly seen as a viable approach for building
compiler optimization heuristics, but many ML methods cannot replicate even the simplest of …
compiler optimization heuristics, but many ML methods cannot replicate even the simplest of …
Can large language models reason about program invariants?
Identifying invariants is an important program analysis task with applications towards
program understanding, bug finding, vulnerability analysis, and formal verification. Existing …
program understanding, bug finding, vulnerability analysis, and formal verification. Existing …
Typilus: Neural type hints
Type inference over partial contexts in dynamically typed languages is challenging. In this
work, we present a graph neural network model that predicts types by probabilistically …
work, we present a graph neural network model that predicts types by probabilistically …
Enchanting program specification synthesis by large language models using static analysis and program verification
Formal verification provides a rigorous and systematic approach to ensure the correctness
and reliability of software systems. Yet, constructing specifications for the full proof relies on …
and reliability of software systems. Yet, constructing specifications for the full proof relies on …
Ltl2action: Generalizing ltl instructions for multi-task rl
We address the problem of teaching a deep reinforcement learning (RL) agent to follow
instructions in multi-task environments. Instructions are expressed in a well-known formal …
instructions in multi-task environments. Instructions are expressed in a well-known formal …