순환 복잡도 / Cyclomatic Complexity순환 복잡도 / Cyclomatic Complexity

Posted at 2017. 4. 18. 15:55 | Posted in Study/SW Quality

순환 복잡도(CCCyclomatic Complexity)란 매케이브가 정의한 메트릭으로 원시 코드의 복잡도를 정량적으로 평가하는 방법이다. 즉 원시 코드가 얼마나 복잡한지를 알아보기 위한 것으로, 얼마나 많은 논리적인 경로를 가지고 있는지 계산한 값이다. 순환 복잡도는 다음과 같이 다양한 공식으로 계산할 수 있다. 따라서 순환 복잡도를 구하면 3개의 독립적인 경로의 수가 계산된다.

• CC=R의 수=3
• CC=E-N+2=9-8+2=3
• CC=P+1=2+1=3

[순환 복잡도 공식]
• CC=R의 수
• CC=E-N+2
• CC=P+1
- R(Region) : 화살표와 노드로 둘러싸인 구역, 외부 구역도 하나의 영역으로 간주함.
- E(Edge) : 화살표 수
- N(Node) : 노드 수
- P(Predicate) : 분기 노드 수

예제

위 프로그램 코드에 대한 순환 복잡도는? (정답 : 4)


참고자료

1. [네이버 지식백과] 구현 기반 테스트 (쉽게 배우는 소프트웨어 공학, 2015. 11. 30., 한빛아카데미(주))

http://terms.naver.com/entry.nhn?docId=3533035&cid=58528&categoryId=58528


2. 사이클로매틱 복잡도

http://cafe.naver.com/itlf/7169


3. 정보시스템 감리사 기출문제풀이

http://cafe.naver.com/itlf/4186

//