summary 16--27

1. Paper Reading

$ \lfloor ab/p \rfloor p$

我是根据ICSE2019schedule上的不同方向的论文来读的,打算一个主题读一篇来确定方向。
目前读的是 Automated Program Repair 方向的
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
  1. Paragraph vector: use it to compute similarities among the method name .
  2. CNNS: use it to identify similar method body .
  3. 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.

猜你喜欢

转载自www.cnblogs.com/enshengshi/p/11598628.html