Skip to content

yingluosanqian/NeuralPA

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

Neural Program Analysis

This repository aims to provide a framework for neural network-based program analysis, making it easy for people to build neural networks and experiment with them.

Table of contents

Automatic Program Repair

Year Venue Paper Code
2023 ESEC/FSE 2023 Copiloting the Copilots: Fusing Large Language Models with Completion Engines for Automated Program Repair
2022 EMNLP 2022 Using Developer Discussions to Guide Fixing Bugs in Software
2022 ASE 2022 SelfAPR: Self-supervised Program Repair with Test Execution Diagnostics
2022 ICSE 2022 Neural Program Repair with Execution-based Backpropagation
2021 PLDI 2021 Learning to Find Naming Issues with Big Code and Small Supervision
2021 FSE 2021 A Syntax-Guided Edit Decoder for Neural Program Repair
2021 NeurIPS 2021 Self-Supervised Bug Detection and Repair
2021 ICML 2021 TFix: Learning to Fix Coding Errors with a Text-to-Text Transformer
2020 ICSE 2020 DLFix: Context-based Code Transformation Learning for Automated Program Repair
2020 ICLR 2020 Hoppity: Learning Bug Detection and Repair
2019 TSE 2019 SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repair
2019 ESEC/FSE 2019 DeepDelta: learning to repair compilation errors
2019 ICLR 2019 Neural Program Repair by Jointly Learning to Localize and Repair

Datasets

ID Name Language #Bugs Test Suite Training Testing Links Others
1 Bears Java 251 yes yes yes Github
2 BFP medium Java 65454 no yes yes Zenodo
3 BFP small Java 58350 no yes yes Zenodo
4 BigFix Java 1.824 M no yes yes Github
5 Bugs2Fix Java 92849 no yes yes
6 Bugs.jar Java 1158 yes yes yes Github
7 Code-Change-Data Java 44372 no yes yes Google Drive
8 CodeXGlue Java 122 K no no yes
9 CodRep Java 58069 no yes yes Github
10 CPatMiner Java 44 K no yes yes
11 DeepRepair Java 374 no yes no
12 Defects4J Java 835 yes yes yes Github
13 Function-SStuBs4J Java 21047 no yes yes Zenodo
14 IntroClassJava Java 998 yes yes yes Github
15 Java-med Java 7454 no yes no AWS
16 ManySStuBs4J large Java 63923 no yes yes Zenodo
17 ManySStuBs4J small Java 10231 no yes yes Zenodo
18 MegaDiff Java 663029 no yes no Zenodo
19 Ponta Java 624 no yes yes Github
20 Pull-Request-Data Java 10666 no yes yes Zenodo
21 Ratchet Java 35 K no yes yes Github
22 Recoder Java 103585 no yes no Google Drive
23 TRANSFER Java 408091 no yes no MEGA
24 Mesbah Java 4.8 M no yes yes
25 AOJ C 2482 no yes yes Others
26 Big-Vul C 3745 no yes yes Github
27 Code4Bench C 25 K yes yes yes Zenodo
28 CodeHunt C 195 K yes yes yes
29 CVEFixes C 8482 no yes yes Github
30 DeepFix C 6971 yes yes yes Github
31 ManyBugs C 185 yes yes yes Others
32 Prophet C 69 yes yes yes Github
33 Prutor C 6971 yes yes yes Others
34 BugAID JS 105133 no yes yes Others
35 BugsJS JS 453 yes yes yes Others
36 HOPPITY JS 363 K no yes yes Github
37 KATANA JS 114 K no yes yes Github
38 REPTORY JS 407 K no yes yes Github
39 TFix JS 100 K no yes yes Github
40 ETH Py150 Python 150 K no yes yes Others
41 GitHub-Python Python 3 M no yes yes Github
42 Mester Python 13 K no yes yes
43 PyPIBug Python 2374 no yes yes Github
44 SSB-9M Python 9 M no yes no Zenodo
45 VUDENC Python 10 K no yes yes Zenodo
46 Chhatbar Python 286 yes no yes Github
47 SPoC C++ 1835 yes yes yes Others
48 QuixBugs Java Python 40 yes yes yes Github
49 DeepDebug Java Python 523 no yes yes
50 MSR20 C C++ 188 K no yes yes Zenodo
51 CoCoNut C Java JS Python 14 M yes yes no Github
52 CodeFlaw C Python 3902 yes yes yes Others
53 ENCORE Java Python JS C++ 9.2 M no yes no

Type Inference

Year Venue Paper Data Format Code
2020 PLDI 2020 Typilus: Neural Type Hints Graph
2020 ICLR 2020 LAMBDANET: Probabilistic Type Inference Using Graph Neural Networks Graph
2018 ICLR 2018 Learning to Represent Programs with Graphs Graph
2023 ASE 2023 Generative Type Inference for Python Text
2023 ICLR 2023 TypeT5: Seq2seq Type Inference using Static Analysis Text
2022 ICSE 2022 Type4Py: Practical Deep Similarity Learning-Based Type Inference for Python Text
2022 ICSE 2022 Static Inference Meets Deep Learning: A Hybrid Type Inference Approach for Python Text
2022 TSE 2022 Learning To Predict User-Defined Types Text
2021 NeurIPS 2021 Type Inference as Optimization Text
2018 ESEC/FSE 2018 Deep Learning Type Inference Text

Dataset

In order to unify the experimental results, we provide a standard Python type inference dataset ManyTypes4Py for you to use. For the preprocessing of graph and text data, we recommend that you refer to the Typilus and Type4Py code implementations respectively. The details of ManyTypes4Py dataset are shown as follows.

Name Language Argument Type Return Type Variable type Links Others
ManyTypes4Py Python 16.06% 6.74% 77.20% Zenodo

About

Neural Program Analysis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published