Skip to content

This is an IntelliJ IDEA Plugin of GenPat for automated code transformation inference.

Notifications You must be signed in to change notification settings

luyaor/GenPat-Plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GenPat-Plugin

🚀 News: GenPater is now on Jetbrains Marketplace! Just search GenPater in Plugin Marketplace to try it out!

Pipeline

pipeline

Demo

demo

Usage

Note: Currently, it only supports with transformation at function(method) level.

Trace (for the transformation generation):

  1. Choose a function (let cursor inside the function).

  2. Start with your modification on the function.

    Way A: Click Trace button in pop-up menu (right mouse click), or Shift + Alt + -/_, then edit in popup editor.

    Way B: Start with Shift + Alt + [ , then edit in IDE, finally end with Shift + Alt + ].

Apply (for the transformation application):

  1. Choose a target function (let cursor inside the function).
  2. Click Apply button in pop-up menu (right mouse click) or Shift + Alt + =/+.

Global Search

  1. Click Tools->GenPat->GlobalSearch.
  2. Popup Editor will show all matched results in current file (contains both before and after changing), Click Replace for the candidates you would like to apply.

TODO

  1. Extend global search to all project scope
  2. User setting for multi candidates
  3. Support with method signature modification

Related Project

https://github.com/xgdsmileboy/GenPat

Publication

Jiajun Jiang, Luyao Ren, Yingfei Xiong, Lingming Zhang. Inferring Program Transformations From Singular Examples via Big Code. In Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering (ASE ’19)

About

This is an IntelliJ IDEA Plugin of GenPat for automated code transformation inference.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages