1. Paper Reading
$ \lfloor ab/p \rfloor p$
I was under ICSE2019 paper in different directions on schedule to read, going to a theme read a determined direction.
Reading is currently Automated Program Repair directions
Learning to Spot and Refactor Inconsistent Method Names .
- Problem definition: Spot and Refactor inconsistent method name. ( method has already implemented including method name and method body.)
- Background
- Paragraph vector: use it to compute similarities among the method name .
- CNNS: use it to identify similar method body .
- Word2Vec : embedding the token of method body.
- Our method:
Unsupervised learning
There are two phase in these method-- training and identification & suggestion.
a. Training phase takes tokens of method name and method body in the training set to produce two vector space--method name vector space and Method name space.
b. Inconsistency Identification
Given a method , they take a set of adjacent vectors for its name( \(n_i\)) and body (\(b_i\)) respectively (denoted \(adj(n_i)\) and \(adj(b_i)\))
adjacency is measured by cosine similarity.
when [method name of (\(adj(n_i)\))] \(\bigcap\) [method name of (\(adj(b_i)\)) ] = \(\emptyset\) , it is inconsistent.
To capture the similar behavior rather than the same name ,they relax the condition of consistency to take the first sub-token of each method name instead of comparing full method name,
when [first sub-token of method name of (\(adj(n_i)\))] \(\bigcap\) [ first sub-token of method name of (\(adj(b_i)\)) ] = \(\emptyset\) , it is inconsistent.
b. suggestion is to select new name in the set of method name of(adj(\(b_i\))) according to some ranking strategies.