Custom Query (74 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (19 - 21 of 74)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Ticket Resolution Summary Owner Reporter
#64 fixed Distinguish between in and out parameters when checking whether parameters passed to a function are initialised phdmakk phdmakk
Description

There are calls to external functions, functions and altsteps where many parameters are defined as "out" parameters and also many functions using decvalue(A,B)

Refine "Uninitialised variables that are passed as parameters to called functions are not considered initialised" to distinguish between in and out parameters. In parameters shall be checked for initialisation, out parameters shall be updated as initialised.

#63 fixed Unify naming for checkNoUnitialisedVariables phdmakk
Description

The rule is printed on the output of the tool as "checkNoUninitialisedLocalDefinitions" but the Release Notes and other mentions to the rule are as "checkNoUninitialisedVariables".

#62 fixed Add support for the identification of uninitialised variables phdmakk phdmakk
Description

T3Q shall raise an error message whenever there is an operation involving an uninitialised variable, i.e. regardless of the type of the variable or the operation done over it. The feature shall be enabled/disabled using the xml configuration file. For example, given:

    function f_ConditionalSpec() {
        var integer v_s0;
        var integer v_s1;
        var integer v_s2 := 1;
        var integer v_s3;
        var integer v_s4;
        var integer v_s5;
        
        //v_s2 is initialised upon declaration -> no warning
        if (v_s2 == 1) {
            //v_s3 is not initialised -> warning
            //v_s0 initialised within the conditional after this statement
            v_s0 := v_s3 + 1; 

            //v_s1 is not initialised -> warning
            //v_s2 is initialised -> no warning
            //v_s3 initialised within the conditional after this statement
            v_s3 := v_s2 + 1 + v_s1; 

            //v_s3 is initialised above -> no warning
            //v_s4 initialised within the conditional after this statement
            v_s4 := v_s3 + 1; 
        } else {
            //v_s2 is initialised -> no warning
            //v_s4 initialised within the else branch after this statement
            v_s4 := v_s2 + 1; 
        }

        //v_s3 is only initialised within one of the possible paths -> warning
        //v_s4 is initialised within both possible paths (within all branches of the conditional above) -> no warning
        v_s5 := v_s3 + v_s4; 
    }

This feature requires data flow analysis.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Note: See TracQuery for help on using queries.