왜 동적 분석이 프로그램의 모든 실행 경로를 다루지 않는 이유는 무엇입니까?
-
23-12-2019 - |
문제
프로그램 분석 영역의 새로운 기능 이며이 분야에서 일부 자료를 읽은 후에는 해당 답변을 찾을 수없는 몇 가지 질문이 있습니다 ..
도구를 구현하면 : 기호 실행 + 구체적인 실행을 참조하십시오. 다트
동적 분석 기능을 유지하면서 모든 실행 경로를 커버해야합니다.
동적 분석이 모든 실행 경로를 다룰 수 없지만 기본적으로 왜?나는 다트 같은 기술이 지금 매우 성숙하다고 생각합니다 ...
다른 사람, 모델 검사와 마찬가지로 이론적으로 100 % 코드 커버리지를 보장합니다 ...
누구든지 도움이 될 수 있습니까?고맙습니다!
해결책
코드 조각을 통한 경로의 수는 'IF'문의 수에서 기하 급수적입니다.예를 들어, 다음과 같은 코드가있는 경우 :
if (a) {
// do something
}
if (b) {
// do something
}
...
if (z) {
// do something
}
.
다음은 26 부울 변수의 값에 따라 67108864 개의 코드 경로가 있습니다.
제휴하지 않습니다 StackOverflow