The method identifies likely refactored code by comparing call trees generated from execution traces of two program revisions. It labels pairs of nodes as likely refactored if their contexts are equal and contents similar. A difference call graph is generated by extracting and merging subtrees of the call trees. The method was applied to an open source program, identifying differences within hundreds of lines across five source files at a high level.
Introducing Parameter Sensitivity to Dynamic Code-Clone Analysis MethodsKamiya Toshihiro
Presentation of:
[Position Paper] Toshihiro Kamiya, Introducing Parameter Sensitivity to Dynamic Code-Clone Analysis Methods, Proc. 10th International Workshop on Software Clones (IWSC 2016), pp. 19-20, 2016.
Notice: re-uploaded on March 16, 2016. (Fix "IWSC05's" -> "IWSC15's" on page 5)
An Execution-Semantic and Content-and-Context-Based Code-Clone Detection and ...Kamiya Toshihiro
Toshihiro Kamiya: An Execution-Semantic and Content-and-Context-Based Code-Clone Detection and Analysis,
Proceedings of the 9th IEEE International Workshop on Software Clones (IWSC'15), pp. 1-7 (2015).
26. ▶(飽和)頻出アイテム集合とは?
●
頻出アイテム集合(Frequent Item Set)
– 例: 「スーパーの客のレシートのデータから、同時に購入される商
品の組を見つけたい」
– 多くの集合(トランザクションと呼ぶ。例では「レシート」)に共通し
て含まれる要素(アイテムと呼ぶ。例では「商品」)
Apple
Cupcake
Donut
Cupcake
Donut
Eclair
Apple
Banana
Cupcake
Donut
Apple
Banana
Donut
A
C
D
C
D
E
A
B
C
D
A
B
D
A
C
D
C
D
E
A
B
C
D
A
B
D
{ Apple, Donut }
{ Cupcake, Donut }
27. ▶(飽和)頻出アイテム集合とは? (つづき)
●
飽和頻出アイテム集合(Closed Frequent Item Set)
– サポート: そのアイテム集合を含むトランザクションの数
– 飽和: そのアイテム集合にアイテムを足したものは、そのアイテム
集合よりもサポートが小さい
●
本研究では
– あるコード断片から(直接的、間接的に)呼び出される手続きをア
イテム
– 呼び出す手続きが共通しているコード断片を求めるのに利用
A
C
D
C
D
E
A
B
C
D
A
B
D
{ Apple, Banana }は飽和頻出アイテム集合ではない
←Donutを足してもサポートが減らない