IEEE/ICACT20210212 Slide.16        [Big Slide]       Oral Presentation
This figure shows whether the integer overflow caused after the static analysis is true or false positive. Integer overflows are divided into true or false positives depending on the input range defined in the specification and both properties. However, all integer overflow generated by static analysis tools is eventually a true positive weakness. The small input range means no integer overflow due to the calculation of defined input values. An example of this is the requirement of Case 1. A large input range means that integer overflow can occur due to the calculation of defined input values. An example of this is the requirement of Case 2. An input range of MAX means that the calculation of defined input values will cause an integer overflow, but undefined input values will not cause it. An example of this is the requirement of Case 4. The code corresponding to the second column satisfies reliability because it does not cause integer overflow by defined input. However, an integer overflow occurs in terms of security. We confirmed through the static analysis result for binary search code implemented according to Cases 1 and 2 that an integer overflow occurs in the code implemented according to Case 1. The code corresponding to the third column causes an integer overflow in terms of reliability and security. We also confirmed this through the static analysis result for binary search code implemented according to Cases 1 and 2. The code corresponding to the fourth column has an integer overflow in terms of reliability. We confirmed through the static analysis result for binary search code implemented according to Case 4 that an integer overflow occurs in the code implemented according to Case 4.In this figure, there are true positives and false positives in each column. Since there is at least one true positive when each column is combined, we conclude that all integer overflow generated by static analysis tools is a weakness. As a result, developers and test engineers do not need to differentiate between true or false positives for integer overflow caused by static analysis tools.

[Go to Next Slide]
Select Voice: