brunch

소프트웨어 아티팩트 근접성 기반 모듈화와 품질 측정

"Source Code Modularization" 요약

by 심야서점

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=183638155


※ Source Code Modularization이란 책을 챕터 별로 요약하겠습니다. 소프트웨어 모듈화에 대한 이해를 높이기 위해서 좋은 책입니다.


소프트웨어 시스템 모듈화는 아티팩트와 특징을 기반으로 구조를 추출하며, 다양한 유사성·거리를 측정해 아티팩트 간 근접성을 계산함.

아티팩트 표현은 이진 또는 비이진 특징 벡터로 하며, 유사성, 비유사성, 상관계수 등 여러 수학적 기준에 따라 근접성 측정.

유사성 측정법에는 자카드, Ellenberg, Gower, 코사인 유사도 등이 있으며, 비유사성 측정법에는 유클리드 거리, 맨해튼 거리, 체비셰프 거리, 민코프스키 거리 등이 포함됨.

모듈 간 근접성은 평균 기반, 최근접/최원/평균 이웃 거리 등 이웃 기반 방법으로 평가 가능하며, 계층적 모듈화에서 Lance–Williams 공식을 통해 모듈 병합 시 거리 계산.

모듈화 품질 지표로 BasicMQ와 TurboMQ가 제안되었으며, 결합도와 응집도를 독립적으로 측정하고 TurboMQ는 간선 가중치까지 고려해 빠르면서 신뢰성 높음.

정보 손실 측정은 모듈화 시 아티팩트 특징 정보가 얼마나 유지되는지 평가하며, 정보 이론(엔트로피, 상호 정보량, KL 발산, JS 발산)을 기반으로 정보 보존 정도를 정량화.

정보 손실 최소화를 통해 모듈화 품질을 높이고, 확률 분포 기반 거리·유사성 측정에서 데이터 정규화 과정이 필수임.


#소프트웨어모듈화 #아티팩트근접성 #유사성측정 #거리측정 #정보손실 #모듈화품질 #계층적모듈화 #코사인유사도 #L2거리 #TurboMQ #정보이론 #클러스터링

keyword
매거진의 이전글소프트웨어 모듈화: 이해, 기법, 그리고 도구