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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s