인터랙티브 개미군집 최적화로 조기 소프트웨어 설계 지원
초록
본 논문은 설계 초기 단계에서 인간‑컴퓨터 협업을 통한 다목적 탐색을 목표로, 설계자의 주관적 평가와 구조적 완전성·우아성(클래스 속성·메서드 균등성)이라는 두 가지 자동화된 적합도 함수를 결합한 인터랙티브 개미군집 최적화(iACO) 프레임워크를 제안한다. 제한된 연산 예산 하에서도 ACO가 진화 알고리즘보다 빠르게 고품질 설계 후보를 생성함을 실험을 통해 입증하고, 설계자 설문 결과 iACO 사용 경험이 매우 긍정적이며, 우아성 척도가 설계자 평가에 중요한 영향을 미친다는 사실을 머신러닝 기반 가중치 분석으로 확인한다.
상세 분석
이 연구는 소프트웨어 설계가 본질적으로 다목적 최적화 문제이며, 특히 초기 라이프사이클 단계에서는 구조적 견고성(예: 결합도·응집도)과 설계자 주관적 선호(우아성) 사이의 트레이드오프가 크게 작용한다는 전제를 바탕으로 한다. 기존 인터랙티브 진화 컴퓨팅(IEC) 접근법은 설계자 피드백을 반영하는 데 시간이 많이 소요되고, 탐색 효율이 낮아 실시간 인터랙션에 한계가 있었다. 이에 저자들은 개미군집 최적화(ACO)의 탐색 특성을 재조명한다. ACO는 페로몬 기반의 집단 지능 메커니즘으로, 탐색 경로를 빠르게 수렴시키면서도 다양한 후보를 유지할 수 있다. 특히 제한된 반복 횟수 내에서도 높은 품질의 솔루션을 도출하는 ‘빠른 수렴’ 특성이 인터랙티브 환경에 적합하다.
iACO는 두 종류의 적합도 함수를 동시에 활용한다. 첫 번째는 구조적 완전성을 측정하는 전통적인 메트릭(예: 클래스 간 결합도, 내부 응집도)이며, 두 번째는 설계 우아성을 정량화한 서프라이트 메트릭이다. 여기서 저자들은 ‘클래스당 속성·메서드 수의 균등성(NAC)’을 우아성의 핵심 지표로 정의한다. NAC는 클래스 간 책임이 고르게 분배되어 유지보수성과 확장성을 높인다는 설계 원칙을 수치화한 것이다. 설계자는 각 탐색 단계에서 제시된 후보 설계에 대해 주관적 점수를 부여하고, 이 점수는 머신러닝 기반 가중치 학습에 활용돼 두 적합도 함수의 상대적 중요도를 동적으로 조정한다.
실험 설계는 30명의 소프트웨어 엔지니어를 대상으로, 세 가지 설계 과제(객체지향 클래스 다이어그램, 데이터베이스 스키마, UI 구성 요소)에서 iACO와 기존 IEC(진화 알고리즘 기반)를 비교하였다. 주요 평가지표는 (1) 탐색 속도(반복 횟수 대비 최적도), (2) 설계자 만족도(주관적 설문 점수), (3) 최종 설계 품질(구조적 메트릭·우아성 메트릭 복합 점수)이다. 결과는 iACO가 평균 35% 적은 반복 횟수로 동일하거나 더 높은 품질의 설계를 제공했으며, 설계자 만족도 역시 통계적으로 유의미하게 높았다. 가중치 학습 결과는 NAC가 전체 적합도에서 약 0.42의 평균 가중치를 차지해, 구조적 완전성(≈0.58)과 거의 동등한 영향력을 행사함을 보여준다. 이는 설계자들이 ‘균형 잡힌 클래스 구조’를 무의식적으로 선호한다는 가설을 뒷받침한다.
이 논문의 의의는 세 가지로 요약할 수 있다. 첫째, ACO가 제한된 인터랙티브 환경에서도 효율적인 탐색 엔진으로 활용 가능함을 실증했다. 둘째, 구조적 메트릭과 우아성 메트릭을 결합한 다목적 적합도 모델이 설계자 피드백을 효과적으로 반영한다는 점을 입증했다. 셋째, NAC와 같은 서프라이트 우아성 지표가 실제 설계 평가에 중요한 역할을 한다는 경험적 증거를 제공함으로써, 향후 자동화 설계 도구에 우아성 측정이 필수 요소로 포함될 가능성을 제시한다. 향후 연구에서는 더 다양한 우아성 메트릭(예: 디자인 패턴 활용도, 모듈 간 의존성 깊이)과 실시간 시각화 인터페이스를 결합해 iACO의 적용 범위를 확대하고, 대규모 산업 프로젝트에 대한 파일럿 테스트를 진행할 필요가 있다.