kusumotolab / kGenProg

A High-performance, High-extensibility and High-portability APR System
MIT License
48 stars 13 forks source link

CrossoverLocation のバグを修正 #789

Closed hrtwt closed 4 years ago

hrtwt commented 4 years ago

resolve #788

概要

候補ノード選定に木のたぐり方を追加し,深さと記述が同じだが,経路中の descriptor が異なるノードを区別できるようにした. 例えば,testLocateForTheSameAst04 のようなテストをパスできるようになった. https://github.com/kusumotolab/kGenProg/blob/4cf90d178ee4d350e321e985228872b170e81d9c/src/test/java/jp/kusumotolab/kgenprog/project/jdt/JDTASTCrossoverLocationTest.java#L85-L109

実装方針

TreePathASTNodedescriptor の2組とし,探索時,ASTNode の種類一致とdescriptorの完全一致を確認する.

descriptor について

ASTNode#getLocationInParent で取得できて,そのノードが親のどこにあるかを示す.

例えば,IfStatement だと,3種類.

clione-bot[bot] commented 4 years ago

No problem. Good job!

shinsuke-mat commented 4 years ago

よさそう.マージします.お疲れさん