A survey on deep learning for software engineering

Y Yang, X **a, D Lo, J Grundy - ACM Computing Surveys (CSUR), 2022 - dl.acm.org
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 …

A systematic literature review on the use of deep learning in software engineering research

C Watson, N Cooper, DN Palacio, K Moran… - ACM Transactions on …, 2022 - dl.acm.org
An increasingly popular set of techniques adopted by software engineering (SE)
researchers to automate development tasks are those rooted in the concept of Deep …

Graph neural networks: foundation, frontiers and applications

L Wu, P Cui, J Pei, L Zhao, X Guo - … of the 28th ACM SIGKDD Conference …, 2022 - dl.acm.org
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 …

[PDF][PDF] Hoppity: Learning graph transformations to detect and fix bugs in programs

E Dinella, H Dai, Z Li, M Naik, L Song… - … conference on learning …, 2020 - par.nsf.gov
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 …

Learning to fuzz from symbolic execution with application to smart contracts

J He, M Balunović, N Ambroladze, P Tsankov… - Proceedings of the …, 2019 - dl.acm.org
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 …

Programl: A graph-based program representation for data flow analysis and compiler optimizations

C Cummins, ZV Fisches, T Ben-Nun… - International …, 2021 - proceedings.mlr.press
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 …

Can large language models reason about program invariants?

K Pei, D Bieber, K Shi, C Sutton… - … Conference on Machine …, 2023 - proceedings.mlr.press
Identifying invariants is an important program analysis task with applications towards
program understanding, bug finding, vulnerability analysis, and formal verification. Existing …

Typilus: Neural type hints

M Allamanis, ET Barr, S Ducousso, Z Gao - Proceedings of the 41st acm …, 2020 - dl.acm.org
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 …

Enchanting program specification synthesis by large language models using static analysis and program verification

C Wen, J Cao, J Su, Z Xu, S Qin, M He, H Li… - … on Computer Aided …, 2024 - Springer
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 …

Ltl2action: Generalizing ltl instructions for multi-task rl

P Vaezipoor, AC Li, RAT Icarte… - … on Machine Learning, 2021 - proceedings.mlr.press
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 …