kusumotolab / kGenProg

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

if文の条件式の書換ができない #706

Closed YoshikiHigo closed 4 years ago

YoshikiHigo commented 4 years ago

現状のkGenProg(1.5.5)では以下のバグが修正できないんよね... これを修正するためには文単位だけでなく,conditional blockの条件式を書き換える操作を加える必要あり.

  public int close_to_zero(int n) {
    if(0 <= n){ // bug here
      n--;
    }
    return n;
  }

  // 再利用されるべきメソッド
  public int do_nothing(int n) {
    if (n < 0) {
    }
    return n;
  }

  @Test
  public void test01() {
    assertEquals(9, new CloseToZero().close_to_zero(10));
  }

  @Test
  public void test02() {
    assertEquals(0, new CloseToZero().close_to_zero(1));
  }

  @Test
  public void test03() { // このテストが落ちる
    assertEquals(0, new CloseToZero().close_to_zero(0));
  }