Considere o seguinte método em Java:


     public Integer m(int i, Integer obj) {
        int s = 0;

        if (obj == null)
            return null;

        if (i % 2 == 1)
            i++;

        for(; i > 0; i--)
            s += obj.intValue();

        return s;
    }

  1. Desenho o grafo de controlo do método m.
  2. Identifique o conjunto mínimo de caminhos que atinge 100% de cobertura de instrução. Indique os valores de entrada necessários para seguir cada caminho indicado.
  3. Identifique o conjunto mínimo de caminhos que atinge 100% de cobertura de ramo. Indique os valores de entrada necessários para seguir cada caminho indicado.
  4. Identifique o conjunto mínimo de caminhos que atinge 100% de cobertura de caminho. Indique os valores de entrada necessários para seguir cada caminho indicado.