Skip to content

IST'21 & SANER'22: Semantic-Preserving Program Transformations

License

Notifications You must be signed in to change notification settings

UH-SERG/tnpa-generalizability

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Semantic-Preserving Program Transformations

This project contains the program transformation tool and the datasets of transformed programs for the paper 'On the Generalizability of Neural Program Models with respect to Semantic-Preserving Program Transformations' (arXiv, ScienceDirect) accepted at the IST Journal, Elsevier 2021 and presented at the SANER-JFT 2022.

Updated Reproducible Capsule of ProgramTransformer:


Structure

├── NPM-IST21                 # Artifact of our paper.
  ├── JavaMethodExtractor       # code for extracting single java methods.
  ├── JavaMethodTransformer     # code for semantic program transformations.
  ├── images                    # some figures used in the paper.
  ├── results                   # data and plots used in the paper.
├── ProgramTransformer        # Updated program transformation tools.
  ├── code                      # run Java and C# tools.
  ├── data                      # sample original methods.
  ├── results                   # generated transformed methods.

Approach

Evaluation of Generalizability
The workflow of our generalizability evaluation.

Citation:

On the Generalizability of Neural Program Models with respect to Semantic-Preserving Program Transformations

@article{rabin2021generalizability,
  title = {On the generalizability of Neural Program Models with respect to semantic-preserving program transformations},
  author = {Md Rafiqul Islam Rabin and Nghi D.Q. Bui and Ke Wang and Yijun Yu and Lingxiao Jiang and Mohammad Amin Alipour},
  journal = {Information and Software Technology (IST)},
  volume = {135},
  pages = {106552},
  year = {2021},
  issn = {0950-5849},
  doi = {https://doi.org/10.1016/j.infsof.2021.106552},
  url = {https://www.sciencedirect.com/science/article/pii/S0950584921000379}
}

Updated Program Transformation Tools:


Related Articles:

  • Testing Neural Program Analyzers [arXiv, GitHub]
  • Evaluation of Generalizability of Neural Program Analyzers [arXiv, GitHub]
  • ProgramTransformer: A tool for generating semantically equivalent transformed programs [SoftwareImpacts, CodeOcean]

About

IST'21 & SANER'22: Semantic-Preserving Program Transformations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 87.0%
  • Python 8.7%
  • C# 3.0%
  • Shell 1.3%