An Axiomatic Theory of Software Complexity Measure


cyclomatic complexity를 비판하는 내용은 아주 오랫 옛날부터 있어왔으나 한국의 어떤 도메인에서는 우상처럼 받들고 있는 도그마이기도..

 

Cyclomatic complexity에 대한 비판

 

이 논문에서 Cyclomatic complexity v(G)에 대한 3가지 문제점을 제시하였다.

1.v(G)는 program restructuring에는 비교적 민감하지 않다[4]

[4] A. I. Baker and S. H. Zweben, “A comparison of measures of control flow complexity”

2.v(G)는 LOC의 수에 매우 밀접하게 연관되어 있다[5]

[5] M.R Paige, “A metric for software test planning”

Lines of Code는 프로그램 코드의 길이로 코딩 노력의 가공되지 않은 기준이다. 그런데, LOC가 cyclomatic complexity와 밀접하게 연관되어 있다는 말의 의미는 cyclomatic complexity도 코드 길이가 길어지면 그에 비례하여 복잡하게 된다는 말의 의미로, 이것 역시 measure로서의 가치가 떨어진다는 의미가 된다.

3.v(G)는 program nesting level을 고려하지 않는다.

아래 그림에서 (a)와 (b)에 대한 v(G)는 같게 나온다면 이는 cyclomatic complexity에 문제가 있다는 의미이다.

cc5

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중