Ejemplo n.º 1
0
int main() {
  int x;
  int y;
  int n;
  x = y = n = 0;
  while(__nondet_bool()) {
      x++;
      y++;
  }
  while(x <= n - 1 || x >= n + 1) {
      x--;
      y--;
  }
  if(x != n)
    return 0;
  assert(y == n);
}
Ejemplo n.º 2
0
int main()
{
  int i,n,t,k;
  int l,r,u,j;
  int x,y,z;

  n = __nondet_int();
  x=1;
  while (x<n) {
    z=1;
    while (z+x<=n) {
      y=z+x*2;
      if (y>n) y=n+1;
      l = z; r = z+x; u = y;
      i=l; j=r; k=l;
      while (i<r && j<u) { 
	if(__nondet_bool()) {
	  i++;
	} 
	else {
	  j++;
	}
	k++;
      }
      
      assert(k<=n);
      
      while (i<r) {
	i++; 
	k++;
      }
      while (j<u) { 
	j++; k++;
      }
      k = l;
      while (k<u) { 
        k++;
      }
      
      z=z+x*2;
    }
    x=x*2;
  }
}
void* thr3(void* arg)
{
  pthread_mutex_lock(&mutex);
  if(__nondet_bool()) {
    g0=0;
    g1=0;
    lock=false;
  }
  pthread_mutex_unlock(&mutex);
  
  pthread_mutex_lock(&mutex);
  if(lock) {
    x=1;
    assert(g0==1 && g1==1);
  }
  pthread_mutex_unlock(&mutex);

  return 0;
}
Ejemplo n.º 4
0
Archivo: fig1a.c Proyecto: alaarman/vvt
/* Example from Figure 1 (a) */
int main () {

  int x,y;

  x=0;
  y=0;
  
  while (__nondet_bool()) {
    x++;
    y++;
  }
  
  while (x > 0 || x < 0) {
    x--;
    y--;
  }
  
  assert (y >= 0 && y <= 0);

} 
Ejemplo n.º 5
0
int main() {
  NONDET_INT(l);
  NONDET_INT(n);
  int i,k;

  if (l<=0) return 0;

  k = 1;
  while (k<n){
    if(__nondet_bool()) {
      i = l;
      while (i<n) {
	assert(1<=i);
	i++;
      }
    }
    i = l;
    while (i<n) { i++; }
    k++;
  }

 }
Ejemplo n.º 6
0
int main ()
{
  int in;
  NONDET_INT(inlen);
  NONDET_INT(bufferlen);
  int buf;
  int buflim;

  if(bufferlen <= 1) return 0;
  if(inlen <= 0) return 0;
  if(bufferlen >= inlen) return 0;
  buf = 0;
  in = 0;
  buflim = bufferlen - 2;
  while (__nondet_bool())
  {
    if (buf == buflim)
      break;
    assert(0<=buf);
    assert(buf<bufferlen); 
    buf++;
    in++;
    assert(0<=in);//3
    assert(in<inlen);//4
  }

    assert(0<=buf);//5
    assert(buf<bufferlen);//5
  buf++;

  assert(0<=buf);//6
  assert(buf<bufferlen);

  buf++;

  return 0;
}
Ejemplo n.º 7
0
int main ()
{
  NONDET_INT(base_sz);
  int i;
  int j;
  int len;
  len = base_sz;

  if(base_sz <= 0) return 0;

  assert( 0 <= base_sz-1 );

  if (len == 0)
    return 0; 
  
  i = 0;
  j = 0;
  while (1) {
    if ( len == 0 ){ 
      return 0;
    } else {
      assert(0<= j); assert(j < base_sz);
      assert(0<= i); assert(i < base_sz );
      if (__nondet_bool()) {
        i++;
        j++;
        return 0;
      }
    }
    i++;
    j++;
    len--;
  }

  return 0;
}
Ejemplo n.º 8
0
Archivo: barbr.c Proyecto: alaarman/vvt
//This example is adapted from StInG
int main()
{
    int barber;
    int chair;
    int open;
    int p1;
    int p2;
    int p3;
    int p4;
    int p5;

    barber=0;
    chair=0;
    open=0;
    p1=0;
    p2=0;
    p3=0;
    p4=0;
    p5=0;

    while(__nondet_bool())
    {
        if (__nondet_bool())
        {
            if (!(p1 >= 0)) return 0;
            if (!(p1 <= 0)) return 0;
            if (!(barber >= 1)) return 0;
            barber = barber-1;
            chair = chair+1;
            p1 = 1;
        }
        else
        {
            if (__nondet_bool())
            {
                if (!(p2 >= 0)) return 0;
                if (!(p2 <= 0)) return 0;
                if (!(barber >= 1)) return 0;
                barber = barber-1;
                chair = chair+1;
                p2 = 1;
            }
            else
            {
                if (__nondet_bool())
                {
                    if (!(p2 >= 1)) return 0;
                    if (!(p2 <= 1)) return 0;
                    if (!(open >=1)) return 0;
                    open = open -1;
                    p2 = 0;
                }
                else
                {
                    if (__nondet_bool())
                    {
                        if (!(p3>=0)) return 0;
                        if (!(p3<=0)) return 0;
                        if (!(barber >=1)) return 0;
                        barber = barber-1;
                        chair = chair +1;
                        p3 =1;
                    }
                    else
                    {
                        if (__nondet_bool())
                        {
                            if (!(p3>=1)) return 0;
                            if (!(p3<=1)) return 0;
                            if (!(open >=1)) return 0;
                            open = open -1;
                            p3 =0;
                        }
                        else
                        {
                            if (__nondet_bool())
                            {
                                if (!(p4 >=0)) return 0;
                                if (!(p4 <=0)) return 0;
                                if (!(barber >=1)) return 0;
                                barber= barber-1;
                                chair = chair +1;
                                p4 = p4+1;
                            }
                            else
                            {
                                if (__nondet_bool())
                                {
                                    if (! (p4 >=1)) return 0;
                                    if (! (p4 <=1)) return 0;
                                    if (! (open >=1)) return 0;
                                    open = open - 1;
                                    p4=p4 -1;
                                }
                                else
                                {
                                    if (__nondet_bool())
                                    {
                                        if (! (p5>=0)) return 0;
                                        if (! (p5<=0)) return 0;
                                        barber=barber+1;
                                        p5=1;
                                    }
                                    else
                                    {
                                        if (__nondet_bool())
                                        {
                                            if (! (p5>=1)) return 0;
                                            if (! (p5<=1)) return 0;
                                            if (! (chair >=1)) return 0;
                                            chair= chair -1;
                                            p5=2;
                                        }
                                        else
                                        {
                                            if (__nondet_bool())
                                            {
                                                if (! (p5>=2)) return 0;
                                                if (! (p5<=2)) return 0;
                                                open=open +1;
                                                p5=3;
                                            }
                                            else
                                            {
                                                if (__nondet_bool())
                                                {
                                                    if (! (p5 >= 3)) return 0;
                                                    if (! (p5 <= 3)) return 0;
                                                    if (! (open == 0)) return 0;
                                                    p5=0;
                                                }
                                                else
                                                {
                                                    if (! (p1 >= 1)) return 0;
                                                    if (! (p1 <= 1)) return 0;
                                                    if (! (open >= 1)) return 0;
                                                    open = open-1;
                                                    p1 = 0;
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    assert (p5 >= open);
    assert (p1 <= 1);
    assert (p2 <= 1);
    assert (p3 <= 1);
    assert (p4 <= 1);
    assert (p5 <= 3);
    assert (p4 >= 0);
    assert (p3 >= 0);
    assert (p2 >= 0);
    assert (p1 >= 0);
    assert (open >= 0);
    assert (chair >= 0);
    assert (barber >= 0);
}
Ejemplo n.º 9
0
//This example is adapted from StinG
int main()
{
    NONDET_INT(i);
    int sa;
    int ea;
    int ma;
    int sb;
    int eb;
    int mb;

    if (! (i>=1)) return 0;
    sa=0;
    ea=0;
    ma=0;
    sb=0;
    eb=0;
    mb=0;

    while(__nondet_bool())
    {
        if (__nondet_bool())
        {
            if (! (eb >=1)) return 0;
            eb = eb -1;
            mb = mb +1;
        }
        else
        {
            if (__nondet_bool())
            {
                if (! (ea >=1)) return 0;
                ea = ea -1;
                ma = ma +1;
            }
            else
            {
                if (__nondet_bool())
                {
                    if (! (sa>=1)) return 0;
                    sa=sa-1;
                    i=i+sb+eb+mb;
                    sb=0;
                    eb=1;
                    mb=0;

                }
                else
                {
                    if (__nondet_bool())
                    {
                        if (! (sb>=1)) return 0;
                        i=i+sb+eb+mb;
                        sb=0;
                        eb=1;
                        mb=0;
                    }
                    else
                    {
                        if (__nondet_bool())
                        {

                            if (! (sb>=1)) return 0;
                            sb=sb-1;
                            i=i+sa+ea+ma;
                            sa=0;
                            ea=1;
                            ma=0;

                        }
                        else
                        {
                            if (__nondet_bool())
                            {
                                if (! (sa>=1)) return 0;
                                i=i+sa+ea+ma;
                                sa=0;
                                ea=1;
                                ma=0;
                            }
                            else
                            {
                                if (__nondet_bool())
                                {
                                    if (! (sa>=1)) return 0;
                                    sa=sa-1;
                                    sb=sb+eb+mb+1;
                                    eb=0;
                                    mb=0;
                                }
                                else
                                {
                                    if (__nondet_bool())
                                    {
                                        if (! (i>=1)) return 0;
                                        i=i-1;
                                        sb=sb+eb+mb+1;
                                        eb=0;
                                        mb=0;
                                    }
                                    else
                                    {
                                        if (__nondet_bool())
                                        {
                                            if (! (i >= 1)) return 0;
                                            i = i -1;
                                            sa = sa + ea + ma + 1;
                                            ea = 0;
                                            ma =0;
                                        }
                                        else
                                        {
                                            if (! (sb >= 1)) return 0;
                                            sb = sb-1;
                                            sa = ea+ma+1;
                                            ea = 0;
                                            ma = 0;

                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    assert (ea + ma <= 1);
    assert (eb + mb <= 1);
    assert (i >= 0);
    assert (sa >= 0);
    assert (ma  >= 0);
    assert (ea  >= 0);
    assert (sb >= 0);
    assert (mb  >= 0);
    assert (eb  >= 0);
    assert (i + sa + ea + ma + sb + eb + mb >= 1);
}