#vulnerable code 
                                @Test
    public void testFlowWithLoops() throws Exception {
        URI resource = getClass().getResource("/yaml/loops/simple_loop.sl").toURI();
        URI operation1 = getClass().getResource("/yaml/loops/print.sl").toURI();

        Set<SlangSource> path = Sets.newHashSet(SlangSource.fromFile(operation1));
        CompilationArtifact compilationArtifact = slang.compile(SlangSource.fromFile(resource), path);

        Map<String, Serializable> userInputs = new HashMap<>();
        Map<String, StepData> stepsData = triggerWithData(compilationArtifact, userInputs, EMPTY_SET).getTasks();
        StepData firstTask = stepsData.get(FIRST_STEP_PATH);
        StepData secondTask = stepsData.get(SECOND_STEP_KEY);
        StepData thirdTask = stepsData.get(THIRD_STEP_KEY);
        Assert.assertTrue(firstTask.getInputs().containsValue(1));
        Assert.assertTrue(secondTask.getInputs().containsValue(2));
        Assert.assertTrue(thirdTask.getInputs().containsValue(3));
    } 
                            #location 14 
                            #vulnerability type NULL_DEREFERENCE
#fixed code
                                @Test
    public void testFlowWithLoops() throws Exception {
        URI resource = getClass().getResource("/yaml/loops/simple_loop.sl").toURI();
        URI operation1 = getClass().getResource("/yaml/loops/print.sl").toURI();

        Set<SlangSource> path = Sets.newHashSet(SlangSource.fromFile(operation1));
        CompilationArtifact compilationArtifact = slang.compile(SlangSource.fromFile(resource), path);

        Map<String, Serializable> userInputs = new HashMap<>();
        Set<SystemProperty> systemProperties = new HashSet<>();
        systemProperties.add(
                SystemProperty.createSystemProperty("loop", "for.prop1", "for_value")
        );

        Map<String, StepData> stepsData = triggerWithData(compilationArtifact, userInputs, systemProperties).getTasks();

        StepData firstTask = stepsData.get(FIRST_STEP_PATH);
        StepData secondTask = stepsData.get(SECOND_STEP_KEY);
        StepData thirdTask = stepsData.get(THIRD_STEP_KEY);

        Map<String, Serializable> expectedInputs = new HashMap<>();
        expectedInputs.put("text", 1);
        expectedInputs.put("sp_arg", "for_value");
        Assert.assertEquals(expectedInputs, firstTask.getInputs());
        expectedInputs.put("text", 2);
        Assert.assertEquals(expectedInputs, secondTask.getInputs());
        expectedInputs.put("text", 3);
        Assert.assertEquals(expectedInputs, thirdTask.getInputs());
    }